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>
11 KiB
11 KiB
Matrix / Element Feature Checklist für Pyramid
Stand: April 2026 — Pyramid v0.1.x (Early Development)
Nachrichten (Messaging)
Kern-Funktionen
- Textnachrichten senden
- Nachrichten empfangen & anzeigen
- Zeitstempel (formatiert, relativ)
- Nachrichtengruppierung (gleicher Sender, <5 Min.)
- Datumstrennlinien zwischen Gruppen
- Verschlüsselte Nachrichten anzeigen (Entschlüsselungsstatus)
- Nachrichtenverlauf paginieren (ältere Nachrichten beim Scrollen laden)
- Ungelesene-Nachrichten-Tracking
Nachrichtenaktionen
- Nachrichtentext kopieren
- Eigene Nachrichten löschen (redact)
- 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
- Dateianhänge senden (mit MIME-Erkennung)
- Bilder senden & inline anzeigen
- Videos senden & inline abspielen
- Audio senden & inline abspielen
- Sticker anzeigen (m.sticker)
- Dateianhang mit Untertitel
- Dateigröße berechnen & anzeigen
- Verschlüsselte Medien entschlüsseln & herunterladen
- Thumbnail-Generierung für Bilder/Videos
- [~] Sprachnachrichten (Struktur vorhanden, Wiedergabe-UI fehlt)
- Animierte GIFs
- Link-Vorschau (URL-Unfurling)
- Dokument-Vorschau (PDF, Office)
Reaktionen
- Emoji-Reaktionen senden
- Reaktionszähler anzeigen
- 6 häufigste Reaktionen als Schnellauswahl
- Vollständiger Emoji-Picker mit Suche
- Eigene Reaktion entfernen
- Anzeigen wer reagiert hat
- Mehrere Reaktionen pro Nachricht
- 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
- Raumliste anzeigen (sortiert nach letzter Aktivität)
- Räume beitreten
- Räume verlassen
- Raumname & Avatar anzeigen
- Verschlüsselungsstatus (Schloss-Icon)
- 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)
- 1:1 DM-Räume anzeigen & öffnen
- Presence-Status des Gegenübers anzeigen
- Echtzeit-Presence-Updates
- Sprachanruf aus DM starten
- Videoanruf aus DM starten
- DM starten (neuen Chat beginnen, nur über Suchfeld)
Mitglieder & Rollen
- Mitgliederliste anzeigen
- Mitgliederanzahl anzeigen
- Avatar & Anzeigename der Mitglieder
- 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
- Raumeinstellungen-Dialog (Name, Thema, Moderationsregeln)
- Raumverschlüsselung aktivieren/deaktivieren
- Erweiterte Raumeinstellungen (Fluffychat-Level)
- Widget-/App-Integration in Räume
Spaces & Gemeinschaften
Spaces
- Spaces in der Seitenleiste anzeigen
- Zwischen Spaces navigieren
- Space-Avatar anzeigen
- Space-Banner hochladen & anzeigen (Discord-Style)
- Räume nach Space filtern
- Virtuelle "Rooms"- und "DMs"-Spaces
- Unterkategorien (Sub-Spaces) als Kategorien in der Kanalleiste
- Drag-and-drop Kanalreihenfolge für Admins
- 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
- Kanäle nach letzter Aktivität sortieren
- Ungelesene-Badge auf Kanälen
- Sprachkanal-Teilnehmerliste (Discord-Style, mit Echtzeit-Updates)
- Kollabierbare Kategorien
- Favoriten / angeheftete Räume
- Räume stummschalten
- Räume ausblenden / archivieren
- Kanalreihenfolge für reguläre Nutzer
Sprach- & Videoanrufe
Sprachanrufe (LiveKit)
- Sprachkanal betreten / verlassen (Toggle)
- Teilnehmerliste im Sprachkanal
- Mikrofon stummschalten
- Audio-Ausgabe deaktivieren (Deafen)
- Anruf-UI im Profil-Panel (aktiver Anruf)
- Anruf-Ansicht öffnen (Vollansicht)
- Mini-Call-Widget bei VOIP-Anrufen
- Klingelton bei eingehenden Anrufen
- Anruf annehmen / ablehnen (UI)
- Anrufdauer-Timer
- Anrufverlauf
Videoanrufe
- Videoanruf starten (aus DM)
- Kamera-Toggle
- Videoteilnehmer-Anzeige
- Bildschirmfreigabe (Toggle-UI vorhanden, Implementierung unklar)
- Picture-in-Picture-Modus
- Virtueller Hintergrund
Gruppenanrufe
- 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
- Nutzer-Presence abrufen (online/offline/abwesend)
- Presence-Indikator anzeigen
- Letzte-Aktivität-Zeitstempel
- 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
- Eigene User-ID anzeigen
- Eigenen Avatar anzeigen (Initialen-Fallback)
- 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
- Hell / Dunkel-Theme
- Akzentfarbe (6 Voreinstellungen)
- Eckradius anpassen
- UI-Dichte / Kompaktheit
- Animationssteuerung
- Schriftgröße anpassen
- Sprachauswahl (i18n)
- Kompaktansicht (kein Avatar in Nachrichten)
Datenschutz & Sicherheit
Ende-zu-Ende-Verschlüsselung (E2EE)
- E2EE-Unterstützung (Olm/Megolm via vodozemac)
- E2EE-Schlüssel beim ersten Login einrichten (Bootstrap)
- Verschlüsselte Nachrichten-Indikatoren
- Entschlüsselungsstatus anzeigen
- SSSS (Symmetric Secret Storage)
- Recovery-Key erzeugen & anzeigen
- Recovery-Key aus bestehender Einrichtung importieren
- Schlüssel-Caching (lokal speichern)
- Session-Keys von anderen Geräten anfordern
- Schlüssel-Backup (Server-seitig)
- Schlüssel-Backup verifizieren
Geräte-Verifizierung
- Cross-Signing (Master/Self-Signing/User-Signing Keys)
- Gerät per Emoji verifizieren
- Gerät per Zahlencodes verifizieren
- 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
- 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
- GitHub-Releases als Update-Quelle
- Versions-Vergleich (SemVer)
- Rate-Limiting (max. alle 4 Stunden prüfen)
- Update-Banner im App-Header (Windows)
- "Diese Version überspringen"-Option
- 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)
- Native Desktop-App (Flutter Desktop)
- Tastenkürzel (Enter = Senden, Shift+Enter = Zeile)
- 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)
- Mobile App (Flutter)
- 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
- Textformatierung — häufig genutzt, von Nutzern erwartet
- Push-Benachrichtigungen — Desktop-Benachrichtigungen für Windows
- Tipp-Indikatoren — verbessert Gesprächsgefühl deutlich
- Nachrichtenbearbeitung — SDK-Grundlage vorhanden, nur UI fehlt
- Profilbearbeitung — Avatar & Anzeigename ändern
- Raum erstellen — Basis-Workflow, derzeit nicht möglich
- Sprachnachricht abspielen — Struktur vorhanden
- Suche — Dialog vorhanden, Backend-Abfrage fehlt
- Nutzer blockieren — Sicherheits-Grundfunktion
- System-Tray — Desktop-Erlebnis verbessern