Files
ytLlive/HANDOFF.md
T

1.8 KiB

HANDOFF — session state

Current operational state, read right after TASKS.md. Trust this file as the truth of what is in flight — do not re-derive from git/fs unless it points at a problem. Conventions: schema.md. Rewrite this file at session end, compaction, or any interruption.

Session state (last updated: 2026-08-12)

  • Finished: Webcam resource validation + first-frame proof — merged to main and pushed. MediaCaptureFrameSource validates post-init (VideoDeviceId match, stream properties, reader StartAsync status), subscribes Failed/CameraStreamStateChangedSourceFailed; CameraManager.AcquireAsync requires first-frame proof (4s timeout); MainViewModel surfaces WebcamError chip + MessageBox with suspect-app names (CameraConflictProbe). Tested locally — NVIDIA Broadcast identified as the camera hog, killed it, webcam works. 81 tests passing, 0 warnings.
  • In flight: Nothing. Clean tree on main.
  • Landmine: 19041 SDK projection gaps: MediaCaptureSharingMode.Exclusive + MediaCapture.DeviceLost not projected; CameraStreamState enum member names omitted (compare by (int) — 2=Failed). The Aug 11 social-bar work is gone (git gc-pruned, opencode.db reinitialized, gitea refuses unadvertised fetch) — rebuild from scratch per TASKS.md item 14.
  • Next step: Branch B — social bar (global resource, validated lookups, top/bottom + LCR, freemium YT+1 / premium unlimited, +/- scene toggle). Spec in TASKS.md item 14.
  • Secret/DB/port facts live: OAuth client id/secret in Helpers/OAuthCredentials.cs; OAuth session token in Helpers/TokenStore.cs (DPAPI → %APPDATA%\ytLlive\ytLlive.auth); layout DB %APPDATA%\ytLlive\ytLlive.db (schema v6); OAuth callback http://localhost:8765/oauth2/callback; crash log %APPDATA%\ytLlive\startup.log.