Zusammenfassung
Die Prüfung „Medien überprüfen“ (Site-Einstellung skip_review_media_groups) wird nur bei der Erstellung eines Beitrags in NewPostManager durchgesetzt. Bearbeitungsvorgänge laufen über PostRevisor, der die Medienprüfung niemals ausführt. Ein Benutzer kann daher zunächst einen reinen Textbeitrag erstellen (der die Prüfung besteht) und anschließend Bilder über eine Bearbeitung hinzufügen – der Beitrag gelangt niemals in die Warteschlange zur Überprüfung.
Noch schlimmer: Wenn die Bearbeitung innerhalb der editing_grace_period (Standard: 5 Minuten) erfolgt und der Unterschied kleiner ist als editing_grace_period_max_diff (Standard: 100 Zeichen – eine einzelne Markdown-Zeile für ein hochgeladenes Bild beträgt ca. 40–60 Zeichen), wird keine Revision und kein Bleistift-Symbol erstellt, sodass die Umgehung in der Benutzeroberfläche vollständig unsichtbar bleibt.
Schritte zur Reproduktion
- Konfigurieren Sie
skip_review_media_groupsso, dass normale Benutzer (z. B. TL0/TL1) nicht befreit sind – Beiträge mit Medien sollten einer Genehmigung bedürfen. - Erstellen Sie als normaler Benutzer einen Beitrag, der nur Text enthält. Dieser wird normal genehmigt/veröffentlicht (keine Medien → keine Überprüfung).
- Bearbeiten Sie den Beitrag innerhalb der Gnadenfrist und fügen Sie ein hochgeladenes Bild ein.
Erwartetes Verhalten
Der Beitrag (der nun Medien enthält) sollte in die Warteschlange zur Überprüfung eingereiht werden, oder zumindest sollte die Bearbeitung der gleichen Medienprüfung unterliegen wie die Beitrags-Erstellung.
Tatsächliches Verhalten
- Der Beitrag wird mit dem Bild veröffentlicht und gelangt niemals in die Warteschlange zur Überprüfung.
- Es wird kein Revisionsdatensatz erstellt, es wird kein Bearbeitungshinweis angezeigt.
Belege (Produktivsystem)
p.version # => 1
PostRevision.where(post_id: p.id).count # => 0
p.created_at # => 2026-07-30 07:33:28 UTC
p.updated_at # => 2026-07-30 07:34:00 UTC
UploadReference.where(target: p).pluck(:created_at)
# => [2026-07-30 07:34:01 UTC]
Reiner Textbeitrag erstellt um 07:33:28, Bild durch eine Bearbeitung ca. 32 Sekunden später hinzugefügt – keine sichtbare Bearbeitungsverlauf, keine Überprüfung.
Relevanter Code
- lib/new_post_manager.rb — post_needs_approval? gibt :contains_media zurück über contains_embedded_media?, dies wird jedoch nur für neue Beiträge ausgeführt.
- app/models/post_analyzer.rb#embedded_media_count — die Logik zur Medienzählung.
- PostRevisor — keine äquivalente Medienprüfung bei der Bearbeitung.
Vorgeschlagene Lösung
Führen Sie die contains_media-Prüfung auch in PostRevisor aus (wenn die Bearbeitung Medien hinzufügt und der Bearbeiter nicht in skip_review_media_groups / kein Mitarbeiter ist), und reihen Sie einen ReviewablePost für den bearbeiteten Beitrag ein.