Fix mailbox UI sorting and target layout
This commit is contained in:
parent
8e8c651eaa
commit
e63a513cff
6 changed files with 196 additions and 46 deletions
88
ui-fixes-brief.md
Normal file
88
ui-fixes-brief.md
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
# Codex-Brief — UI-Fixes (aus der Sichtprüfung nach dem Rettungslauf)
|
||||
|
||||
Vier Befunde aus dem echten Betrieb mit den migrierten dr-gold-Postfaechern.
|
||||
|
||||
---
|
||||
|
||||
## 1. 🔴 Nachrichtenliste nach DATUM sortieren (neueste zuerst)
|
||||
|
||||
**Befund:** Im Ziel-Postfach purzeln die Daten durcheinander:
|
||||
`13 Jul 2026`, `14 Jul 2026`, `13 Jul 2026`, `29 Jan 2020`, `24 Jan 2020`, …
|
||||
|
||||
**Ursache — und die ist wichtig zu verstehen:** Die Liste sortiert nach
|
||||
**UID / Sequenznummer** (= Ankunftsreihenfolge). `fetchHeaders` holt das Fenster
|
||||
`start..stop` aus `NumMessages` und dreht es mit `reverseHeaders` um.
|
||||
|
||||
Bei einem normal gewachsenen Postfach ist Ankunftsreihenfolge ≈ Datum. Bei einem
|
||||
**migrierten** Postfach **nicht**: Wir haben per `APPEND` eingespielt und dabei
|
||||
das **Original-`INTERNALDATE` erhalten** — die Reihenfolge des Einspielens hat
|
||||
also nichts mehr mit dem Datum der Mail zu tun. Genau das sieht der Nutzer.
|
||||
|
||||
**Fix:**
|
||||
- **Nach Datum sortieren, neueste zuerst.** Schluessel: `Envelope.Date`, und wenn
|
||||
leer, `InternalDate` (die Logik in `messageHeaderFromFetch` gibt es schon).
|
||||
- Das Fenster (200) muss die **neuesten 200 nach Datum** sein, nicht die
|
||||
hoechsten 200 UIDs. Zwei Wege:
|
||||
1. **IMAP `SORT` (RFC 5256)**, wenn der Server es kann:
|
||||
`UID SORT (REVERSE DATE) UTF-8 ALL` → sortierte UID-Liste, davon die ersten
|
||||
200 holen. Sauber und serverseitig.
|
||||
2. **Fallback:** `AllHeaders(folder)` (existiert schon fuers Dedup, holt nur
|
||||
Envelopes, keine Bodies), clientseitig nach Datum sortieren, dann Fenster
|
||||
schneiden.
|
||||
- **Archiv-Listen (mbox) genauso:** aus `mbox_index` nach Datum sortiert lesen
|
||||
(`ORDER BY date DESC`), nicht in Dateireihenfolge.
|
||||
- Schoen waere: Klick auf die Spalte dreht die Sortierung um (Datum auf/ab).
|
||||
|
||||
---
|
||||
|
||||
## 2. 🟠 Ziel-Postfach: Liste und Vorschau sind vertauscht
|
||||
|
||||
**Ist:** `[ Nachrichten-Liste | Vorschau | Ordnerbaum ]`
|
||||
**Soll:** `[ Vorschau | Nachrichten-Liste | Ordnerbaum ]`
|
||||
|
||||
Der Ordnerbaum steht bereits richtig rechts (spiegelbildlich zur Quell-Ansicht,
|
||||
wo er links steht). Nur **Liste und Vorschau muessen die Plaetze tauschen** —
|
||||
dann stehen sich Quelle und Ziel sauber gegenueber:
|
||||
|
||||
```
|
||||
QUELLE: [ Ordnerbaum | Liste | Vorschau ]
|
||||
ZIEL: [ Vorschau | Liste | Ordnerbaum ] <- gespiegelt
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 🟡 Falscher Platzhaltertext in der Vorschau
|
||||
|
||||
Die Vorschau zeigt **„Backup-Postfach links waehlen."**, obwohl links laengst
|
||||
eines gewaehlt ist und 678 Mails gelistet werden. Der Text gehoert nur in den
|
||||
Zustand „noch keine Mailbox gewaehlt".
|
||||
|
||||
**Fix:** Ist eine Mailbox + Ordner gewaehlt, aber keine Nachricht →
|
||||
**„Nachricht waehlen."**
|
||||
|
||||
---
|
||||
|
||||
## 4. 🟡 Ordnernamen im Archiv-Baum sind inkonsistent
|
||||
|
||||
Im Baum steht **„Posteingang" (678)** direkt neben **„INBOX.Gesendet" (2)** —
|
||||
einmal uebersetzt, einmal der rohe Quell-Ordnername.
|
||||
|
||||
Die mbox-Dateien heissen nach dem **Quell**-Ordner (`INBOX.mbox`,
|
||||
`INBOX.Gesendet.mbox`). Die Anzeige uebersetzt offenbar nur `INBOX` →
|
||||
„Posteingang" und laesst den Rest roh.
|
||||
|
||||
**Fix:** Einheitlich. Am besten die **Rollen-Erkennung aus `11-folders.go`**
|
||||
wiederverwenden: `INBOX`→Posteingang, `*.Gesendet`/`*.Sent`→Gesendet,
|
||||
`*.Drafts`/`*.Entwuerfe`→Entwuerfe, `*.Trash`→Papierkorb usw., und den
|
||||
Quell-Praefix (`INBOX.`) abschneiden. Sonst konsequent **gar nicht** uebersetzen
|
||||
und ueberall den Quellnamen zeigen — Hauptsache, es ist nicht gemischt.
|
||||
|
||||
---
|
||||
|
||||
## Abnahme
|
||||
1. Ziel-Postfach `admin@archiv.dr-gold.com` oeffnen → Liste steht **nach Datum,
|
||||
neueste oben** (nicht mehr 2026/2020/2019 durcheinander).
|
||||
2. Archiv `colak@dr-gold.de` → ebenfalls nach Datum, neueste oben.
|
||||
3. Ziel-Ansicht ist gespiegelt: Vorschau links, Liste mittig, Baum rechts.
|
||||
4. Vorschau-Platzhalter sagt „Nachricht waehlen.", sobald ein Ordner gewaehlt ist.
|
||||
5. Baum zeigt einheitliche Ordnernamen.
|
||||
Loading…
Add table
Add a link
Reference in a new issue