Repository navigation
feat(direct): hold the video 2s to reveal skip controls - #252
Merged
Merged
Conversation
The seek strip used to open from a tap on the center 20% of the video, which fired on ordinary taps meant for the player. It now opens only from a 2s press anywhere above the native controls. A tap anywhere else, including tabs and page chrome, dismisses it. A one-time hint (SeekHoldHint, remembered in localStorage) teaches the gesture, and the touch help text now says "Hold the video 2s to skip". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
What
pointerdownlistener). It still auto-dismisses after 3s idle.SeekHoldHintshows a one-time tip until the viewer taps "Got it", remembered inlocalStorage. The touch help line now reads "Hold the video 2s to skip".Tests
Ran on this branch, on top of current
develop, with Node 26:apps/webVitest: 90 files, 920 passed, 3 skipped. That includes newSeekHoldHinttests (3) and the updatedSeekOverlay(19),MuxStreamPlayerandVidstackPlayertests.multi-user-chat› "should handle simulated network delay" failed once. It passed 3 of 3 times on its own and in the next full run, so it's a timing flake, not related to this change.apps/webtsc --noEmit: clean.e2e/seek-protection.spec.tswas updated to use the long press, but Playwright was not run for this PR.🤖 Generated with Claude Code