Commit ddb3062
fix(ui): scrubber drag listener leak and caption boundary
Scrubber attached pointermove/pointerup to window on drag start but
only removed them on pointerup. If the component unmounted mid-drag
(e.g. compact <-> desktop layout swap remounts a different Scrubber),
the listeners outlived it and kept calling actions.seek. Track the
active drag cleanup in a ref and run it on unmount; also release on
pointercancel for touch.
Caption fallback scan treated a cue as active at exactly its end time
(now <= endTime). The HTML active-cue rule is start <= now < end, so
the ending cue could briefly stack with the next one. Use strict <.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 396917b commit ddb3062
2 files changed
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| |||
55 | 59 | | |
56 | 60 | | |
57 | 61 | | |
| 62 | + | |
| 63 | + | |
58 | 64 | | |
| 65 | + | |
59 | 66 | | |
60 | 67 | | |
| 68 | + | |
61 | 69 | | |
62 | 70 | | |
63 | 71 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
0 commit comments