Page:
architecture
No results
7
architecture
rallep71 edited this page 2026-06-08 09:31:18 +02:00
Architektur und Verzeichnisstruktur
Überblick
Das Projekt ist in mehrere Schichten gegliedert, damit UI, Protokolllogik, Plugins und Datenhaltung getrennt bleiben:
- UI und App-Binding im
main-Bereich - Protocol-/Core-Logik im
libdino - Erweiterungen in
plugins - Build/Tests in
scriptsundbuild-Artefakten
Warum diese Trennung wichtig ist
- Änderungen an der Oberfläche lassen sich gezielter testen.
- Plugin-Module (z. B. OMEMO/OpenPGP/MQTT) können isoliert validiert werden.
- Plattform-spezifische Aspekte (Linux/Windows) sind klarer auffindbar.
Datenfluss auf Sicht
- Konto und Sitzung werden initialisiert.
- XMPP-Module übernehmen Stream- und Sicherheitsfeatures.
- UI reagiert auf Ereignisse aus den Modul- und Modellebenen.
- Datenbank speichert verschlüsselt den persistenten Zustand.
- Pluginpfade greifen bei Bedarf in Automatisierungs- und Integrationsbereiche ein.
Modulgruppen (Auswahl)
plugins/openpgp: Schlüssel- und Signaturlogik.plugins/omemo: OMEMO-Stacks und Session-Handhabung.plugins/http-files: Dateitransfer via HTTP-Pfade.plugins/mqtt: MQTT-Interaktion.plugins/bot-features: Botmother-/Automatisierungspfad.
Wann du welcher Ebene prüfst
- UI-Verhalten:
main, Dialoge, Ansichtskomponenten. - Gesprächs- und MUC-Fehler: Core-Pfade in
libdino+ Plugin-Pfade. - API-/Automatisierungsproblem: relevante
plugins/*-Komponenten. - Build-/Abhängigkeitsproblem:
scriptsundmeson-Konfiguration.
Navigation
- ← Startseite
- Schnellstart
- Nutzung
- Chat und Medien
- Sicherheit
- Automatisierung
- Entwicklung
- Architektur
- Referenz
- Fehlerbehebung