NavidromeApp/Shared/Storage
Dallas Groot cea4e3868e Seek bar glitch — The time observer was reporting from the outgoing player (near 100%) for the first half, then jumping to the incoming player (near 0%) at 50%. Now it reports from the incoming player as soon as crossfade begins. The user hears the new song fading in — the seek bar matches.
Metadata/art/colors delayed — currentSong, artwork, widget colors, and lyrics only updated after finalizeCrossfade. Now a songHandoff callback fires at the crossfade midpoint (50%) — updates everything mid-fade so the UI transitions with the audio. Scrobble of the outgoing song also fires here (before currentSong changes).
Visualizer stale data — Old song’s vis frames stayed in the buffer during the first half of crossfade. Now visualizerHandoff zeros offlineVisBuffer + _audioLevels before loading the new song’s data. Clean slate → simulation fills the gap → real vis takes over.
The needsNextTrack callback (post-finalize) now only handles player swap, observer re-registration, and queue persistence — no redundant metadata/scrobble work.
2026-04-14 00:27:10 -07:00
..
KeychainHelper.swift bug fixes 2026-04-11 15:09:06 -07:00
LibraryCache.swift quick fix 2026-04-12 13:21:20 -07:00
OfflineManager.swift added widget support 2026-04-12 12:57:42 -07:00
PlaybackStateStore.swift Performance audit, Now Playing widget, crossfade stability, cover art embedding, DJ profile bulk cache 2026-04-12 19:24:22 -07:00
ServerManager.swift bug fixes 2026-04-11 15:09:06 -07:00
WatchConnectivityManager.swift bug fixes 2026-04-10 17:02:17 -07:00
WidgetSharedState.swift Seek bar glitch — The time observer was reporting from the outgoing player (near 100%) for the first half, then jumping to the incoming player (near 0%) at 50%. Now it reports from the incoming player as soon as crossfade begins. The user hears the new song fading in — the seek bar matches. 2026-04-14 00:27:10 -07:00