Ein letztes Update: Die Implementierung liegt jetzt als PR bereit und kann geprüft werden:
https://github.com/discourse/discourse/pull/43323
Das finale Design basiert auf dem oben beschriebenen Opt-in-Ansatz pro Admin, nicht auf dem site-weiten Enum, das ich ursprünglich vorgeschlagen hatte.
Beim letzten Durchgang wurden einige UX-Details hinzugefügt:
- Die Admin-Einstellung wird unter Einstellungen → Oberfläche angezeigt, wenn die site-weiten Voraussetzungen dies zulassen.
- Wenn ein Admin, der sich angemeldet hat, den ersten Beitrag/das erste Thema endgültig löscht, weist die Bestätigung für die unwiderrufliche Aktion nun ausdrücklich darauf hin, dass das Thema und alle Antworten endgültig gelöscht werden.
- Wenn der Admin nicht angemeldet ist, bleiben das bestehende Verhalten und die Wortlaut unverändert.
- Die bestehende Lösch-Sperre (Cooldown) für endgültige Löschungen durch denselben Admin wird weiterhin durchgesetzt.
- Änderungen an den Einstellungen werden in den Staff Action Logs protokolliert.
Ich habe den vollständigen Opt-in-Weg manuell auf einem einmaligen Thema mit zwei Antworten getestet und anschließend überprüft, dass das Thema und alle seine Beiträge aus der Datenbank entfernt wurden.
Die wichtigsten GitHub-Test- und Lint-Prüfungen sind bestanden; die PR wartet nun auf eine Prüfung, wobei der Sicherheits-Scan zum Zeitpunkt der Erstellung noch in der Warteschlange stand.