Live: weltkueche-Spalten kuratiert; pausierte Sessions bleiben sichtbar

- LIVE_PRIMARY_FIELDS.weltkueche: Gericht/Herkunft/Zutaten/Gerichte/Fehlklicks
  (statt Rohdaten-Dump aller State-Keys) — 5 Spalten, kein Quer-Scroll
- Idle/Pause: live.php Fenster 30s->2h (LIVE_IDLE_WINDOW_SEC); Aktuell zeigt
  laenger inaktive Sessions als "pausiert" (⏸, grau) statt sie zu verlieren;
  braucht-Hilfe + aktiv-Zaehler nur fuer wirklich aktive Sessions

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 00:43:40 +02:00
parent 07010f2302
commit ebdd1ce438
2 changed files with 50 additions and 11 deletions
+5 -1
View File
@@ -19,6 +19,10 @@ $method = $_SERVER['REQUEST_METHOD'];
$db = Database::get();
const LIVE_ACTIVE_WINDOW_SEC = 30;
// Pausierte Sessions (Tab weg / lange idle) bleiben so lange in der Live-Liste
// sichtbar — der/die Lernende kann später weitermachen, die Lehrkraft sieht die
// Session als „pausiert" statt sie fälschlich als beendet zu verlieren.
const LIVE_IDLE_WINDOW_SEC = 7200; // 2 h
if ($method === 'POST') {
$sessionId = Session::requireStudent();
@@ -862,7 +866,7 @@ if ($method === 'GET') {
WHERE ls.class_id = ?
AND ls.last_seen > NOW() - INTERVAL ? SECOND
ORDER BY ls.last_seen DESC',
[$classId, LIVE_ACTIVE_WINDOW_SEC]
[$classId, LIVE_IDLE_WINDOW_SEC]
);
$list = array_map(function($r) {
return [