fix tests and change invitation mechanics
This commit is contained in:
+32
-23
@@ -1,18 +1,18 @@
|
||||
# Gemeinsam bearbeiten
|
||||
|
||||
In „Strecken bearbeiten“ öffnet der kleine Button mit zwei gezeichneten Wichteln
|
||||
zwischen Stift und
|
||||
Löschen den gemeinsamen Entwurf und zeigt anschließend den echten Code mit
|
||||
fünf Wichteln in einem großen Popup an. Eine vorgeschaltete Zwei-Wichtel-Vorschau
|
||||
gibt es nicht mehr. Das Original bleibt unverändert. Bei lokalen Entwürfen
|
||||
fragt die App vorher, ob Weg, Stationen, Bilder und Ton übertragen werden dürfen.
|
||||
Ein bereits eingesandter eigener Entwurf wird dabei zuerst aktualisiert.
|
||||
zwischen Stift und Löschen zuerst ein großes Popup zur Codeauswahl. Die fünf
|
||||
Drehräder sind zufällig vorbelegt. Du kannst jeden Wichtel ändern; Wiederholungen
|
||||
sind erlaubt. Erst „Diesen Code verwenden“ bestätigt deine Auswahl. Abbrechen
|
||||
legt keine Gruppe an und überträgt keine Strecke. Bei lokalen Entwürfen fragt
|
||||
die App danach, ob Weg, Stationen, Bilder und Ton übertragen werden dürfen.
|
||||
Ein bereits eingesandter eigener Entwurf wird zuerst aktualisiert. Anschließend
|
||||
zeigt ein eigenes Popup den gespeicherten Code. Die Bearbeitung beginnt erst
|
||||
mit „Entwurf bearbeiten“. Das Original bleibt unverändert.
|
||||
|
||||
Danach zeigt die App fünf Wichtel als Gruppencode. Andere öffnen in der
|
||||
Streckenverwaltung „Gruppencode eingeben“. Ein eigenes breites Popup bietet
|
||||
Platz für alle fünf Drehräder. Dort schieben sie die Bilder in den fünf
|
||||
Drehrädern nach oben oder unten. Es zählen die Wichtel in der Mitte, von links
|
||||
nach rechts. Wiederholungen sind erlaubt. Pfeiltasten und die Pfeilschaltflächen
|
||||
Andere öffnen in der Streckenverwaltung „Gruppencode eingeben“. Dort schieben
|
||||
sie die Bilder in fünf Drehrädern nach oben oder unten. Es zählen die Wichtel
|
||||
in der Mitte, von links nach rechts. Pfeiltasten und Pfeilschaltflächen
|
||||
funktionieren ebenfalls. „Mitmachen“ öffnet den gemeinsamen Entwurf.
|
||||
|
||||
## Arbeiten und Einladungen
|
||||
@@ -25,12 +25,19 @@ funktionieren ebenfalls. „Mitmachen“ öffnet den gemeinsamen Entwurf.
|
||||
- Wenn jemand zwischenzeitlich gespeichert hat, weist die App den veralteten
|
||||
Speicherversuch zurück. Die Eingaben bleiben stehen und können vor dem Laden
|
||||
des neuen Stands gesichert werden. Es gibt noch keine automatische Zusammenführung.
|
||||
- Der Einladungscode gilt 30 Minuten. Anschließend erzeugt die Website automatisch
|
||||
einen neuen Code, sobald keine Station mehr gesperrt ist. Ein abgelaufener Code
|
||||
erlaubt auch während einer Bearbeitung keinen neuen Beitritt. Bereits beigetretene
|
||||
Personen behalten ihren Zugang. Das geöffnete Codefenster prüft alle 30 Sekunden
|
||||
auf einen neuen Code. Die eröffnende Person kann mit „Neuen Code anzeigen“ auch
|
||||
früher wechseln; während einer Stationsbearbeitung wartet auch dieser Wechsel.
|
||||
- Der Einladungscode gilt 60 Minuten. Erfolgreiches Mitmachen, Öffnen zur
|
||||
Bearbeitung, Übernehmen einer Station, gemeldete tatsächliche Bearbeitungsaktivität
|
||||
und erfolgreiches Speichern setzen die Frist erneut auf 60 Minuten.
|
||||
Listen, Codeanzeige, reine Datenabrufe und Sperrstatusabfragen verlängern sie nicht.
|
||||
- Das Code-Popup zeigt Ablaufzeit und verbleibende Minuten und Sekunden. Die
|
||||
Restzeit zählt herunter; neue Aktivität wird spätestens nach 30 Sekunden übernommen.
|
||||
- Der Code wird niemals automatisch geändert oder neu erzeugt. Nach Ablauf
|
||||
erlaubt er keinen neuen Beitritt. Bereits beigetretene Personen behalten ihren
|
||||
Zugang und können durch erneute Bearbeitung die Gültigkeit desselben Codes verlängern.
|
||||
- „Gruppencode“ zeigt den gespeicherten Code erneut an. „Code auswählen“ öffnet
|
||||
die Auswahl; nur eine ausdrückliche Bestätigung ändert oder reaktiviert den Code.
|
||||
Während einer Stationsbearbeitung wartet ein Codewechsel, bis die Stationen frei sind.
|
||||
Bereits verwendete Codes anderer Gruppen werden mit einem Hinweis abgewiesen.
|
||||
- „Gruppe schließen“ entfernt den Zugang der anderen Personen und den Code.
|
||||
Die eröffnende Person behält ihren Entwurf und kann wieder einen Code erzeugen.
|
||||
- Es sind höchstens 50 Zugänge je Gruppe und zwölf gleichzeitig offene Gruppen
|
||||
@@ -74,7 +81,8 @@ npm run test:runtime-db
|
||||
systemctl --user restart wegwichtel.service
|
||||
```
|
||||
|
||||
`init-db` legt die drei neuen STRICT-Tabellen an. Es verändert keine bestehenden
|
||||
`init-db` legt fehlende STRICT-Tabellen an, einschließlich `collaboration_invitations`
|
||||
für die dauerhaft gespeicherten Codes. Es verändert keine bestehenden
|
||||
Streckentabellen und löscht keine Strecken. Eine Neuerzeugung oder das Löschen
|
||||
der vorhandenen Datenbank ist hierfür nicht erforderlich.
|
||||
|
||||
@@ -154,8 +162,9 @@ zur vorhandenen Anzeige des belegten Gerätespeichers. Browserdaten-Löschung ka
|
||||
sie entfernen. Sie enthalten nur die betroffene Station und neu ausgewählte
|
||||
Dateien; vorhandene Aufnahmen werden hierfür nicht gesammelt heruntergeladen.
|
||||
|
||||
Einladungen werden dauerhaft weiterhin nur als Hash gespeichert. Den neu erzeugten
|
||||
Klartext hält der App-Prozess im Arbeitsspeicher für die berechtigte Anzeige vor.
|
||||
Nach einem App-Neustart bleibt der zuletzt gültige Code weiterhin bis zu seinem
|
||||
Ablauf verwendbar. Falls er auf dem Gerät nicht mehr angezeigt wird, kann die
|
||||
eröffnende Person bei freien Stationen einen neuen Code anfordern.
|
||||
Die ausgewählten Codes liegen in `collaboration_invitations`, der zugehörige
|
||||
SHA-256-Abdruck und Ablaufzeitpunkt in `collaboration_groups`. Nur die berechtigte
|
||||
eröffnende Sitzung kann den Code abrufen. Nach einem App-Neustart wird derselbe
|
||||
Code wieder angezeigt; es findet kein automatischer Ersatz statt. Bestehende
|
||||
Gruppen aus der vorherigen Version enthalten noch keinen gespeicherten Klartext.
|
||||
Für sie muss die eröffnende Person einmal ausdrücklich einen Code auswählen.
|
||||
|
||||
Reference in New Issue
Block a user