K7 v1.7.0
Highlights
-
Keep Watching from playback bookmarks
Resume position and series next-up now live in dedicated bookmarks, not on durable watch state. If you finished a season and a later season becomes playable months later, the series returns to Keep Watching. Dismiss removes it from the row without changing watched history. Age-out uses when the next episode became available, not only when you last watched. -
History delete and reassign
My Space -> History can remove a play or move it to a shared profile (or back to personal). Multi-select supports bulk actions. Delete/reassign stay off by default for User accounts. Admins enable them per account under Admin -> Users.
-
Streaming: better quality options, subtitles, and Android HLS
The quality picker can offer an encode at the source height (not only remux).
Sidecar WebVTT subtitles load without blocking audio/video start.
Android ExoPlayer HLS resume and seek are more reliable.
Changes
Features
- feat(medias): refresh series playback bookmarks when episodes become playable
- feat(continue-watching): drive keep watching from playback bookmarks
- feat(db): add playback bookmarks migration and drop watch progress columns
- feat(domain): add playback bookmark entities and slim watch state
- feat(continue-watching): enqueue next episode when a new one becomes playable
- feat(stream): offer same-height ladder encode in quality picker
- feat(hls): extract and serve sidecar webvtt subtitle segments
- feat(history): add history deletion and reassignment
Bug Fixes
- fix(series): hide non-playable seasons and episodes from media navigation
- fix(ui): show not-found state on series detail load failure
- fix(series): delete orphan episodes on indexed file removal
- fix(series): recognize show-name season folders and year from path
- fix(maui): improve android exoplayer hls playback and resume
- fix(hls): align encode fmp4 segments on source keyframe grid
- fix(ui): scroll the tv season carousel to the focused episode
- fix(ui): keep series carousels on the current episode after playback
- fix(myspace): keep selection checks above the media overlay
- fix(admin): show round selection checks on the users table
- fix(admin): load all devices in the virtualized list
- fix(maui): focus skip intro button on native overlay
Artifacts
- Docker:
ghcr.io/kaybi-gh/k7:1.7.0 - Android:
K7-1.7.0-android.apk - Windows:
K7-1.7.0-win-x64.zip