Skip to content

fix: surface errors from silent catch blocks in webcam flow - #69

Merged
veillette merged 2 commits into
mainfrom
claude/codebase-review-S4BPK
Feb 28, 2026
Merged

fix: surface errors from silent catch blocks in webcam flow#69
veillette merged 2 commits into
mainfrom
claude/codebase-review-S4BPK

Conversation

@veillette

Copy link
Copy Markdown
Collaborator
  • Move try-catch into WebcamPanel.open() so any unexpected failure from
    requestPermission/startPreview shows the "Camera access denied" status
    to the user instead of propagating and silently hiding the panel.
  • Remove the now-redundant try-catch wrapper in VideoSourceControlNode's
    webcam button listener (open() is guaranteed not to throw).
  • Call clearStatus() in the useVideo catch so the stale "fixing metadata…"
    status is dismissed when fixWebmDuration fails and we fall back to the
    raw blob.
  • Annotate the WebM frame-count .catch() fallback with a comment to make
    the intentional degraded-experience explicit.

https://claude.ai/code/session_016vPqWh45duQNAFQsaedefn

- Move try-catch into WebcamPanel.open() so any unexpected failure from
  requestPermission/startPreview shows the "Camera access denied" status
  to the user instead of propagating and silently hiding the panel.
- Remove the now-redundant try-catch wrapper in VideoSourceControlNode's
  webcam button listener (open() is guaranteed not to throw).
- Call clearStatus() in the useVideo catch so the stale "fixing metadata…"
  status is dismissed when fixWebmDuration fails and we fall back to the
  raw blob.
- Annotate the WebM frame-count .catch() fallback with a comment to make
  the intentional degraded-experience explicit.

https://claude.ai/code/session_016vPqWh45duQNAFQsaedefn
VideoPlayerNode.reset() cleared the video element's src but left
currentBlobUrl un-revoked. The orphaned URL held a reference to the
last-loaded blob, preventing GC until the next video was loaded (or
the player was disposed). Revoke and null it at the start of reset()
to match the cleanup already done in disposeVideoPlayer().

https://claude.ai/code/session_016vPqWh45duQNAFQsaedefn
@veillette
veillette merged commit 5a41659 into main Feb 28, 2026
1 check passed
@veillette
veillette deleted the claude/codebase-review-S4BPK branch March 1, 2026 01:12
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