# Pyramid Pyramid ist ein eigenständiger Matrix-Client (Flutter), kein Fork von FluffyChat oder Element. Er läuft gegen den selbst gehosteten Homeserver `steggi-matrix.work` (Continuwuity) und ist bei echten Nutzern im Einsatz – Stabilität und Datensicherheit haben Vorrang vor Feature-Tempo. ## Funktionsumfang - Matrix-Chat mit Timeline, Reply, Medien, Link-Vorschauen, lokaler Volltextsuche über entschlüsselte Nachrichten (server-seitige Suche funktioniert bei E2EE nicht) - Ende-zu-Ende-Verschlüsselung (vodozemac/Olm/Megolm) inkl. Key-Backup - Sprach-/Video-Calls und Bildschirmübertragung über LiveKit (`wss://livekit.steggi-matrix.work`) - Push-Benachrichtigungen mit clientseitiger Entschlüsselung auch bei gekillter App (FCM + Sygnal, siehe `docs/NOTIFICATIONS.md`) - Größenverstellbares Panel-Layout (Rooms/Chat/Members) statt starrer Tabs ## Build Voraussetzung: Flutter (stable channel, siehe `environment.sdk` in `pubspec.yaml` für die unterstützte Dart-Version). ``` flutter pub get flutter run -d windows # schnellster Praxistest während der Entwicklung flutter analyze # muss sauber bleiben ``` Unterstützte Zielplattformen: Android, Windows, Linux, iOS, macOS (Ordner `android/`, `windows/`, `linux/`, `ios/`, `macos/` sind Standard-Flutter-Projekte). Release-Build (signiert, Windows + Android): `scripts/release.ps1`. ## Projektstruktur ``` lib/ core/ Matrix-Client, Auth, VoIP-Manager, Storage, App-State features/ auth/ Login, Server-Auswahl rooms/ Raumliste, Spaces chat/ Timeline, Composer, Medien, Dokumentenvorschau call/ LiveKit-Calls, Voice-Channel, Mini-Call-Widget members/ Mitgliederliste/-panel settings/ Einstellungen layout/ Panel-Layout (resizable) widgets/ geteilte UI-Bausteine utils/ Hilfsfunktionen ``` ## Weiterführende Dokumentation - `CLAUDE.md` – Arbeitsregeln und Infrastruktur für die Zusammenarbeit mit Claude - `ROADMAP.md` / `PROGRESS.md` – aktueller Stand und nächste Schritte - `docs/NOTIFICATIONS.md` – Push-Architektur (native Anzeige vs. Hintergrund-Entschlüsselung) - `docs/matrix-sdk/` – Hinweise zum verwendeten Matrix-SDK