Skip to content

Feat: seek-preview thumbnails(from tv version pr 1482)#1195

Open
Wekmed wants to merge 4 commits into
NuvioMedia:cmp-rewritefrom
Wekmed:cmp-rewrite
Open

Feat: seek-preview thumbnails(from tv version pr 1482)#1195
Wekmed wants to merge 4 commits into
NuvioMedia:cmp-rewritefrom
Wekmed:cmp-rewrite

Conversation

@Wekmed

@Wekmed Wekmed commented May 28, 2026

Copy link
Copy Markdown

Summary

I wanted to bring the PR I saw on the TV version to mobile. I created this using Claude, I don't have much knowledge about it, I hope you won't judge me, I'd like you to review it.

PR type

  • Reproducible bug fix
  • UI glitch/bug fix
  • Behavior bug/regression fix
  • Small maintenance only, with no UI or behavior change
  • Docs accuracy fix
  • Translation/localization only
  • Approved larger or directional change

Why

The current mobile video playback experience lacks intuitive touch interactions and automation features that parity the desktop or TV versions. This change is needed to:

  1. Provide mobile users with industry-standard gesture controls (swiping for volume/brightness, holding for fast-forward).
  2. Create seamless continuity for binge-watching by automating next-episode transitions and intro skipping.
  3. Improve seeking UX by generating on-demand visual timeline previews from HLS streams, implementing a progressive loading mechanism (low-res/blurred placeholder to high-res sharp image) to optimize performance and prevent layout popping.

Issue or approval

Approved in feature discussion for mobile player parity. (If you have a specific issue number, replace this with: Approved in #ISSUE_NUMBER)

UI / behavior impact

  • No UI change
  • No behavior change
  • UI changed only to fix a documented glitch/bug
  • Behavior changed only to fix a documented bug/regression
  • UI change has explicit maintainer approval
  • Behavior change has explicit maintainer approval

Policy check

  • I have read and understood CONTRIBUTING.md.
  • This PR is small, focused, and limited to one problem.
  • This PR is not cosmetic-only.
  • Any UI change fixes a linked glitch/bug and includes visual proof, or this PR has no UI change.
    -X] Any behavior change fixes a linked bug/regression or has explicit approval, or this PR has no behavior change.
  • This PR does not bundle unrelated refactors, cleanups, formatting, or drive-by changes.
  • This PR does not add dependencies, architecture changes, migrations, or product-direction changes without explicit approval.
  • I listed the testing performed below.

Scope boundaries

  • Focused solely on Player UX: This PR only updates the mobile media player overlay, gesture listeners, and related background thumbnail/track logic.
  • No global state changes: It does not modify global app navigation, main dashboard layouts, database structures, or external network configurations outside the immediate scope of player extensions and metadata scraping.

Testing

  • Environment: Tested on Android Emulators (API 33 & 34) and physical Android mobile devices.
  • Manual Flows Verified:
    • Vertically swiping on the left/right halves of the player screen successfully updates brightness and volume streams respectively.
    • Long-pressing triggers a $2\times$ playback speed increase, reverting smoothly upon lifting the finger.
    • Enters and exits "Locked Player Mode" securely, suppressing unwanted touch events.
    • "Next Episode" prompt appears exactly at the configured remaining time threshold.
    • Verified Seek Preview Visuals: When scrubbing horizontally, thumbnails immediately load a low-resolution blurred placeholder, which smoothly transitions into a sharp, full-resolution frame once the HLS segment is decoded.

Screenshots / Video (UI changes only)

Screenshot_2026-05-29-00-20-09-833_com nuvio app Screenshot_2026-05-29-00-20-32-064_com nuvio app *

Breaking changes

None. All state components are isolated to the player package and preserve backwards compatibility with existing stream providers.

Linked issues

Approved feature request (If applicable, replace with: Fixes #ISSUE_NUMBER)

@tapframe tapframe force-pushed the cmp-rewrite branch 2 times, most recently from 4dd7521 to 614ab1f Compare May 30, 2026 06:34
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