Forum: idempotente Antworten gegen Doppelpost/Cooldown-Fehler bei Funkloch (v1306)
Praxisfall: Antwort wird serverseitig erstellt, aber die HTTP-Antwort geht unterwegs verloren (schlechtes Netz). UI zeigt Fehler statt Erfolg, Text bleibt stehen -> Nutzer tippt erneut -> 2. Versuch laeuft in den 30s-Cooldown (429), der bereits gepostete Beitrag bleibt unsichtbar. - forum_posts.client_uuid (Migration). Reply mit stabiler client_uuid: Retry liefert den BEREITS erstellten Post zurueck (kein Cooldown/Doppelpost). - Frontend: UUID bleibt ueber Retries stabil, Reset erst nach Erfolg; Foto- Doppel-Upload bei Retry verhindert. - Anti-Spam-Cooldown bleibt fuer echte neue Posts aktiv. - Tests: tests/test_forum_idempotency.py (Retry=selber Post, Cooldown greift, ohne UUID rueckwaertskompatibel).
This commit is contained in:
parent
140140f690
commit
6ea3f50b05
9 changed files with 136 additions and 25 deletions
|
|
@ -530,6 +530,8 @@ def _migrate(conn_factory):
|
|||
("forum_posts", "foto_urls", "TEXT"),
|
||||
("forum_posts", "is_deleted", "INTEGER NOT NULL DEFAULT 0"),
|
||||
("forum_posts", "likes", "INTEGER NOT NULL DEFAULT 0"),
|
||||
# Idempotenz: Client-UUID gegen Doppelposts bei verlorener Antwort (Funkloch)
|
||||
("forum_posts", "client_uuid", "TEXT"),
|
||||
# Users: Moderator-Flag + Forum-Standort
|
||||
("users", "is_moderator", "INTEGER NOT NULL DEFAULT 0"),
|
||||
("users", "forum_lat", "REAL"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue