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. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||