5919a55cbf
Die erste Fassung lauschte auf window und lief damit nach dem von tauri-plugin-opener eingeschleusten Link-Skript. Dieses ruft bei target=_blank preventDefault und plugin:opener|open_url auf, was von der Server-Seite aus nicht freigegeben ist - der Klick verpuffte weiter (auf VM 8233 per Klick-Protokoll gemessen). Der Helfer lauscht jetzt auf document: nach Reacts Handlern, vor dem Opener-Skript. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
20 lines
1.5 KiB
Markdown
20 lines
1.5 KiB
Markdown
---
|
||
quick_id: 261001-cxo
|
||
status: complete
|
||
date: 2026-10-01
|
||
commit: 61a971c
|
||
---
|
||
|
||
# Summary: Desktop-Client – Links mit target=_blank
|
||
|
||
- Nachgestellt auf VM 8233 (Client 1.9.0, alpha): Favorit-Klick ohne Wirkung, Such-Widget (`window.open`) oeffnet Edge.
|
||
- Neu `DesktopExternalLinks` (apps/web/src/components/desktop/desktop-external-links.tsx), in `app/layout.tsx` eingehaengt: im Client Links-/Mittelklick auf `a[target=_blank]` mit http/https -> `window.open(href,'_blank','noopener,noreferrer')`; verhinderte Klicks bleiben verhindert.
|
||
- 4 Tests (desktop-external-links.test.tsx), tsc + biome sauber. CHANGELOG „Unveröffentlicht → Behoben“.
|
||
- Reine Web-Aenderung: kein neuer Client noetig, wirkt nach Pull des web-Images.
|
||
- Offen: Nachweis auf VM nach alpha-Pull (User).
|
||
|
||
## Nachtrag (gleicher Tag): erste Fassung wirkte nicht
|
||
- Nach alpha-Pull weiter ohne Wirkung. Diagnose per temporaerem Klick-Protokoll (lokaler Stack, VM-Client per portproxy auf localhost:3000): `preventDefault` kam aus `<anonymous>:1:442` = Link-Skript von tauri-plugin-opener (init-iife.js, Listener auf `window`): faengt `target=_blank`-Klicks ab und ruft `plugin:opener|open_url` – von der Server-Seite nicht freigegeben, Klick verpufft. Unser Listener auf `window` lief danach und sah den Klick als verhindert.
|
||
- Fix: Listener auf `document` (Bubble) – nach React (Wurzel document), vor dem Opener-Skript. Auf VM nachgewiesen: Favorit oeffnet Edge, im Bearbeiten-Modus nichts (React-onClick verhindert).
|
||
- Commit siehe git log; Test „kommt dem Link-Skript des Clients auf window zuvor“.
|