cdf48c4d45
- update_checker: Gitea at git.steggi-matrix.work, Windows + Android support, asset URL detection - update_download_dialog: animated Pyramid logo, progress bar, platform install (exe/apk) - update_banner: Herunterladen button triggers dialog, dismiss option - Android: REQUEST_INSTALL_PACKAGES permission + FileProvider for APK install - post-commit hook: auto-push to Gitea on every commit - chat_input: larger send button (60px desktop), more padding, bigger icon - rooms_panel: space menu visible on mobile (leave space fix) - docs: feature-checklist.md added Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
355 lines
11 KiB
Markdown
355 lines
11 KiB
Markdown
# Matrix / Element Feature Checklist für Pyramid
|
|
|
|
*Stand: April 2026 — Pyramid v0.1.x (Early Development)*
|
|
|
|
---
|
|
|
|
## Nachrichten (Messaging)
|
|
|
|
### Kern-Funktionen
|
|
- [x] Textnachrichten senden
|
|
- [x] Nachrichten empfangen & anzeigen
|
|
- [x] Zeitstempel (formatiert, relativ)
|
|
- [x] Nachrichtengruppierung (gleicher Sender, <5 Min.)
|
|
- [x] Datumstrennlinien zwischen Gruppen
|
|
- [x] Verschlüsselte Nachrichten anzeigen (Entschlüsselungsstatus)
|
|
- [x] Nachrichtenverlauf paginieren (ältere Nachrichten beim Scrollen laden)
|
|
- [x] Ungelesene-Nachrichten-Tracking
|
|
|
|
### Nachrichtenaktionen
|
|
- [x] Nachrichtentext kopieren
|
|
- [x] Eigene Nachrichten löschen (redact)
|
|
- [x] Nachrichten anpinnen / Pinboard anzeigen
|
|
- [~] Auf Nachrichten antworten (in-reply-to vorhanden, kein visuelles Zitatfeld)
|
|
- [~] Nachrichten bearbeiten (m.edit im SDK erkannt, kein vollständiges UI)
|
|
- [ ] Nachrichten weiterleiten
|
|
- [ ] Zitat-Styling (visuelle Blockquote-Anzeige)
|
|
|
|
### Textformatierung
|
|
- [ ] Fett (**text**)
|
|
- [ ] Kursiv (*text*)
|
|
- [ ] Durchgestrichen (~~text~~)
|
|
- [ ] Inline-Code (`code`)
|
|
- [ ] Code-Block (```code```)
|
|
- [ ] Aufzählungslisten
|
|
- [ ] Klickbare Links
|
|
- [ ] @Erwähnungen (User)
|
|
- [ ] #Kanal-Erwähnungen
|
|
- [ ] Spoiler-Tags (||text||)
|
|
|
|
### Medien & Anhänge
|
|
- [x] Dateianhänge senden (mit MIME-Erkennung)
|
|
- [x] Bilder senden & inline anzeigen
|
|
- [x] Videos senden & inline abspielen
|
|
- [x] Audio senden & inline abspielen
|
|
- [x] Sticker anzeigen (m.sticker)
|
|
- [x] Dateianhang mit Untertitel
|
|
- [x] Dateigröße berechnen & anzeigen
|
|
- [x] Verschlüsselte Medien entschlüsseln & herunterladen
|
|
- [x] Thumbnail-Generierung für Bilder/Videos
|
|
- [~] Sprachnachrichten (Struktur vorhanden, Wiedergabe-UI fehlt)
|
|
- [ ] Animierte GIFs
|
|
- [ ] Link-Vorschau (URL-Unfurling)
|
|
- [ ] Dokument-Vorschau (PDF, Office)
|
|
|
|
### Reaktionen
|
|
- [x] Emoji-Reaktionen senden
|
|
- [x] Reaktionszähler anzeigen
|
|
- [x] 6 häufigste Reaktionen als Schnellauswahl
|
|
- [x] Vollständiger Emoji-Picker mit Suche
|
|
- [x] Eigene Reaktion entfernen
|
|
- [x] Anzeigen wer reagiert hat
|
|
- [x] Mehrere Reaktionen pro Nachricht
|
|
- [x] Kategoriebasierte Emoji-Organisation
|
|
|
|
### Threads
|
|
- [ ] Thread-Antworten (m.in_reply_to vorhanden, kein Thread-View)
|
|
- [ ] Thread aufklappen / eigene Ansicht
|
|
- [ ] Thread-Benachrichtigungen
|
|
- [ ] Thread als gelöst markieren
|
|
|
|
---
|
|
|
|
## Raumverwaltung
|
|
|
|
### Grundfunktionen
|
|
- [x] Raumliste anzeigen (sortiert nach letzter Aktivität)
|
|
- [x] Räume beitreten
|
|
- [x] Räume verlassen
|
|
- [x] Raumname & Avatar anzeigen
|
|
- [x] Verschlüsselungsstatus (Schloss-Icon)
|
|
- [x] Einladungen annehmen / ablehnen
|
|
- [ ] Neuen Raum erstellen
|
|
- [ ] Raumname bearbeiten
|
|
- [ ] Raumthema/Beschreibung bearbeiten
|
|
- [ ] Raum-Avatar ändern
|
|
- [ ] Raumvisibilität (öffentlich / privat)
|
|
- [ ] Zugriffsregeln (invite/knock/public)
|
|
- [ ] Verlaufsvisibilität konfigurieren
|
|
- [ ] Raum-Aliases verwalten
|
|
|
|
### Direktnachrichten (DMs)
|
|
- [x] 1:1 DM-Räume anzeigen & öffnen
|
|
- [x] Presence-Status des Gegenübers anzeigen
|
|
- [x] Echtzeit-Presence-Updates
|
|
- [x] Sprachanruf aus DM starten
|
|
- [x] Videoanruf aus DM starten
|
|
- [ ] DM starten (neuen Chat beginnen, nur über Suchfeld)
|
|
|
|
### Mitglieder & Rollen
|
|
- [x] Mitgliederliste anzeigen
|
|
- [x] Mitgliederanzahl anzeigen
|
|
- [x] Avatar & Anzeigename der Mitglieder
|
|
- [x] Nutzer in Raum einladen (Raum-Kontextmenü)
|
|
- [ ] Nutzer aus Raum entfernen (Kick)
|
|
- [ ] Nutzer sperren (Ban)
|
|
- [ ] Power Levels bearbeiten
|
|
- [ ] Nutzer zum Moderator / Admin befördern
|
|
- [ ] Bans aufheben
|
|
|
|
### Raumeinstellungen
|
|
- [x] Raumeinstellungen-Dialog (Name, Thema, Moderationsregeln)
|
|
- [ ] Raumverschlüsselung aktivieren/deaktivieren
|
|
- [ ] Erweiterte Raumeinstellungen (Fluffychat-Level)
|
|
- [ ] Widget-/App-Integration in Räume
|
|
|
|
---
|
|
|
|
## Spaces & Gemeinschaften
|
|
|
|
### Spaces
|
|
- [x] Spaces in der Seitenleiste anzeigen
|
|
- [x] Zwischen Spaces navigieren
|
|
- [x] Space-Avatar anzeigen
|
|
- [x] Space-Banner hochladen & anzeigen (Discord-Style)
|
|
- [x] Räume nach Space filtern
|
|
- [x] Virtuelle "Rooms"- und "DMs"-Spaces
|
|
- [x] Unterkategorien (Sub-Spaces) als Kategorien in der Kanalleiste
|
|
- [x] Drag-and-drop Kanalreihenfolge für Admins
|
|
- [x] Space-Verwaltungsdialog (Name, Avatar, Banner, Einladungen, Mitglieder, Power Levels)
|
|
- [ ] Neuen Space erstellen
|
|
- [ ] Räume zum Space hinzufügen / entfernen
|
|
- [ ] Space-Regeln / Beschreibung
|
|
- [ ] Space-Entdeckung (öffentliche Spaces durchsuchen)
|
|
|
|
### Kanalorganisation
|
|
- [x] Kanäle nach letzter Aktivität sortieren
|
|
- [x] Ungelesene-Badge auf Kanälen
|
|
- [x] Sprachkanal-Teilnehmerliste (Discord-Style, mit Echtzeit-Updates)
|
|
- [x] Kollabierbare Kategorien
|
|
- [ ] Favoriten / angeheftete Räume
|
|
- [ ] Räume stummschalten
|
|
- [ ] Räume ausblenden / archivieren
|
|
- [ ] Kanalreihenfolge für reguläre Nutzer
|
|
|
|
---
|
|
|
|
## Sprach- & Videoanrufe
|
|
|
|
### Sprachanrufe (LiveKit)
|
|
- [x] Sprachkanal betreten / verlassen (Toggle)
|
|
- [x] Teilnehmerliste im Sprachkanal
|
|
- [x] Mikrofon stummschalten
|
|
- [x] Audio-Ausgabe deaktivieren (Deafen)
|
|
- [x] Anruf-UI im Profil-Panel (aktiver Anruf)
|
|
- [x] Anruf-Ansicht öffnen (Vollansicht)
|
|
- [x] Mini-Call-Widget bei VOIP-Anrufen
|
|
- [ ] Klingelton bei eingehenden Anrufen
|
|
- [ ] Anruf annehmen / ablehnen (UI)
|
|
- [ ] Anrufdauer-Timer
|
|
- [ ] Anrufverlauf
|
|
|
|
### Videoanrufe
|
|
- [x] Videoanruf starten (aus DM)
|
|
- [x] Kamera-Toggle
|
|
- [x] Videoteilnehmer-Anzeige
|
|
- [ ] Bildschirmfreigabe (Toggle-UI vorhanden, Implementierung unklar)
|
|
- [ ] Picture-in-Picture-Modus
|
|
- [ ] Virtueller Hintergrund
|
|
|
|
### Gruppenanrufe
|
|
- [x] Mehrere Teilnehmer im Sprachkanal (LiveKit)
|
|
- [ ] Gruppen-Videogitter
|
|
- [ ] Spotlight-/Galerie-Ansicht
|
|
|
|
---
|
|
|
|
## Benachrichtigungen & Presence
|
|
|
|
### Push-Benachrichtigungen
|
|
- [ ] Desktop-Benachrichtigungen (Windows/macOS/Linux)
|
|
- [ ] Mobile Push-Benachrichtigungen (Android/iOS)
|
|
- [ ] Benachrichtigungseinstellungen pro Raum
|
|
- [ ] Nicht-Stören-Modus
|
|
- [ ] Benachrichtigungssound konfigurieren
|
|
|
|
### Presence & Status
|
|
- [x] Nutzer-Presence abrufen (online/offline/abwesend)
|
|
- [x] Presence-Indikator anzeigen
|
|
- [x] Letzte-Aktivität-Zeitstempel
|
|
- [x] Echtzeit-Presence-Updates
|
|
- [ ] Eigenen Status setzen (online/abwesend/unsichtbar)
|
|
- [ ] Benutzerdefinierte Statusmeldung
|
|
- [ ] Aktivitätsbasierte Status-Änderung
|
|
|
|
### Tipp-Indikatoren
|
|
- [ ] "X tippt gerade"-Anzeige empfangen
|
|
- [ ] Eigene Tipp-Benachrichtigung senden
|
|
- [ ] Timeout nach Tipp-Ende
|
|
|
|
---
|
|
|
|
## Nutzereinstellungen & Profil
|
|
|
|
### Profilverwaltung
|
|
- [x] Eigene User-ID anzeigen
|
|
- [x] Eigenen Avatar anzeigen (Initialen-Fallback)
|
|
- [x] Anzeigenamen anzeigen
|
|
- [ ] Anzeigenamen bearbeiten
|
|
- [ ] Eigenen Avatar hochladen / entfernen
|
|
- [ ] Status-Nachricht setzen
|
|
|
|
### Kontosicherheit
|
|
- [ ] Passwort ändern
|
|
- [ ] E-Mail-Adresse verwalten
|
|
- [ ] Sitzungsverwaltung (alle Sitzungen anzeigen)
|
|
- [ ] Andere Sitzungen abmelden
|
|
- [ ] Konto deaktivieren / löschen
|
|
- [ ] Zwei-Faktor-Authentifizierung (2FA)
|
|
|
|
### App-Einstellungen
|
|
- [x] Hell / Dunkel-Theme
|
|
- [x] Akzentfarbe (6 Voreinstellungen)
|
|
- [x] Eckradius anpassen
|
|
- [x] UI-Dichte / Kompaktheit
|
|
- [x] Animationssteuerung
|
|
- [ ] Schriftgröße anpassen
|
|
- [ ] Sprachauswahl (i18n)
|
|
- [ ] Kompaktansicht (kein Avatar in Nachrichten)
|
|
|
|
---
|
|
|
|
## Datenschutz & Sicherheit
|
|
|
|
### Ende-zu-Ende-Verschlüsselung (E2EE)
|
|
- [x] E2EE-Unterstützung (Olm/Megolm via vodozemac)
|
|
- [x] E2EE-Schlüssel beim ersten Login einrichten (Bootstrap)
|
|
- [x] Verschlüsselte Nachrichten-Indikatoren
|
|
- [x] Entschlüsselungsstatus anzeigen
|
|
- [x] SSSS (Symmetric Secret Storage)
|
|
- [x] Recovery-Key erzeugen & anzeigen
|
|
- [x] Recovery-Key aus bestehender Einrichtung importieren
|
|
- [x] Schlüssel-Caching (lokal speichern)
|
|
- [x] Session-Keys von anderen Geräten anfordern
|
|
- [ ] Schlüssel-Backup (Server-seitig)
|
|
- [ ] Schlüssel-Backup verifizieren
|
|
|
|
### Geräte-Verifizierung
|
|
- [x] Cross-Signing (Master/Self-Signing/User-Signing Keys)
|
|
- [x] Gerät per Emoji verifizieren
|
|
- [x] Gerät per Zahlencodes verifizieren
|
|
- [x] Geräte als vertrauenswürdig markieren
|
|
- [ ] Gerätename / Modell anzeigen
|
|
- [ ] Sitzungsverwaltung (alle Geräte dieses Accounts)
|
|
- [ ] Fremde Geräte abmelden
|
|
|
|
### Vertrauen & Sicherheit
|
|
- [ ] Geräte-Vertrauensstatus-Indikator in Nachrichten
|
|
- [ ] Nutzer blockieren / entsperren
|
|
- [ ] Blockierte Nutzer-Liste
|
|
- [ ] Verifizierter-Nutzer-Badge
|
|
|
|
---
|
|
|
|
## Suche
|
|
|
|
### Nachrichtensuche
|
|
- [x] Suchdialog öffnen (UI vorhanden)
|
|
- [ ] Volltextsuche in Nachrichteninhalten
|
|
- [ ] Filter nach Absender
|
|
- [ ] Filter nach Datum
|
|
- [ ] Filter nach Raum
|
|
- [ ] Filter nach Medientyp
|
|
- [ ] Suchergebnisse hervorheben
|
|
- [ ] Suchverlauf
|
|
|
|
### Nutzer- / Raumsuche
|
|
- [ ] Nutzer nach Anzeigenamen suchen
|
|
- [ ] Nutzer nach User-ID suchen
|
|
- [ ] Öffentliche Räume entdecken (Directory)
|
|
- [ ] Eigene Räume filtern
|
|
- [ ] Räume nach Name / Thema suchen
|
|
|
|
---
|
|
|
|
## Auto-Update
|
|
|
|
- [x] GitHub-Releases als Update-Quelle
|
|
- [x] Versions-Vergleich (SemVer)
|
|
- [x] Rate-Limiting (max. alle 4 Stunden prüfen)
|
|
- [x] Update-Banner im App-Header (Windows)
|
|
- [x] "Diese Version überspringen"-Option
|
|
- [x] Manueller Update-Check in den Einstellungen
|
|
- [ ] Automatischer Download & Installation (Squirrel/NSIS)
|
|
- [ ] Delta-Updates (nur geänderte Dateien)
|
|
- [ ] Update-Kanal wählen (Stable/Beta/Nightly)
|
|
|
|
---
|
|
|
|
## Plattform-spezifisch
|
|
|
|
### Desktop (Windows / macOS / Linux)
|
|
- [x] Native Desktop-App (Flutter Desktop)
|
|
- [x] Tastenkürzel (Enter = Senden, Shift+Enter = Zeile)
|
|
- [x] Drag-and-Drop für Dateianhänge
|
|
- [ ] System-Tray-Integration
|
|
- [ ] Desktop-Benachrichtigungen
|
|
- [ ] Minimieren in System-Tray
|
|
- [ ] Fenster-State speichern (Größe, Position)
|
|
- [ ] MSIX / Installer-Paketierung
|
|
|
|
### Mobile (Android / iOS)
|
|
- [x] Mobile App (Flutter)
|
|
- [x] Drawer-Navigation (Hamburger-Menü)
|
|
- [ ] Touch-optimiertes UI (derzeit Desktop-first)
|
|
- [ ] Mobile Push-Benachrichtigungen
|
|
- [ ] Zurück-Geste Navigation
|
|
- [ ] Bottom-Sheet-Modals
|
|
- [ ] Share-Sheet-Integration
|
|
- [ ] Haptisches Feedback
|
|
|
|
---
|
|
|
|
## Statistik
|
|
|
|
| Bereich | Implementiert | Teilweise | Fehlend |
|
|
|---|---|---|---|
|
|
| Messaging | 14 | 2 | 14 |
|
|
| Raumverwaltung | 8 | 0 | 14 |
|
|
| Spaces | 10 | 0 | 6 |
|
|
| Anrufe | 8 | 1 | 10 |
|
|
| Benachrichtigungen | 4 | 0 | 8 |
|
|
| Einstellungen/Profil | 5 | 0 | 11 |
|
|
| Sicherheit/E2EE | 9 | 0 | 7 |
|
|
| Suche | 1 | 0 | 10 |
|
|
| Auto-Update | 6 | 0 | 3 |
|
|
| Plattform | 5 | 0 | 10 |
|
|
| **Gesamt** | **~70** | **~3** | **~93** |
|
|
|
|
**Implementierungsgrad: ~42 %** (inkl. Teilimplementierungen)
|
|
|
|
---
|
|
|
|
## Empfohlene Feature-Prioritäten
|
|
|
|
1. **Textformatierung** — häufig genutzt, von Nutzern erwartet
|
|
2. **Push-Benachrichtigungen** — Desktop-Benachrichtigungen für Windows
|
|
3. **Tipp-Indikatoren** — verbessert Gesprächsgefühl deutlich
|
|
4. **Nachrichtenbearbeitung** — SDK-Grundlage vorhanden, nur UI fehlt
|
|
5. **Profilbearbeitung** — Avatar & Anzeigename ändern
|
|
6. **Raum erstellen** — Basis-Workflow, derzeit nicht möglich
|
|
7. **Sprachnachricht abspielen** — Struktur vorhanden
|
|
8. **Suche** — Dialog vorhanden, Backend-Abfrage fehlt
|
|
9. **Nutzer blockieren** — Sicherheits-Grundfunktion
|
|
10. **System-Tray** — Desktop-Erlebnis verbessern
|