Repository navigation
fix(player): advance ASS window after successful load - #216
Conversation
Production-readiness review: Request changes (Grade 84/100)Correct, narrowly scoped fix — but missing targeted regression proof and the description overclaims. No merge yet. Finding 1 — the ASS fix is correct; no async redesign needed
Finding 2 — the precise regression is untested (required)
Fix: extend the boundary test — await the refreshed renderer's successful load, dispatch several Finding 3 — PR description overclaims; font-retry claim is false for web (required)Actual diff is Fix: retitle/rewrite around advancing the ASS window; describe backend as inherited context; correct the font-pending claim; drop the blank-line deletion. CIWeb / Go lint / contract pass; Go test, Web-tests, changed-lint, router-recovery pending — green gate on the final head required. Acceptance: boundary + seek regression tests, corrected description, full CI green. No backend changes needed. |
Production-readiness re-review: Request changes (Grade 94/100, was 84/100)Reviewed Verified fixed
Required: correct the PR body (blocking)The live merge diff vs base Fix: scope Problem/Approach to repeated ASS-window refreshes + committing the loaded window bounds; describe the new boundary and post-seek coverage; drop font/relay risk claims or label them already-on-main; record the green CI. After that body edit: merge. @oracle code approval stands; no bypass needed beyond the edit. |
Problem
Related issue: N/A
Validation tasks: none
During virtual-library playback the player re-requested the same ASS subtitle window on every timeupdate after the first window loaded, flashing the loading indicator. The window bounds stayed pinned to the initial [0,600] range instead of advancing to the successfully loaded window.
Approach
Make the ASS window bounds mutable and commit them (plus whole-track state) after each successful window load, so continued playback inside the loaded window issues no further fetches and the next request fires exactly at the new boundary. Add boundary and post-seek regression coverage.
Note: virtual font-source resolution and relay upstream logging already on main (base dddb534); this diff delivers only the ASS window fix + tests.
Validation
Risks
ASS change only moves the refresh boundary to the loaded window. No backend, contract, or retry-policy change in this diff. Web font loader treats only 409 as pending (subtitleFonts.ts:204-221); 500/502 yield a cacheable empty bundle with fallback fonts (existing behavior, untouched here).
Checklist
AI Disclosure