Add optional screenshots to bug reports

This commit is contained in:
2026-09-15 21:16:06 +02:00
parent 39af9ecdb4
commit 5d3ae10036
10 changed files with 263 additions and 12 deletions
+7
View File
@@ -5,3 +5,10 @@ Eingeloggte Mitglieder erreichen „Bug melden“ im Benutzermenü. Das Formular
Das Backend ruft die Gitea REST API für `kai/pingu-concerts` auf und akzeptiert vorab nur die Identität `metalcircle-bot`. Vorhandene Labels wie `reported-from-metalcircle`, `bug`, `android`, `web`, `frontend` und `push` werden opportunistisch verwendet. Milestones werden derzeit nicht automatisch gesetzt; der bekannte Projekt-Milestone ist `MetalCircle 0.1 Beta`.
CSRF-Schutz, Pflichtfeld-/Längenprüfung, Loginpflicht, Cooldown und kurzlebige Submission-Nonces verhindern Missbrauch und Doppelmeldungen. Gitea-Ausfälle bleiben für die restliche Anwendung folgenlos. Tokens, Cookies, Header, FCM-Daten, Passwörter und private Schlüssel gelangen nicht ins Issue.
## Optionale Screenshots
Bugreports können optional einen Screenshot als JPG, PNG oder WebP (maximal 4 MiB) enthalten. MetalCircle dekodiert das Bild mit Pillow, lehnt ungültige/animierte oder übergroße Bilder ab und kodiert die Pixel neu als JPEG/PNG. Dadurch werden Metadaten und angehängte Dateiinhalte nicht an Gitea weitergegeben. Der Originaldateiname wird verworfen; der bereinigte Upload bleibt nur während der Übermittlung im Arbeitsspeicher und wird über die Gitea Issue-Assets-API direkt an das neue Issue angehängt und dort verlinkt. Eine lokale Bugreport-Dateiablage gibt es nicht.
Screenshots können persönliche Inhalte enthalten. Vor dem Senden sollten Nutzer Passwörter, Zugangstoken und private Informationen im Bild verdecken. Schlägt der Anhang nach erfolgreicher Issue-Erstellung fehl, wird die Übermittlung als unbestätigt angezeigt, um doppelte Issues durch blindes erneutes Absenden zu vermeiden.