Skip to content

feat(editor): resume past recordings from the empty-state dashboard#21

Merged
joaothaira merged 1 commit into
mainfrom
feat/resume-past-recordings
Jun 11, 2026
Merged

feat(editor): resume past recordings from the empty-state dashboard#21
joaothaira merged 1 commit into
mainfrom
feat/resume-past-recordings

Conversation

@ThairaHub

Copy link
Copy Markdown
Collaborator

Recordings write a *.session.json manifest, but nothing ever read them back as a list — only the single in-memory current session could be reopened. Any take not explicitly saved as a .openscreen project was stranded once another recording replaced it: the files sat on disk with a valid manifest and no UI could open them (importing the .mp4 manually loses the webcam sidecar and cursor telemetry).

What's new

  • list-recording-sessions (main): scans RECORDINGS_DIR for manifests, validates each (skips stale ones whose video was deleted; drops a missing webcam sidecar but keeps the session), returns newest-first with file size.
  • open-recording-session (main): path-validated; reuses the existing loadRecordedSessionForVideoPath loader and sets the chosen session as current.
  • Empty-state dashboard: a Recent recordings section — date, webcam badge, size — one click opens the take in the editor with webcam + cursor telemetry intact.
  • VideoEditor: the session-apply logic from loadInitialData is extracted into applyRecordingSession and shared by the startup path and the new dashboard path (no behavior change on startup).

Flow

Fresh launch with no current session → dashboard lists past takes. Otherwise: New Project (clears current session) → dashboard → pick a take.

Verification

  • tsc --noEmit 0 errors, biome check clean, vitest 225/225, i18n-check all 12 locales, vite build OK
  • New locale keys English-filled per fork policy

🤖 Generated with Claude Code

Recording manifests (*.session.json) were write-only: only the
in-memory current session could be reopened, so any take not saved as
a .openscreen project was stranded once another recording replaced it
(importing the .mp4 manually loses the webcam sidecar and cursor
telemetry the manifest references).

- list-recording-sessions: scans RECORDINGS_DIR manifests, skips stale
  ones (video deleted), drops missing webcam sidecars, newest first.
- open-recording-session: validates the path and re-sets the chosen
  session as current, reusing the existing manifest loader.
- EditorEmptyState shows a Recent recordings list (date, webcam badge,
  size) that opens straight into the editor.
- VideoEditor: session-apply logic extracted into applyRecordingSession,
  shared by startup load and the new dashboard path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@joaothaira joaothaira merged commit 18c661f into main Jun 11, 2026
4 checks passed
@joaothaira joaothaira deleted the feat/resume-past-recordings branch June 11, 2026 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants