Repository navigation
feat: add a controller-first full-screen video player - #212
Merged
Merged
Conversation
nextestudios
force-pushed
the
feature/61-video-player
branch
3 times, most recently
from
September 27, 2026 22:51
36d982b to
23d9028
Compare
In-app video on the Windows MediaPlayer in a full-window layer under the modal layer: an overlay that fades while playing, previewed bounded seeks (D-pad, shoulders, triggers), volume, subtitle and audio track options, Back hides the overlay first, and resume/start over per exact file stored as a digest only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
nextestudios
force-pushed
the
feature/61-video-player
branch
from
September 27, 2026 22:53
23d9028 to
29b0fc2
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.
Summary
Implements the basic in-app video preview (#61) and the controller-first full-screen player (#170) in one PR, since #170 builds directly on #61.
VideoPlayerViewlayer covers the whole window under the modal layer, so menus/dialogs open on top without recreating the video element; the window switches to full screen while a video is open and restores afterwards (a user F11 is left alone)..srt/.vtt, audio track when >1, mute, start over, forget position) with unavailable entries disabled and explained; Back hides the overlay first, then closes and restores folder + focused file.playback.json(max 500). Reopening the same file asks Continuar de m:ss / Começar do início / back; another file with the same name or an edited file does not resume. Ending the video or "Esquecer onde parei" forgets it; Configurações → Apagar onde os vídeos pararam clears all.docs/security-model.md, privacy note indocs/PRIVACY.md. Render harness:mv-video-playerwith a generated uncompressed AVI.Tested in CI
VideoPlayerJourneyTests(fake player/store/clock): overlay fade and reveal, previewed seek accumulation/commit/bounds/cancel, Back hides overlay before closing, focus restored; resume offered only for the same file, resume applied when seekable, subtitles selectable and missing audio tracks explained, ended video forgets the position; unsupported codec message with Back only.Manual checks (docs/TESTING.md, "Vídeo (#61, #170)")
mv-video-playercapture).Closes #61
Closes #170
🤖 Generated with Claude Code