mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
Audit followup to the support-loop and volume-restart fixes. Two more effects pulled in transitive signal deps that would have caused the same class of regression the next time the surrounding helpers grew. 1. Component session-fan-out effect: the body called scheduleControlsHide(), which reads isPlaying/menus.anyOpen/statusLabel/ controlsVisible. Those became tracked deps of the effect, so opening a popover, pausing, or hovering re-ran the whole body — re-emitting timeUpdate. If a parent ever wires timeUpdate back into playback.startTime as a "resume where I left off" feature, this would have been the next stream-restart bug. Wrap the side-effect block in untracked() so the effect only listens to session changes. 2. Controller stalled-tracker effect: tracked the full session signal even though only status was needed. The session payload updates ~2 Hz during playback (positionSeconds advances), making the effect re-run constantly to call a no-op. Add a sessionStatus computed and track that instead — fires only on real status transitions. No behavior change for current users; both fixes are preventative. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: f957cd9849e0