fix(gui): Recorder-Zustand nach Neuladen vom Server holen
Die GUI hielt `recording`/`recStart`/`markers` nur im Browser-State und fragte den Server nie danach. Nach jedem F5 stand der Recorder auf 00:00, obwohl parecord weiterlief — und das Kopfband malte den Start- statt des Stop-Knopfes, die laufende Aufnahme war aus der GUI also nicht mehr beendbar. `rehydrateRecording()` liest nach dem ersten render() `GET /api/health` und stellt Laufzeit, Namensmarker und Live-Karte wieder her; Fehler bleiben still. Nebeneffekt: ein zweites Gerät sieht die laufende Aufnahme ebenfalls. Doku: Kapitel 03 neuer Abschnitt + /api/health in der Endpunkt-Tabelle, Changelog-Eintrag 2026-08-10. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1652,4 +1652,22 @@ function analysisBadge(st) {
|
||||
return '';
|
||||
}
|
||||
|
||||
// Der Aufnahmezustand lebt im Server (recorder.js `current`), nicht im Browser.
|
||||
// Ohne diesen Abgleich zeigt der Recorder nach jedem Neuladen 00:00, obwohl
|
||||
// parecord weiterläuft — und der Stop-Knopf ist unerreichbar, weil das Kopfband
|
||||
// dann den Start-Knopf malt.
|
||||
async function rehydrateRecording() {
|
||||
try {
|
||||
const h = await api.get('/api/health');
|
||||
if (!h || !h.recording) return;
|
||||
state.recording = true;
|
||||
state.recStart = h.startedAt || Date.now();
|
||||
state.markers = h.markers || [];
|
||||
state.mkDraft = '';
|
||||
render();
|
||||
if (state.tab === 'recordings') { state.lastListSig = null; refreshRecList(); }
|
||||
} catch (err) { /* Server nicht erreichbar: normale Ansicht, kein Toast */ }
|
||||
}
|
||||
|
||||
render();
|
||||
rehydrateRecording();
|
||||
|
||||
Reference in New Issue
Block a user