kuerzere Sperrfrist fuer als heikel gemeldete Sichten
Am geteilten Werkstatt-Geraet sind nicht alle Sichten gleich heikel: ein
Schichtplan darf 20 Minuten offen stehen, ein Lohnzettel nicht. Bisher gab es
genau EINE geraeteweite Untaetigkeits-Frist.
🔴 DIE ENTSCHEIDUNG, DIE DER AUFTRAG ZU MESSEN VERLANGTE — die Sicht MELDET sich
als heikel, statt eine Dauer zu uebersteuern. Der Grund ist kein Geschmack:
eine Flaeche, die eine ZAHL setzen darf, kann die Frist auch VERLAENGERN. Das
waere ein Sicherheits-Rueckschritt, den niemand bemerkt — kein Fehler, keine
Meldung, nur eine Sicht, die laenger offen steht als der Mandant erlaubt hat.
Man muesste ihn mit `Math.min` abfangen — und waere damit faktisch bei dieser
Loesung, nur mit einer API, die etwas anderes verspricht als sie tut.
Die Flaeche sagt WAS sie ist, die Bibliothek entscheidet WIE LANGE; die
Frist-Hoheit bleibt beim Mandanten.
KEINE zweite Sperre: es bleibt bei dem EINEN Zeitgeber, nur der Wert aendert
sich, mit dem er gestellt wird.
🔴 Der laufende Zeitgeber wird beim An- und Abmelden SOFORT neu gestellt. Ohne
das griffe die kuerzere Frist erst nach der naechsten Nutzer-Aktivitaet — also
genau dann NICHT, wenn jemand die heikle Sicht oeffnet und weglaeuft, ohne
etwas anzufassen. Das ist der Fall, fuer den es die Faehigkeit gibt.
🔴 Ein SET statt eines Schalters: bei einem Sichten-WECHSEL meldet sich die
zweite Sicht an, BEVOR die erste sich abmeldet. Ein boolean wuerde beim
`leave` der ersten zuruecksetzen, und die zweite stuende still auf der langen
Frist. Als Probe festgenagelt.
Rein additiv: ohne `enterSensitiveView()` verhaelt sich alles byte-identisch
wie bisher (`sensitiveViews.size === 0` -> regulaere Frist). Die neue
Kontext-Methode ist optional.
Proben 62/62 (17 neu), Bau gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PmMj9oQCU9nxusjcbD8Dp8
Schichtplan darf 20 Minuten offen stehen, ein Lohnzettel nicht. Bisher gab es
genau EINE geraeteweite Untaetigkeits-Frist.
🔴 DIE ENTSCHEIDUNG, DIE DER AUFTRAG ZU MESSEN VERLANGTE — die Sicht MELDET sich
als heikel, statt eine Dauer zu uebersteuern. Der Grund ist kein Geschmack:
eine Flaeche, die eine ZAHL setzen darf, kann die Frist auch VERLAENGERN. Das
waere ein Sicherheits-Rueckschritt, den niemand bemerkt — kein Fehler, keine
Meldung, nur eine Sicht, die laenger offen steht als der Mandant erlaubt hat.
Man muesste ihn mit `Math.min` abfangen — und waere damit faktisch bei dieser
Loesung, nur mit einer API, die etwas anderes verspricht als sie tut.
Die Flaeche sagt WAS sie ist, die Bibliothek entscheidet WIE LANGE; die
Frist-Hoheit bleibt beim Mandanten.
KEINE zweite Sperre: es bleibt bei dem EINEN Zeitgeber, nur der Wert aendert
sich, mit dem er gestellt wird.
🔴 Der laufende Zeitgeber wird beim An- und Abmelden SOFORT neu gestellt. Ohne
das griffe die kuerzere Frist erst nach der naechsten Nutzer-Aktivitaet — also
genau dann NICHT, wenn jemand die heikle Sicht oeffnet und weglaeuft, ohne
etwas anzufassen. Das ist der Fall, fuer den es die Faehigkeit gibt.
🔴 Ein SET statt eines Schalters: bei einem Sichten-WECHSEL meldet sich die
zweite Sicht an, BEVOR die erste sich abmeldet. Ein boolean wuerde beim
`leave` der ersten zuruecksetzen, und die zweite stuende still auf der langen
Frist. Als Probe festgenagelt.
Rein additiv: ohne `enterSensitiveView()` verhaelt sich alles byte-identisch
wie bisher (`sensitiveViews.size === 0` -> regulaere Frist). Die neue
Kontext-Methode ist optional.
Proben 62/62 (17 neu), Bau gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PmMj9oQCU9nxusjcbD8Dp8