Repository navigation
feat: host and play video files - #17
Merged
Merged
Conversation
Serve mp4/m4v/mov with video MIME types and range support, and open standalone videos in a native player with open-original/download controls and [m:ss] timestamp comments. .webm stays audio/webm so voice notes keep working; the viewer probes .webm metadata and switches to the video player when the file has a picture. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A video webm used to open in the audio player and swap to video when metadata arrived, stopping playback if you'd already hit play. Show a spinner until the probe settles; unreadable files fall back to audio. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Addresses the thermo-nuclear quality review on this PR: - lib/media.ts: one extension table and fileKindOf (replaces lib/audio isAudioFile, lib/image, lib/video and their three extOf copies) - useMediaKind folds the webm probe into 'probing' | 'audio' | 'video' | 'image' | 'document'; the viewer renders a MediaPane switch - MediaToolbar shared by image and video views - probe settles once and times out after 5s so a stalled file falls back to the audio player instead of spinning forever Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Exhaustive MediaPane return type, one key at the call site, reuse isMedia, merged probe test setup into one file, and restored ogg/oga/flac/aac coverage in media.test.ts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
notsuhas
marked this pull request as ready for review
October 9, 2026 13:08
notsuhas
force-pushed
the
feat/video-hosting
branch
from
October 9, 2026 13:08
f7b4eb8 to
b7d0be9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets people deploy mp4, m4v, mov and webm files and watch them in the viewer, same as audio and images. Main use is agent-rendered explainer videos.
What changed
Why webm stays audio/webm
Voice notes depend on it. Comment voice uploads resolve their extension through AUDIO_EXTENSIONS and the reverse audio MIME map. Recorded voice sites are saved as recording.webm. The "pure audio" site flag is also built from AUDIO_EXTENSIONS. Switching webm to video/webm would break all three. Browsers decode by content, not by Content-Type, so a
Testing
Notes
🤖 Generated with Claude Code