Commit 5bf9d70
fix(client): add anti-echo guard for video syncing (#166)
Added an anti-echo guard to prevent play/pause event spams.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Touches client-side video play/pause state synchronization; a small
logic change could still cause playback state to get stuck or miss
updates on some browsers (notably Safari).
>
> **Overview**
> Prevents play/pause “echo” loops between the Vuex `playing` watcher
and the `<video>` element by introducing an `isVideoSyncing` guard.
>
> When native `playing`/`pause` events fire, the component temporarily
marks itself as syncing and defers clearing the flag to the next tick,
avoiding Safari timing races where events can precede `video.paused`
updates.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
ee912e3. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Co-authored-by: Rafael <raf@kernel.sh>1 parent 2c4de09 commit 5bf9d70
1 file changed
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
| 263 | + | |
263 | 264 | | |
264 | 265 | | |
265 | 266 | | |
| |||
431 | 432 | | |
432 | 433 | | |
433 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
434 | 439 | | |
435 | 440 | | |
436 | 441 | | |
| |||
511 | 516 | | |
512 | 517 | | |
513 | 518 | | |
| 519 | + | |
514 | 520 | | |
| 521 | + | |
515 | 522 | | |
516 | 523 | | |
517 | 524 | | |
| 525 | + | |
518 | 526 | | |
| 527 | + | |
519 | 528 | | |
520 | 529 | | |
521 | 530 | | |
| |||
0 commit comments