87b29b5912
Review-Protokoll in PROGRESS.md nachgeholt (die Vorsession hattef9979e4und891f348gepusht, wurde aber vor dem Protokollieren abgebrochen) und den Review zu Ende geführt: (a) Splits unabhängig per Zeilen-Multiset verifiziert, (b) Soft-Logout-Guard gegen SDK-Quelle gegenverifiziert, (c) Lint-Fixes äquivalent (onReorderItem gegen Flutter-SDK geprüft), (d) ROADMAP-Haken stimmen mit dem Code überein. Nebenbefund: docs/ PROGRESS.md als Archiv markiert (Verwechslungsgefahr mit dem echten Protokoll im Root). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
46 lines
3.5 KiB
Markdown
46 lines
3.5 KiB
Markdown
# Pyramid – Fortschritt & offene Punkte (ARCHIV, Stand 2026-06-04)
|
||
|
||
> **ACHTUNG:** Dies ist ein eingefrorener Alt-Stand von vor der neuen
|
||
> Arbeitsstruktur. Das aktuelle Arbeitsprotokoll liegt im Projekt-Root:
|
||
> `PROGRESS.md`. Diese Datei nur als historische Referenz lesen, nie pflegen.
|
||
|
||
## Erledigt
|
||
|
||
### Chat / UI
|
||
- **Reply-Zitat-Karte** im Discord/WhatsApp-Stil (kein „In reply to @user" mehr), medien-bewusste Vorschau, getönter Hintergrund bündig mit Akzent-Strich.
|
||
- **Per-Message-Selektion & -Hover** — einzelne Nachrichten statt ganzer Sender-Gruppen werden markiert/hervorgehoben.
|
||
- **Scroll-Stabilität** — Crash durch doppelte Keys behoben, Pagination (kein endloses „Zurückziehen", lädt aber bis zum echten Anfang), Bild-/PDF-Platz wird vorab reserviert (kein Springen beim Laden).
|
||
- **„Neue Nachrichten"-Divider** — korrekte Position, scrollt zuverlässig hin, blendet beim Erreichen des Endes aus; erscheint nur bei echten ungelesenen Nachrichten von anderen.
|
||
- **Composer-Höhe** bündig mit dem Profil-Block; **Verbindungs-Statusbanner** bei Sync-Verlust; **fehlgeschlagene Nachrichten** bleiben mit „Wiederholen/Löschen" stehen statt zu verschwinden.
|
||
- **„Zuletzt online"** nutzt echten Presence-Status + Frische statt `currentlyActive` (kein falsches „online" mehr).
|
||
- **Members-Panel** mobil schließbar + schmaler.
|
||
|
||
### Medien & Dokumente
|
||
- **Media-Cache** (LRU, byte-budgetiert, geteilt) — zuletzt betrachtete Medien sofort da, ältere automatisch verworfen.
|
||
- **Datei-Vorschau** — höhere Auflösung (PNG statt JPEG), viele neue Text/Code/Daten-Formate, **immersiver Fullscreen-Viewer** (Pan, +/− 20%-Zoom, Ctrl+Mausrad, Seiten-Navigation, mobil-optimiert, Tap blendet UI aus).
|
||
- **Eingebettete Link-Vorschauen** (Open-Graph-Karten) — serverseitig in Continuwuity aktiviert + Client-Karte.
|
||
|
||
### Suche
|
||
- **Lokale Suche** über entschlüsselte Events (server-seitige `/search` funktioniert nicht für E2EE) — Nachrichten, Medien (mit **Thumbnail**), Personen/Räume.
|
||
- **Sprung zur Nachricht** aus dem Suchergebnis inkl. Cross-Chat, mit sanft ausblendendem Highlight.
|
||
|
||
### Benachrichtigungen (Android)
|
||
- Bei **gekillter App**: Hintergrund-Entschlüsselung (decrypt-first) + **verschlüsseltes Antworten** ohne App-Öffnen. Details siehe [NOTIFICATIONS.md](NOTIFICATIONS.md).
|
||
|
||
### Einstellungen
|
||
- **Mobile Settings** im Element-Stil: Kategorie-Liste → Untermenü mit Zurück-Pfeil (statt gedrängtem Icon-Block). Desktop unverändert.
|
||
|
||
### Server (Pi 5, steggi@192.168.178.71)
|
||
- rclone-Mount für Pixeldrain-Medien repariert + Boot-Reihenfolge abgesichert; Medien liegen nur auf Pixeldrain.
|
||
- URL-Preview-Allowlist in `conduit.toml` aktiviert.
|
||
|
||
### Lesebestätigungen (Element-Stil, mit Haken)
|
||
- **✓✓** an der zuletzt gesehenen Nachricht des Gegenübers (auch dessen eigener Antwort), berechnet aus `room.receiptState`. Wandert mit, statt an der eigenen letzten Antwort zu kleben.
|
||
- **grauer ✓** nur auf der eigenen neuesten Nachricht, solange sie noch ungelesen ist; verschwindet sobald gelesen (dann nur ✓✓).
|
||
|
||
## Offen / geplant
|
||
- **Weiterleiten** von Nachrichten (Forward) — später.
|
||
- **Presence-Genauigkeit:** Nutzer, die den PC vor ~10 min unsauber heruntergefahren haben, werden teils noch als „online" angezeigt (Server expired Presence nicht zuverlässig). Außerdem: Online-Status im Chat-Header und in der Chat-Liste sind nicht immer konsistent — sollten dieselbe Quelle nutzen.
|
||
- PDF-Seiten beim Upload vorrendern — bewusst zurückgestellt (geringer Mehrwert wegen Caches).
|
||
- Selection-Menü-Politur (kein Bug, optional).
|