mirror of
https://github.com/Shik3i/KoalaSync.git
synced 2026-07-26 20:18:14 +00:00
b32e2fa8cc
Implements the snap-back robustly instead of deferring it to device testing — since the set of video sites is unbounded, "measure which players misbehave, then fix" doesn't scale; the snap-back must be safe on any player. On an involuntary pause/seek, if the player isn't ready to play (readyState<3 or seeking) we no longer snap immediately (which fights the buffer: seek → re-buffer → pause → … = stutter). Instead hcmDeferredSnapBack polls until the player can play (8s cap) and then snaps ONCE to the host's re-queried current position. A player can't play while buffering anyway, so waiting is also more correct, not just safer. Ready players still snap immediately (no regression). Guards: aborts if the user goes solo or is no longer a gated guest; single pending poll (no stacking); cleared in hcmReset. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Technical Documentation
This directory contains deep-dives into the KoalaSync protocol and architecture.
- HOW_IT_WORKS.md: Step-by-step walkthrough of every user flow, from room creation to synchronized playback. Ideal for store reviewers and manual testers.
- ARCHITECTURE.md: Communication flows, Dual Heartbeat, and Sync logic.
- SYNC_GUIDE.md: Protocol constants and sync requirements.
- TRANSLATION.md: Translation and localization guide for the extension and website.