Repository navigation
Sleep timer, self-updating playlist downloads and smaller download qualities - #166
Merged
Merged
Conversation
Pauses this device after 15 to 90 minutes, or at the end of the song playing now (no early crossfade; the next song is left ready to play). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3tfYRTe4gH7NkHvQymDWc
Downloaded playlists are checked against the server when Tomify opens, comes back online or returns to the foreground: new songs download and removed ones are let go. A per-device Download quality picks Original, MP3 320 or MP3 128 (made by Navidrome) for new downloads. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3tfYRTe4gH7NkHvQymDWc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Tom · project thread
Before: you couldn't make the music stop by itself. A downloaded playlist only picked up changes when you opened it and tapped Update download, and every download was saved as the original file, so a FLAC album filled a phone quickly.
After: Now Playing has a moon button for a sleep timer. It pauses after 15, 30 or 45 minutes, 1 or 1.5 hours, or at the end of the current song. Downloaded playlists update themselves: songs you add download, and songs you take out are deleted from the phone. The Downloads page has a Download quality choice of Original, High (MP3 320 kbps) or Space saver (MP3 128 kbps).
How:
src/stores/sleepTimer.ts,src/components/SleepTimer.tsx). A timeout pauses playback, and every progress update also checks the clock, because phones hold back timers in hidden pages. With "End of this song" set, the player skips the early crossfade or gapless hand-over and then moves to the next song paused (next({ pause: true })). The timer is in memory only, and it's hidden while you're controlling another device.syncPlaylistsinsrc/stores/downloads.ts). Each downloaded playlist is checked withgetPlaylistwhen Tomify opens, comes back online, or returns to the foreground (at most once every 15 minutes). The check waits while the phone reports mobile data or data saver. Collections now store the playlist owner, so shared playlists can be checked too. A playlist the server no longer has keeps its downloaded songs.src/stores/downloadQuality.ts). The two smaller options use Navidrome'sstream.view?format=mp3&maxBitRate=…. Each saved song records its quality. Songs already saved keep theirs, and a retried song uses the quality chosen at the time.Generated by Claude Code