Seek/i18n fixes + watchlist & expanded recommendation signals - #73
Merged
Conversation
- VideoPlayer: don't let the lastPreheatSegment dedup swallow forced user seeks. When a user clicked exactly where they had just hovered, the forced preheat-seek was dropped, leaving ffmpeg at its old position while the player kept requesting the far-ahead target segment, triggering an endless 'too far ahead' 504 loop and a frozen playback. Dedup now only applies to non-force hover preheats. - BugReportButton: use the existing bugReport.success / bugReport.failed i18n keys instead of the non-existent bugReport.submitted / bugReport.submitError, which made the success/error toast render the raw key path. https://claude.ai/code/session_01RF3jY6P1ySdMQzuv97NFtL
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.
This branch bundles three pieces of work.
1. Seek freeze fix
VideoPlayer.vue— thelastPreheatSegmentdedup no longer swallows forced user seeks (only hover preheats), fixing the endless "too far ahead" 504 loop / frozen playback when seeking where you'd just hovered.2. Bug-report toast i18n
BugReportButton.vuenow uses the existingbugReport.success/bugReport.failedkeys instead of the non-existentsubmitted/submitError.3. Watchlist + expanded recommendation algorithm
Watchlist (new feature):
watchlisttable +toggleWatchlist/watchlistStatus/getWatchlistendpointsWATCHLIST_ADD/REMOVEevents; folded into the taste model and used as a positive affinity signalNew signals fed into
scoreCandidateWithProfile:media_statstable +mediaStatsEnginemediacolumns)Data model: new
mediacolumns (keywords,director,composer,certification,popularity), newwatchlistandmedia_statstables — all via idempotent migrations. TMDB enrichment extended for keywords, crew, certification, popularity.Docs:
docs/recommendation-algorithm.mddocuments every signal and proposes future improvements (cold-start/exploration, recency decay, diversity/MMR re-ranking, score normalization & explanations, offline eval, per-household profiles, etc.).https://claude.ai/code/session_01RF3jY6P1ySdMQzuv97NFtL