Skip to content

feat: play generated video links inside Codeman - #46

Open
johoja12 wants to merge 2 commits into
localfrom
feat/45-video-url-preview
Open

johoja12 wants to merge 2 commits into
localfrom
feat/45-video-url-preview

Conversation

@johoja12

@johoja12 johoja12 commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Generated videos shared as direct HTTP(S) links now play inside Codeman's existing preview modal when clicked in a terminal or rendered response. MP4, WebM, MOV, M4V and OGV links retain signed query strings. Native controls provide seeking, fullscreen and inline mobile playback; close/replacement pauses and unloads the player. Playback errors retain an enabled “Open in new tab” fallback.

Local and remote-workspace videos use the existing guarded file preview routes, including generated file-URI and relative video links. Ordinary links and localhost proxy links retain their existing routing. External video bytes go directly from the browser to the host; no server URL-fetch proxy is added. CSP permits external media while keeping script/frame restrictions. The service worker leaves media and range requests to the native network path instead of caching streams or partial responses.

Fixes #45.

Validation:

  • 333 unit/regression tests pass, including URL rejection, link routing, existing media lifecycle, preview navigation, security headers and service-worker streaming exclusions.
  • Six real Chromium browser tests pass: desktop terminal clicks, mobile terminal taps, plain and labelled OSC 8 links, real MP4 playback/seeking, stream teardown, rendered response links, broken video fallback and CSP. Tests run with an active service worker.
  • Typecheck, lint, formatting, lockfile, frontend syntax, browser-test exclusions and public assets checks pass.
  • Isolated realistic smoke: 106 checks pass, no browser page or serious console errors, and temporary sessions/server cleaned up. Claude checks skipped because the CLI is not logged in; remote-host checks skipped because no smoke host was configured.

Native codec support and the video host's availability still govern playback. Mobile coverage is Chromium touch emulation, not a physical iOS test.

Desktop:
Video preview on desktop

Mobile:
Video preview on mobile

@coderabbitai

coderabbitai Bot commented Nov 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e2007b5c-f1d5-458e-aebd-cf5ab8843ac1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

1 participant