diff --git a/features/INDEX.md b/features/INDEX.md index 6493bc7..e2d994a 100644 --- a/features/INDEX.md +++ b/features/INDEX.md @@ -27,7 +27,7 @@ | PROJ-13 | SYSTEM_ADMIN-Rolle | Deployed | [PROJ-13-system-admin-rolle.md](PROJ-13-system-admin-rolle.md) | 2026-09-12 | | PROJ-14 | Synapse Raum-Übersicht (System-Admin) | Deployed | [PROJ-14-synapse-raum-uebersicht.md](PROJ-14-synapse-raum-uebersicht.md) | 2026-09-12 | | PROJ-15 | Media-Cleanup (System-Admin) | Deployed | [PROJ-15-media-cleanup.md](PROJ-15-media-cleanup.md) | 2026-09-12 | -| PROJ-16 | Federation-Status (System-Admin) | Planned | [PROJ-16-federation-status.md](PROJ-16-federation-status.md) | 2026-09-12 | +| PROJ-16 | Federation-Status (System-Admin) | In Progress | [PROJ-16-federation-status.md](PROJ-16-federation-status.md) | 2026-09-12 | | PROJ-17 | Nachricht melden (Chat) | Planned | [PROJ-17-nachricht-melden.md](PROJ-17-nachricht-melden.md) | 2026-09-12 | | PROJ-18 | Reports/Moderation (System-Admin) | Planned | [PROJ-18-reports-moderation.md](PROJ-18-reports-moderation.md) | 2026-09-12 | diff --git a/features/PROJ-16-federation-status.md b/features/PROJ-16-federation-status.md index 6d7bd28..cf9fcbb 100644 --- a/features/PROJ-16-federation-status.md +++ b/features/PROJ-16-federation-status.md @@ -1,6 +1,6 @@ # PROJ-16: Federation-Status (System-Admin) -**Status:** Planned +**Status:** In Progress **Created:** 2026-09-12 ## Summary @@ -27,3 +27,34 @@ Anzeige, welche externen Matrix-Server aktuell föderiert sind — nachgebaut au ## Non-Goals - Federation aktivieren/konfigurieren über dieses Panel — bleibt Server-Konfigurationsaufgabe (`homeserver.yaml`), keine UI dafür - Server explizit blockieren/whitelisten über UI + +## Tech Design (Solution Architect) + +### A) Komponenten-Struktur + +``` +System-Admin-Bereich +└── Seite "Federation" (NEU, "/system-admin/federation") + └── Tabelle: Server-Name | Letzter Kontakt | Status + (oder, wenn leer: erklärender Hinweistext statt leerer Tabelle) +``` + +Dritte Unterseite im System-Admin-Bereich, gleiches Muster wie Räume (PROJ-14) und Medien (PROJ-15). + +### B) Datenfluss (in einfachen Worten) + +Backend fragt Synapse "mit welchen anderen Matrix-Servern hattest du zuletzt Kontakt" und reicht die Antwort unverändert durch — keine eigene Datenspeicherung, reine Weiterleitung, wie bei der Raum-Übersicht. + +**Vorab an der echten Instanz geprüft** (Lehre aus PROJ-14/15, wo genau das Verhalten je Version überraschend war): Die Abfrage antwortet sofort mit einer sauberen Liste plus Gesamtzahl. Bei deaktivierter Federation ist die Liste leer — genau der erwartete Normalzustand, kein Fehler und keine Überraschung im Antwortformat. + +### C) Tech-Entscheidungen (Begründung) + +- **Leerer Zustand wird als Bestätigung dargestellt, nicht als Mangel:** "Keine Daten" klingt nach einem Problem; bei diesem Feature ist eine leere Liste das gewünschte Ergebnis (Federation ist bewusst aus). Die Seite sagt das explizit, damit niemand denkt, die Funktion sei kaputt. +- **Reine Anzeige, kein Schreibzugriff:** Konsistent mit der Anforderung — dieses Feature dient der Kontrolle/Verifikation ("ist wirklich nichts verbunden?"), nicht der Verwaltung. + +### D) Abhängigkeiten (neue Pakete) + +Keine. + +### Status +Vorabprüfung gegen die echte Synapse-Instanz abgeschlossen — keine offenen technischen Fragen mehr vor der Umsetzung.