group code popup
Sonarqube Scanner / Prepare environment (push) Successful in 6s
Sonarqube Scanner / Build and test (push) Successful in 27s
Sonarqube Scanner / SonarQube analysis (push) Failing after 1m14s
Sonarqube Scanner / Deploy to Server (push) Successful in 10s

This commit is contained in:
Florian Zumpe
2026-10-18 17:24:41 +02:00
parent 31768ae907
commit 0e4cdfbd54
18 changed files with 400 additions and 49 deletions
+18 -3
View File
@@ -1,7 +1,7 @@
# Agent-Hinweise zur Gruppenbearbeitung
Implementierter erster Stand: gemeinsame serverseitige Kopien von eigenen und
veröffentlichten Strecken, acht Unicode-Wichtel im Einladungscode, Drehrad-Eingabe,
veröffentlichten Strecken, fünf Unicode-Wichtel im Einladungscode, Drehrad-Eingabe,
Sitzungen, Rollen owner/member, Codewechsel und Widerruf. Bedienung und Einspielen:
[Gruppenbearbeitung.md](../Gruppenbearbeitung.md).
@@ -14,8 +14,10 @@ Sitzungen, Rollen owner/member, Codewechsel und Widerruf. Bedienung und Einspiel
übermittelten creator_id oder eines von einem Client behaupteten Rollenfelds vergeben.
- Sitzungsgeheimnisse nur als Hash serverseitig und als HttpOnly-/SameSite-Strict-
Cookie auf dem Client speichern; bei HTTPS zusätzlich Secure. Nicht ausgeben.
- Einladungscodes haben acht der vorhandenen neun Symbole, werden mit randomInt
gewählt und nur gehasht gespeichert. Gültigkeit eine Stunde; falsche Versuche
- Einladungscodes haben fünf Stellen mit den vorhandenen neun Symbolen.
Wiederholungen sind erlaubt; jede Stelle wird unabhängig mit randomInt
gewählt. Codes werden dauerhaft nur gehasht gespeichert; der aktuelle Klartext wird für
die Besitzeranzeige im Arbeitsspeicher des App-Prozesses gehalten. Gültigkeit 30 Minuten; falsche Versuche
sind begrenzt. Variationselektoren ändern die Unicode-Zuordnung nicht.
- Schutz auch auf den ursprünglichen /api/routes/...-Adressen für alle Gruppen-
Dateien durchsetzen. Anders geschriebene IDs (führende Nullen, Prozentkodierung,
@@ -77,3 +79,16 @@ Sitzungen, Rollen owner/member, Codewechsel und Widerruf. Bedienung und Einspiel
Erfolgsantworten, gezieltes Zusammenführen einzelner Felder und Auflösung
entfernter Stationen sowie verteilte Sperren. Eine nachfolgende Aufnahme
kann nicht ohne Einschränkungen zurückgerufen werden.
- Einladungscodes nach 30 Minuten automatisch erneuern, solange keine aktive
Stationssperre vorliegt. Abgelaufene Codes erlauben keinen neuen Beitritt, auch
wenn ihre Erneuerung wegen aktiver Stationen aufgeschoben ist. Mitgliedschaften
bleiben erhalten. Wartung im Serverprozess starten und beim Beenden stoppen.
- Sperren nach 60 Minuten ohne Aktivität entfernen; updated_at bei tatsächlicher
Bearbeitung/Speicherung aktualisieren. Reine Statusabfragen und unbenutzte
Fenster dürfen die Frist nicht verlängern. Laufende Schreibanfragen nicht
wegen Zeitablauf entsperren. Zeitprüfung auch vor dem endgültigen Speichern.
- GET auf den Stations-Sperrpfad liefert 204 für frei, 423 für gesperrt, 404 für
nicht vorhanden; bestehende Gruppenrechte gelten unverändert. Heartbeats sind
POSTs mit eigenem Bearbeitungsschlüssel und dürfen weder fremde noch bereits
abgelaufene Sperren übernehmen.