fix(player): freeze the launch queue so Loop All + Next/Previous use the original list
The player's queue came live from the feed query, which refetches under a watch-state filter as each video is auto-marked watched — steadily shrinking the list mid-session. Loop "All" could then never wrap back to the first video (earlier items had dropped out), and prev/next drifted. Snapshot the queue once at mount (useState lazy init) and step through that frozen list for the whole session; the live prop is ignored thereafter. Supersedes the earlier active-item pin with a list-level freeze that also fixes Loop All.
This commit is contained in:
parent
0fff5ad35d
commit
c84cb22e5a
2 changed files with 17 additions and 15 deletions
|
|
@ -17,9 +17,9 @@ export const RELEASE_NOTES: ReleaseEntry[] = [
|
|||
{
|
||||
version: "0.23.2",
|
||||
date: "2026-07-05",
|
||||
summary: "Fixed the player jumping to a different video when the current one is marked watched.",
|
||||
summary: "The player now steps through the exact list it was opened with, so watching along no longer breaks Loop and Next/Previous.",
|
||||
fixes: [
|
||||
"Player: watching a video to the end (or otherwise marking it watched) no longer makes playback jump to an unrelated video. This also fixes Loop “One”, which the jump could override — the current video now correctly repeats even after it drops out of the live feed order.",
|
||||
"Player: it now plays through a frozen snapshot of the filtered, sorted list it was launched with. Previously, as each video was auto-marked watched it dropped out of a filtered feed, silently shrinking the queue mid-playback — which jumped playback to an unrelated video, and stopped Loop “All” from ever wrapping back to the first video once earlier ones were watched. Next/Previous and both Loop modes now work against the original list for the whole session.",
|
||||
],
|
||||
},
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue