- VERIFY.md: Regressions-Checkliste mit 30 Prüfpunkten - Fix: attachSignature: false beim Signatur-Update (deaktiviert alte Datei-Signatur) - Fix: Sig-Hashes werden beim Init + Background-Sync geschrieben (kein grau mehr) - Fix: Scope-Badge Vergleich über normalisierte Scopes (folderToScope) - Fix: storage.onChanged refreshed auch Signaturen-Indicator
49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# Verifizierungs-Checkliste
|
|
|
|
Nach Thunderbird-Updates, Plugin-Änderungen oder Deployments diese Punkte prüfen.
|
|
|
|
## Vorlagen — Sync & Anzeige
|
|
- [ ] Pull überschreibt lokale Vorlagen nicht (Merge statt Replace) — importierte Vorlagen dürfen nach Sync nicht verschwinden
|
|
- [ ] Vorlagen mit Leerzeichen im Titel werden korrekt erstellt, gesynct und angezeigt (kein Duplikat)
|
|
- [ ] Scope-Badge (Persönlich/Abteilung/Alle) zeigt den richtigen Wert — Abteilungsvorlagen dürfen nicht als "Privat" erscheinen
|
|
- [ ] Scope-Badge umschalten funktioniert (Warnung bei Downgrade, altes File wird gelöscht, neues wird gepusht)
|
|
- [ ] Sync-Dots sind grün nach Pull (nicht grau/unknown) — Hashes müssen korrekt geschrieben werden
|
|
- [ ] Background SHA-Check alle 5s läuft, voller Pull nur bei Änderung
|
|
- [ ] UI refreshed automatisch wenn Background-Sync neue Templates pullt
|
|
|
|
## Signaturen
|
|
- [ ] Signaturen-Tab lädt beim Öffnen automatisch die erste Identität + deren Signatur
|
|
- [ ] Kein "Bitte wählen" Placeholder im Identity-Dropdown
|
|
- [ ] Signatur-Sync-Status ist grün beim Öffnen (nicht grau)
|
|
- [ ] `attachSignature: false` wird gesetzt — alte Datei-basierte Signaturen werden deaktiviert
|
|
- [ ] Footer (Banner) lädt korrekt als eingebettete data-URI, nicht als Datei-Referenz
|
|
- [ ] Signatur-Quelle "= andere E-Mail" funktioniert (Kopie von anderer Identität)
|
|
|
|
## Settings / Verbindung
|
|
- [ ] E-Mail ist ein Dropdown mit TB-Identitäten (kein Freitext)
|
|
- [ ] Token-Feld hat Show/Hide Toggle
|
|
- [ ] `defaults.local.json` wird beim ersten Start geladen (wenn in XPI vorhanden)
|
|
- [ ] Ohne `defaults.local.json` funktioniert Plugin normal (manuell konfigurieren)
|
|
- [ ] Auto-Detection via `_config/abteilungen.json` erkennt Abteilung + E-Mail
|
|
- [ ] Abteilungsname wird im Scope-Badge und Editor-Dropdown angezeigt (nicht generisch "Abteilung")
|
|
|
|
## Popup (Compose-Fenster)
|
|
- [ ] Vorlagen-Popup öffnet, zeigt alle Vorlagen
|
|
- [ ] Template-Insertion funktioniert (HTML wird korrekt eingefügt)
|
|
- [ ] Prefix-Dropdown ("Textbaustein voranstellen") funktioniert
|
|
|
|
## UX-Elemente
|
|
- [ ] Toast-Benachrichtigungen erscheinen bei Sync/Push/Pull/Fehler
|
|
- [ ] Spinner bei Sync-Operationen sichtbar
|
|
- [ ] Custom Delete-Modal statt browser confirm()
|
|
- [ ] Offline-Banner erscheint bei fehlender Verbindung
|
|
- [ ] Collapsible-Sections sind visuell klickbar (Hintergrund + Hover)
|
|
- [ ] Template-Name Inline-Validierung (leer + Duplikat)
|
|
- [ ] Checkbox-Klick auf Template-Name toggelt Checkbox
|
|
|
|
## API / Gitea
|
|
- [ ] `toFilename()` behält Leerzeichen und Groß-/Kleinschreibung
|
|
- [ ] `_benutzer/`, `_config/` werden aus Department-Liste gefiltert
|
|
- [ ] Persönliche Vorlagen syncen in `_benutzer/{email}/`
|
|
- [ ] `checkRemoteShas()` inkludiert persönlichen Ordner
|