Bug-Fix-Workflow
Du behebst einen Bug in der Speicher Analyse Tauri-App. Das Problem liegt IMMER im Quellcode.
Argument
$ARGUMENTS = Bug-Beschreibung ODER Verweis auf ein Issue in docs/issues/issue.md
Phase 1: Issue & Kontext erfassen
- •Issue-Tracker prüfen: Lies
docs/issues/issue.md— gibt es ein passendes offenes Issue? - •Git-Historie prüfen:
git log --oneline -10undgit difffür Kontext - •Betroffene Module identifizieren: Welche Dateien sind involviert?
Phase 2: Tiefenanalyse (OBERSTE DIREKTIVE)
Verfolge den vollständigen Datenfluss durch alle Schichten:
code
Frontend (renderer/js/*.js)
→ window.api.*() Aufruf
→ Bridge (renderer/js/tauri-bridge.js) - Methode korrekt gemappt?
→ Tauri-Command (src-tauri/src/commands.rs) - Command korrekt?
→ PowerShell (src-tauri/src/ps.rs) - Script korrekt?
→ Rückweg: JSON → commands.rs → Bridge → Frontend → DOM
Prüfe zusätzlich:
- •CSS-Regeln die das Problem verursachen könnten (
renderer/css/style.css) - •Event-Handler und DOM-State im Frontend
- •Timer/Intervalle die nicht aufgeräumt werden
- •PowerShell-Escaping und UTF-8-Encoding
Phase 3: Fix implementieren
- •Minimaler Fix: Nur die Wurzelursache beheben, kein Refactoring
- •Security beachten:
- •PowerShell-Parameter escapen:
.replace("'", "''") - •Pfade vom Frontend validieren
- •Fehlermeldungen sicher anzeigen:
textContent, nichtinnerHTML - •Dynamische Inhalte mit
escapeHtml()escapen
- •PowerShell-Parameter escapen:
- •Konventionen einhalten:
- •Async/Await (kein blockierender Code)
- •Error-Handling mit try/catch
- •Deutsche UI-Texte mit korrekten Umlauten
- •PowerShell via
crate::ps::run_ps()
- •Lifecycle beachten:
- •Timer in
destroy()aufräumen - •
_loadedFlags bei Fehler zurücksetzen
- •Timer in
- •Keine Zwischenlösungen: Der Fix muss ohne User-Aktion wirken (kein "Bitte F5 drücken")
Phase 4: Verifizierung
- •Datenfluss nochmal durchgehen: Stimmt der Pfad jetzt?
- •Seiteneffekte prüfen: Könnte der Fix andere Features beeinträchtigen?
- •Edge Cases bedenken: Leere Daten, Fehler, Timeouts
- •Visuell prüfen:
/visual-verifybei UI-Änderungen (PFLICHT)
Phase 5: Dokumentation
- •Git Commit:
git add . && git commit -m "fix: <Beschreibung>" && git push - •Änderungsprotokoll:
/changelog fix <Beschreibung> - •Issue aktualisieren: Status in
docs/issues/issue.mdauf "In Prüfung" setzen (NICHT auf erledigt — nur Simon darf das)
Ausgabeformat
markdown
## Bug-Fix: [Titel] ### Symptom Was der User sieht/erlebt ### Wurzelursache Die ECHTE Ursache im Code (mit Datei:Zeile) ### Fix Was geändert wurde (mit Datei:Zeile) ### Geänderte Dateien - datei.rs:123 - Beschreibung der Änderung ### Risiko-Bewertung Welche anderen Features könnten betroffen sein
Verbotene Aussagen
- •"Bitte F5 drücken" / "Bitte die App neu starten"
- •"Bei mir funktioniert es" / "Der Code sieht korrekt aus"
- •"Das sollte jetzt funktionieren" (ohne Beweis)