From ae92952f7e1fe5092cadf4f5d6d859d5a750cf5d Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Sat, 15 Aug 2026 12:00:00 +0000 Subject: [PATCH] =?UTF-8?q?docs(issues):=20close=20#0045=20=E2=80=94=20rep?= =?UTF-8?q?orting=20no=20longer=20ends=20in=20silence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Route B per sorb: Draupnir would have needed server admin to poll reports, and bots do not get that. So reports stay in event_reports for review through Element Admin, and the message names a person rather than promising an automatism — @sorb being the only admin who can see them at all. Verified live rather than assumed: the config parses, the ConfigMap carries it, the chart hash label flipped after about 70 seconds and rolled a new pod, and the public config.json serves the text. That rollout also confirms the #0044 analysis empirically — no reloader needed. Co-Authored-By: Claude Opus 4.8 --- STATUS.md | 5 +- ...eport-event-kein-kontaktweg-fuer-melder.md | 49 ++++++++++++++++++- 2 files changed, 50 insertions(+), 4 deletions(-) diff --git a/STATUS.md b/STATUS.md index 983d004..bcb9a32 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,9 +2,9 @@ -## Issues (21 open, 26 closed) +## Issues (20 open, 27 closed) -Verteilung: M1 6 · M2 12 · M4 2 · M5 1 +Verteilung: M1 5 · M2 12 · M4 2 · M5 1 | Issue | Status | Meilenstein | Priorität | Title | |---|---|---|---|---| @@ -26,7 +26,6 @@ Verteilung: M1 6 · M2 12 · M4 2 · M5 1 | [0034](docs/issues/0034-cfgmon-11-gitea-ci-rueckbau-abschliessen.md) | open | M2 | medium | CFGMON-11 — Gitea-CI-Rückbau abschließen (sicher rückbaubare Schritte) | | [0040](docs/issues/0040-neckbeard-rueckmeldungen-einreichen.md) | open | M2 | low | neckbeard-Rückmeldungen aus dem Feldtest einreichen | | [0042](docs/issues/0042-migration-in-betrieb-nehmen-push-spiegel-schedule.md) | open | M2 | high | Migration in Betrieb nehmen: Push, erster Spiegel-Lauf, CI-Schedule | -| [0045](docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md) | open | M1 | low | Inhalts-Meldung führt ins Leere: kein Kontaktweg für Melder | | [0051](docs/issues/0051-cve-remediation-pass.md) | open | M5 | high | CVE-Remediation-Pass: Schwachstellen-Report abarbeiten | | [0053](docs/issues/0053-historien-durchgang-nicht-kanonische-commits.md) | open | M2 | low | Historien-Durchgang: acht nicht-kanonische Commits mitziehen | diff --git a/docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md b/docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md index e7fd29e..71dda52 100644 --- a/docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md +++ b/docs/issues/0045-report-event-kein-kontaktweg-fuer-melder.md @@ -1,7 +1,7 @@ --- type: issue id: "0045" -status: open +status: done created: 2026-08-11 milestone: M1 priority: low @@ -31,3 +31,50 @@ Kante: Melden funktioniert technisch, führt für den Nutzer aber ins Leere. Braucht **eine Angabe von sorb**: welcher Raum bzw. Kontakt der Meldeweg sein soll. Danach ist es eine Zeile Config. Bewusst nicht auf `waiting` gesetzt, weil noch nicht begonnen — der fehlende Input ist im Text benannt. + +## Erledigt 2026-08-15 + +`report_event.admin_message_md` gesetzt (gitops `83a14e1`). Der Melder sieht nach dem +Absenden jetzt, dass die Meldung angekommen ist — **und an wen er sich wenden kann**: + +> Deine Meldung ist bei der Serveradministration eingegangen und wird gesichtet. +> Für Rückfragen oder wenn es dringend ist, schreib bitte direkt an `@sorb:axion1337.chat`. + +### Zustellweg: Weg B (Entscheidung sorb) + +Zur Debatte stand, den Weg über **Draupnir** abzubilden (`pollReports`). Geprüft und +**verworfen**: Draupnir liest Meldungen über die **Synapse-Admin-API** und müsste dafür +**Server-Admin** werden — gemessen ist `@draupnir:axion1337.chat` heute `admin = 0`. sorb: +*„ich mache keine Bots zum vollwertigen Admin."* Server-Admin hieße volle Admin-API +(Nutzer deaktivieren, Räume löschen); ein kompromittierter Bot wäre ein kompromittierter +Homeserver. + +**Stattdessen Weg B:** Meldungen bleiben im `event_reports`-Speicher und werden über das +bereits laufende **Element Admin** gesichtet. Deshalb benennt der Text **einen Menschen** +statt einen Automatismus zu versprechen — `@sorb` ist der einzige Server-Admin und damit +der Einzige, der die Meldungen überhaupt sehen kann. + +### Kontext für die Einordnung + +- **Bislang gab es 0 Meldungen** (`select count(*) from event_reports`). Der Melde-Knopf + existierte, wurde nie benutzt, und es wäre niemandem aufgefallen. +- Für Missbrauchsmeldungen wäre ein öffentlicher Raum ohnehin falsch gewesen — es gibt + außer `#onboarding` (9 Mitglieder) und Testräumen keinen Raum, und eine Meldung gehört + nicht vor Publikum. + +### Verifiziert (live, nicht nur committet) + +| Prüfung | Ergebnis | +|---|---| +| JSON weiterhin gültig | `config.json` parst | +| ConfigMap im Cluster | enthält `admin_message_md` | +| Rollout ausgelöst | Chart-Hash-Label wechselte nach **~70 s**, neuer Pod | +| Öffentlich ausgeliefert | `https://axion1337.chat/config.json` enthält den Text | + +**Nebenbefund:** Der Rollout bestätigt die Analyse aus #0044 empirisch — die +Chart-Hash-Labels lösen den Neustart bei Config-Änderung selbstständig aus, innerhalb eines +HelmRelease-Intervalls (1 min). Kein Handgriff nötig, kein Reloader. + +⚠️ **Bleibt bewusst offen:** Weg B heißt, dass jemand **aktiv** in Element Admin nachsehen +muss — es gibt keinen Alarm bei einer neuen Meldung. Bei 0 Meldungen bisher vertretbar; +sollte sich das ändern, ist das der nächste Punkt.