docs(PROJ-16): add technical design for federation status
Verified the actual admin API against matrix.perlbach24.de before
finalizing the design (lesson from PROJ-14/15, where per-version
response-shape surprises cost a real bug and a wasted defensive code
path): GET /_synapse/admin/v1/federation/destinations returns a clean
{destinations: [], total: 0} instantly with federation disabled — no
surprises, no open questions left for the backend pass. Status set to
In Progress.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0143yYvjesjHndBACoweyK67
This commit is contained in:
1 parent
509194d3e6
commit
9498262836
2 files changed
+33
-2
No files matched your search
+1
-1
@@ -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 |
|
||||
|
||||
|
||||
@@ -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.
|
||||
Reference in new issue
Block a user