docs(PROJ-15): add technical design for media cleanup
Scoped honestly: Synapse's purge only clears the *remote* (federated) media cache, which is nearly empty with federation disabled. Local media now exists in a small way since the Element Web deployment lets members set profile pictures directly — noted, but out of this feature's scope (button copy says "Föderations-Medien-Cache" rather than implying general disk cleanup). No pre-purge size estimate, since Synapse doesn't reliably support that across versions — flagged for the backend pass to verify against the actual deployed version (lesson from PROJ-14's delete_status response-shape surprise). 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
3bc2ac8ef4
commit
af0562e524
2 files changed
+39
-1
No files matched your search
+1
-1
@@ -26,7 +26,7 @@
|
||||
| PROJ-12 | Automatische Löschfrist für ausgetretene Mitglieder (DSGVO) | Planned | [PROJ-12-mitglieder-loeschfrist.md](PROJ-12-mitglieder-loeschfrist.md) | 2026-09-11 |
|
||||
| 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) | Planned | [PROJ-15-media-cleanup.md](PROJ-15-media-cleanup.md) | 2026-09-12 |
|
||||
| PROJ-15 | Media-Cleanup (System-Admin) | In Progress | [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-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 |
|
||||
|
||||
@@ -33,3 +33,41 @@ Manuelles Aufräumen alter/verwaister Medien-Dateien auf Synapse — nachgebaut
|
||||
|
||||
## Notes
|
||||
Praktischer Nutzen ist aktuell begrenzt, solange PROJ-11 keine Medien-Anhänge hat und Federation aus ist — Feature ist v.a. Vorbereitung für P2 (Medien-Anhänge laut PRD-Roadmap). Architektur-Skill sollte das gegenüber dem Nutzer transparent machen.
|
||||
|
||||
Zusatz (2026-09-13): Seit dem Element-Web-Deployment (siehe DEVLOG) können Mitglieder über Element direkt ein Profilbild setzen — das erzeugt tatsächlich lokale Medien-Dateien auf Synapse, unabhängig vom TalkTime-Chat. Der Nutzen dieses Features ist damit etwas höher als ursprünglich angenommen, bleibt aber klein.
|
||||
|
||||
## Tech Design (Solution Architect)
|
||||
|
||||
### A) Komponenten-Struktur
|
||||
|
||||
```
|
||||
System-Admin-Bereich
|
||||
└── Seite "Medien" (NEU, "/system-admin/media")
|
||||
├── Hinweistext: was diese Aktion tut/nicht tut (siehe Tech-Entscheidungen)
|
||||
├── Datumsauswahl "Medien-Cache älter als …" (Standard: 30 Tage)
|
||||
└── "Aufräumen"-Button mit Bestätigungsdialog
|
||||
```
|
||||
|
||||
Zweite Unterseite im System-Admin-Bereich, gleiches Muster wie die Raum-Übersicht (PROJ-14): eigene Navigation, kein gemeinsamer Screen.
|
||||
|
||||
### B) Datenfluss (in einfachen Worten)
|
||||
|
||||
1. Admin wählt einen Stichtag (oder übernimmt den Vorschlag "30 Tage").
|
||||
2. Backend schickt diesen Stichtag an Synapse mit der Anweisung "räume den Medien-Zwischenspeicher auf, der älter ist als das".
|
||||
3. Synapse arbeitet das im Hintergrund ab und meldet zurück, was es getan hat (sofern die genutzte Synapse-Version das mitteilt).
|
||||
4. Ergebnis wird dem Admin angezeigt.
|
||||
|
||||
Keine neue TalkTime-Datenspeicherung nötig — das ist eine reine "Befehl absetzen"-Aktion ohne eigenen Zustand.
|
||||
|
||||
### C) Tech-Entscheidungen (Begründung)
|
||||
|
||||
- **Ehrliche Erwartungssteuerung statt großzügiger Beschriftung:** Die Synapse-Funktion räumt nur den Zwischenspeicher für Medien auf, die von **anderen, föderierten Servern** stammen — bei TalkTime ist Federation komplett deaktiviert, das betrifft also praktisch nichts. Seit Kurzem können Mitglieder über das separat betriebene Element-Web-Werkzeug eigene Profilbilder hochladen — das sind aber **lokale** Medien, die von dieser Aktion nicht angefasst werden. Der Button heißt entsprechend nüchtern "Föderations-Medien-Cache aufräumen" statt "Speicherplatz freigeben", um keine falschen Erwartungen zu wecken.
|
||||
- **Keine Vorab-Größenanzeige:** Ob die verwendete Synapse-Version zuverlässig mitteilen kann, wie viel Speicherplatz eine Aktion freigeben würde, ist nicht für jede Version garantiert. Statt möglicherweise falsche Zahlen zu zeigen, wird nur die Aktion selbst angeboten, mit Ergebnis-Rückmeldung danach.
|
||||
- **Kein Zeitplan, nur Handauslösung:** Wie in der Anforderung festgelegt — ein automatischer, unbeaufsichtigter Lösch-Mechanismus für Dateien ist ein größerer Vertrauensschritt als eine manuelle Aktion mit Bestätigungsdialog.
|
||||
|
||||
### D) Abhängigkeiten (neue Pakete)
|
||||
|
||||
Keine — nutzt die bestehende Synapse-Anbindung.
|
||||
|
||||
### Offene Punkte für den Backend-Skill
|
||||
Vor der Umsetzung gegen die tatsächlich eingesetzte Synapse-Version prüfen (Lehre aus PROJ-14): ob der Purge-Aufruf synchron oder asynchron antwortet, und ob eine Rückmeldung zur Anzahl/Größe der aufgeräumten Medien überhaupt mitgeliefert wird. Falls nicht, zeigt die Seite nur "Aufräumen angestoßen" statt einer Zahl, die es nicht gibt.
|
||||
Reference in new issue
Block a user