Idle-Pause vorerst NUR in Klima (per-App-Freischaltung)

Die plattformweite Idle-Pause stoerte passive/iframe-Phasen (Heli-Flug: aktiv gesteuert,
aber Steuerung im iframe/Halte-Taste zaehlte nicht als Interaktion -> Fehlpause).
Jetzt Allowlist (klima/klima-3d) bzw. window.GGS_IDLE_PAUSE=true. Andere Apps: keine
Auto-Pause, bis sie dort einzeln getestet + die Interaktionserfassung angepasst ist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 12:27:01 +02:00
parent 0532327e6a
commit 6dfcf4d57f
+6 -1
View File
@@ -57,6 +57,11 @@
// echtes Weg-Sein (anderer Tab) wird über die Tab-Sichtbarkeit ausgeblendet.
var IDLE_THRESHOLD_MS = 300000; // 5 min ohne jede Regung → idle (Backstop)
var IDLE_PAUSE_MS = 180000; // 3 min → sichtbare Pause mit „Weiter"-Button
// Sichtbare Idle-Pause vorerst NUR dort, wo sie getestet ist. Sonst stört sie
// passive Phasen (z. B. die Heli-Flug-Animation, wo man minutenlang nur zuschaut).
// Freischalten pro App: Sim hier eintragen ODER window.GGS_IDLE_PAUSE=true setzen.
var IDLE_PAUSE_SIMS = ['klima', 'klima-3d'];
var IDLE_PAUSE_ENABLED = IDLE_PAUSE_SIMS.indexOf(simId) !== -1 || window.GGS_IDLE_PAUSE === true;
var MAX_SESSION_MS = 7200000; // 120 min — Plattform-Hardcap
var TICK_MS = 1000; // Auflösung der activeMs-Akkumulation
var sessionStartedAt = Date.now();
@@ -96,7 +101,7 @@
// Nach 3 min Untätigkeit: sichtbare Pause einblenden (friert die Zeit ein,
// damit Idle nicht als Arbeitszeit zählt). Nicht im Spectator-Modus und
// nicht, während die Lehrperson ohnehin pausiert hat.
if (idleFor >= IDLE_PAUSE_MS && !isSpectator()
if (IDLE_PAUSE_ENABLED && idleFor >= IDLE_PAUSE_MS && !isSpectator()
&& !(pauseOverlay && pauseOverlay.style.display !== 'none')) {
showIdlePause();
return;