feat(ui): Rückmeldung zu Ende verdrahtet – und zwei Lügen entfernt

Die Meldungen sprachen bisher nur im Dateibrowser. Papierkorb, Freigabe-Links,
„Für mich freigegeben", Profil, Theming, Audit und die Nutzerliste schwiegen
weiter – und das war schlechter als vorher: Wer gelernt hat, dass Aether
Bescheid gibt, hält Schweigen für Erfolg.

Nicht blind verdrahtet. Sechs Stellen bleiben absichtlich still, samt Grund in
TESTING.md: die Suche (bricht bei jedem Anschlag die vorige ab), das Kopieren
der Prüfsumme (ohne HTTPS gibt es keine Zwischenablage, der Wert steht ja da),
die Theming-Vorgaben, die Absender-Vorschläge, die OCR-Abfrage im Hintergrund
und useAuth. Wo ein Dialog seinen Fehler bei sich anzeigt, bleibt es dabei –
dort gehört er hin, nicht an den Bildschirmrand.

Dabei zwei Fälle gefunden, die schlimmer sind als Schweigen:

**ProfilePage meldete „gespeichert", wenn das Speichern fehlgeschlagen war.**
`updateProfile(...).catch(() => {})`, danach ungeprüft das Häkchen.

**TagEditDialog riet die Ursache:** Jeder Fehler meldete „That name is already
taken" – auch ein Netzausfall, auch ein 500er. Jetzt steht dort der Satz des
Servers. Im TagDialog war genau das schon einmal aufgefallen und behoben
worden; hier stand es noch.

Dazu zwei Aufrufe ganz ohne Absicherung: das Wiederherstellen aus dem
Papierkorb und das Löschen eines Freigabe-Links. Und das Kopieren eines
Links scheiterte ohne HTTPS stumm – der Knopf tat schlicht nichts.

Eigener Fehler nebenbei behoben: Ich hatte deutsche Anführungszeichen in
englische Meldungen gesetzt.

Geprüft: tsc sauber, 41 Vitest-Tests, alle 234 Prüfungen der sieben
Selbsttest-Suiten grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
marcandClaude Opus 5 committed 2026-09-19 20:59:46 +02:00
1 parent 16258640ad
commit 8586664fae
10 files changed
+133 -35

No files matched your search

+37
View File
@@ -1487,6 +1487,43 @@ klappte – nichts.
- [ ] Fünfte Meldung verdrängt die erste (höchstens vier stehen)
- [ ] Betriebssystem auf „Bewegung reduzieren" → keine Einblendung
### Wo es weiterhin still bleibt – und warum
Nicht jeder verschluckte Fehler ist einer. Diese bleiben absichtlich stumm,
damit niemand sie später "nachrüstet":
| Stelle | Grund |
|---|---|
| `SearchBox` | Bricht bei jedem Tastendruck die vorige Suche ab. Eine Meldung je Anschlag wäre nur im Weg. |
| `FileInfoDialog` (Prüfsumme kopieren) | Ohne HTTPS gibt es keine Zwischenablage – der Wert steht vollständig da und lässt sich markieren. |
| `useAppSettings` | Erreichbarkeit des Servers ist nicht Sache des Themings; die Vorgaben bleiben stehen. |
| `TagDialog` (Absender-Vorschläge) | Ohne Vorschläge kann man trotzdem tippen. |
| `ProfilePage` (OCR-Stand) | Hintergrundabfrage im Sekundentakt. |
| `useAuth` | Kein Konto = abgemeldet, das ist die Antwort und kein Fehler. |
Wo ein Dialog seinen Fehler **bei sich** anzeigt (ShareWithDialog, ThemingTab
beim Hochladen, TagDialog, CalendarPage, OfficeEditor, FilePreview), bleibt es
dabei: Dort gehört die Meldung hin, nicht an den unteren Bildschirmrand.
### Zwei Fehler, die schlimmer waren als Schweigen
**ProfilePage meldete "gespeichert", wenn das Speichern fehlgeschlagen war.**
`updateProfile(...).catch(() => {})`, danach ungeprüft das Häkchen. Das ist die
übelste Sorte: Sie behauptet das Gegenteil dessen, was geschehen ist.
**TagEditDialog riet die Ursache.** Jeder Fehler meldete "That name is already
taken" – auch ein Netzausfall, auch ein 500er. Jetzt steht dort der Satz des
Servers. Im TagDialog war genau das schon einmal aufgefallen und behoben
worden; hier stand es noch.
- [ ] Netz trennen, Profilnamen speichern -> rote Meldung, **kein** Häkchen
- [ ] Netz trennen, Etikett umbenennen -> "No connection to the server.",
nicht "That name is already taken"
- [ ] Papierkorb: Wiederherstellen und Leeren melden sich
- [ ] Freigabe-Link kopieren ohne HTTPS -> Hinweis auf HTTPS statt gar nichts
- [ ] Freigabe-Link löschen -> Meldung, **kein** Rückgängig (ein neuer Link
bekäme ein neues Token; der alte bliebe tot)
## Der Zurück-Fehler und was der Test **nicht** kann (16.–18.09.2026)
Auf „Edit" in der PDF-Ansicht schloss sich die Datei, statt den Editor zu