Some checks failed
CI / Scraper / Test (pull_request) Failing after 8s
CI / UI / Build (pull_request) Failing after 7s
CI / Scraper / Lint (pull_request) Failing after 12s
CI / Scraper / Build (pull_request) Has been skipped
iOS CI / Build (push) Has been cancelled
iOS CI / Test (push) Has been cancelled
iOS CI / Build (pull_request) Failing after 2s
iOS CI / Test (pull_request) Has been skipped
Extract currentTime/duration/isPlaying into a separate PlaybackProgress ObservableObject so the 0.5s time-observer ticks only invalidate the seek bar and play-pause button subviews, not the entire FullPlayerView or MiniPlayerView. Menus no longer blink or lose their checkmarks during playback. Also fix chapter list selection in FullPlayerView to call audioPlayer.load() directly instead of relying on skip notifications (which only worked when ChapterReaderView was open).