15 lines
2.0 KiB
Markdown
15 lines
2.0 KiB
Markdown
# Issues and Bug Reporting
|
|
|
|
Eingeloggte Mitglieder erreichen „Bug melden“ im Benutzermenü. Das Formular sendet Titel, Beschreibung, erwartetes Verhalten, Reproduktionsschritte, Kategorie und Schweregrad an das FastAPI-Backend. Optional werden eine bereinigte Route, Plattform, App-Version und ein zusammengefasster Browsertyp beigefügt. Identität und User-ID kommen ausschließlich aus der Session.
|
|
|
|
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.
|