From 26714bd964bca213ef60ae50c8195f971b932f1b Mon Sep 17 00:00:00 2001 From: Schalli Date: Thu, 17 Sep 2026 10:48:42 +0200 Subject: [PATCH] =?UTF-8?q?docs(quick-260917-eta):=20Plan=20=E2=80=94=20Id?= =?UTF-8?q?empotenz-Hinweise,=20Fix=20und=20CHANGELOG=20liegen=20bereits?= =?UTF-8?q?=20als=2068a69c6/9ba7456=20vor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) --- .../260917-eta-PLAN.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.planning/quick/260917-eta-desktop-client-tray-eintrag-beenden-been/260917-eta-PLAN.md b/.planning/quick/260917-eta-desktop-client-tray-eintrag-beenden-been/260917-eta-PLAN.md index 7372c35..15b630e 100644 --- a/.planning/quick/260917-eta-desktop-client-tray-eintrag-beenden-been/260917-eta-PLAN.md +++ b/.planning/quick/260917-eta-desktop-client-tray-eintrag-beenden-been/260917-eta-PLAN.md @@ -70,7 +70,7 @@ Output: Geaenderte `lib.rs` (check/clippy gruen, 0 Warnungen), zwei CHANGELOG-St Die Befunde sind verifiziert — nichts untersuchen, nur die drei Stellen aendern. Keine neuen `use`-Zeilen noetig (`RunEvent` ist bereits importiert, `unminimize` ist eine Methode von `WebviewWindow`). - Vorab `git status --porcelain apps/desktop/src-tauri/src/lib.rs` pruefen: Zum Planungszeitpunkt lag genau diese Aenderung bereits UNCOMMITTET im Arbeitsbaum (` M`, Diff gegen `280aab6`: `code: None`-Muster mit fuenfzeiligem Kommentar im Run-Handler, `let _ = w.unminimize();` in beiden Handlern, einzeiliger Kommentar ueber der Zeile im „open“-Handler) — das Gate lief damit bereits auf `RUST-OK`. Ist das noch so, die Schritte 1-3 NICHT erneut anwenden (sonst doppelte Zeilen), sondern den Diff gegen die Schritte 1-3 gegenlesen, das Gate laufen lassen und committen. Ist der Arbeitsbaum sauber, die Schritte 1-3 ausfuehren. + IDEMPOTENZ ZUERST: `grep -n 'code: None' apps/desktop/src-tauri/src/lib.rs` ausfuehren. Liefert das einen Treffer, liegt der Fix bereits vor — zum Zeitpunkt der Planfreigabe war er schon als Commit `68a69c6` (`fix(desktop): Tray „Beenden“ …`) im Log, entstanden parallel zur Planung. Dann die Schritte 1-3 NICHT erneut anwenden (sonst doppelte Zeilen), sondern nur den Stand gegen die Schritte 1-3 gegenlesen, das Gate laufen lassen und KEINEN neuen Commit erzeugen (`git log --oneline -3 -- apps/desktop/src-tauri/src/lib.rs` zeigt den vorhandenen). Nur wenn `grep` keinen Treffer liefert, die Schritte 1-3 ausfuehren und wie unten committen. 1. Run-Handler (Z. 241-245): Das `if let`-Muster von `RunEvent::ExitRequested { api, .. }` auf `RunEvent::ExitRequested { code: None, api, .. }` aendern; der Rumpf bleibt `api.prevent_exit();`. Damit greift der Schutz nur noch, wenn der Exit durch Nutzer-Interaktion angefordert wird (letztes Fenster geschlossen, `code` ist `None`), waehrend ein programmatischer `app.exit(0)` aus dem Tray-Handler „quit“ (`code: Some(0)`) durchlaeuft. Bewusst als Muster `code: None` statt eines verschachtelten `if code.is_none()` — kuerzer, kein zweites Einrueckungsniveau, clippy-sauber. Direkt ueber dem `if let` einen deutschen Kommentar (Stil wie im Bestand, zwei bis vier Zeilen) ergaenzen, der erklaert: Fenster schliessen → `code` `None` → App laeuft im Infobereich weiter; Tray-Eintrag „Beenden“ ruft `app.exit(0)` → `code` `Some` → muss durchgelassen werden, sonst bleibt der Prozess samt Tray-Symbol stehen (Tauri 2.11.3, `app.rs` `RunEvent::ExitRequested`). Der Kommentar wiederholt die Aufruf-Syntax `api.prevent_exit()` nicht woertlich (das Gate zaehlt diese Zeichenkette genau einmal). @@ -97,7 +97,9 @@ Output: Geaenderte `lib.rs` (check/clippy gruen, 0 Warnungen), zwei CHANGELOG-St - CHANGELOG.md Z. 5-29 (`## Unveröffentlicht` mit den Rubriken Neu / Geändert / Entfernt / Behoben; Stil der Stichpunkte: „Bereich: kurzer Satz“, kein Punkt am Ende, echte Umlaute, typografische Anfuehrungszeichen „…“; Z. 28 ist der letzte Behoben-Stichpunkt zum Desktop-Symbol) - In CHANGELOG.md im Abschnitt `## Unveröffentlicht`, Rubrik `### Behoben` (derzeit vier Stichpunkte, Z. 25-28), direkt nach der Zeile `- Desktop-App: Symbol zeigte eine „1“ statt des Tessera-T – die gedrehte gelbe Kachel fehlte` genau diese zwei Zeilen in dieser Reihenfolge einfuegen: + IDEMPOTENZ ZUERST: `grep -n 'Infobereich-Menü' CHANGELOG.md` ausfuehren. Liefert das zwei Treffer, sind die Stichpunkte bereits da — zum Zeitpunkt der Planfreigabe schon als Commit `9ba7456` (`docs: CHANGELOG – Tray …`) im Log, entstanden parallel zur Planung. Dann nichts einfuegen, nur das Gate laufen lassen und KEINEN neuen Commit erzeugen. Nur bei null Treffern wie folgt vorgehen: + + In CHANGELOG.md im Abschnitt `## Unveröffentlicht`, Rubrik `### Behoben` (vor dem Fix vier Stichpunkte, Z. 25-28), direkt nach der Zeile `- Desktop-App: Symbol zeigte eine „1“ statt des Tessera-T – die gedrehte gelbe Kachel fehlte` genau diese zwei Zeilen in dieser Reihenfolge einfuegen: `- Desktop-App: „Beenden“ im Infobereich-Menü beendete die App nicht` `- Desktop-App: „Öffnen“ im Infobereich-Menü und Klick auf das Symbol holten ein minimiertes Fenster nicht zurück`