Files
tessera-ctl/.planning/quick/261001-cxo-desktop-client-links-mit-target-blank-oe/261001-cxo-SUMMARY.md
T
schalli 5919a55cbf
Tessera CI/CD / Lint & Type Check (push) Successful in 53s
Tessera CI/CD / Tests (push) Successful in 1m33s
Tessera CI/CD / Desktop-Pakete bauen (push) Successful in 19s
Tessera CI/CD / Build & Publish Images (push) Successful in 3m13s
fix(desktop): Link-Klicks vor dem Opener-Skript des Clients abfangen
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>
2026-10-01 10:20:42 +02:00

1.5 KiB
Raw Blame History

quick_id, status, date, commit
quick_id status date commit
261001-cxo complete 2026-10-01 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“.