Skip to content

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 15 Apr 04:22
· 25 commits to master since this release
Fix lyric rendering and playback timing

Several fixes to lyric rendering, client sync behavior, and server-side timing guards:

- lyric.js: Stop applying a fixed parse-time offset to synced lyric timestamps so provider times are preserved; avoid adding translations for blank or music-note lines and mark built lyric lines with an isBlankLine flag. Improve current-time selection by sanitizing values and preferring fresher server time when local time is inexplicably ahead by more than 2s.

- now-playing.js: Preserve previous song fields when partial updates arrive so UI fields don't flash to empty values; use previous song data for normalization when the song hasn't changed.

- server.js: Add a short "new song timing" guard to hold elapsedSeconds near zero for up to 1.5s when a new videoId arrives with an unexpectedly large initial elapsed value (configurable constants and per-video pending guard state). Broadcasts and progress/playback messages now use the guarded song data.