mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-12 12:06:16 -08:00
The volume handed to each new player instance was a constructor snapshot of localStorage, while the engines persist their own changes straight to that key and never call back. Every channel switch mints a new source revision, which recreates the engine component and re-reads the input, so lowering the volume in the player and zapping snapped playback back to the value the page was opened with — on the live layout as much as on the new movie detail. The signal now re-reads the shared bus per channel. Empty and out-of-range stored values fall back to full volume: Number() maps both null and '' to 0, which would have started a first run muted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>