zarzet
92e3fa94ec
fix(network): discard stale folder browsing responses
2026-10-06 22:00:14 +07:00
zarzet
7057b0c349
refactor(albums): share immutable track and disc ordering
2026-10-06 22:00:13 +07:00
zarzet
4be1073203
fix(lyrics): hold current line highlight until the next lead
2026-10-06 14:20:54 +07:00
zarzet
4d65b590e1
refactor(metadata): separate file save persistence from editor
2026-10-06 13:08:13 +07:00
zarzet
d98ab4852d
fix(library): distinguish unavailable storage from missing files
2026-10-06 13:08:12 +07:00
zarzet
a6c1409ef5
fix(library): remove deleted files from both library indexes
2026-10-06 00:30:45 +07:00
zarzet
604a485cf1
perf(player): reuse artwork decodes across Mornye transitions
2026-10-05 19:20:04 +07:00
zarzet
a8712a44b1
perf(library): defer local providers while the feature is disabled
2026-10-05 17:53:18 +07:00
zarzet
e77996ddbd
refactor(metadata): separate editor state, autofill and artwork ownership
2026-10-05 03:28:14 +07:00
zarzet
3047d5974c
refactor(player): isolate routes, layouts and reactive controls
2026-10-05 03:27:46 +07:00
zarzet
c22577eb18
refactor(player): separate metadata state and lyrics rendering
2026-10-05 02:31:55 +07:00
zarzet
a363f5a459
refactor(playback): own configuration and dependencies per runtime
2026-10-05 02:31:47 +07:00
zarzet
5194344268
refactor(downloads): separate persistence, progress and feedback
2026-10-05 02:31:01 +07:00
zarzet
1abc45e2bf
feat(playback): automate mute and headphone playback controls
2026-10-05 01:55:08 +07:00
zarzet
ad3c9c0279
fix(home): anchor track menus to their source cards
2026-10-05 01:55:07 +07:00
zarzet
4a6206c21c
perf(search): reduce tab switching lag
2026-10-05 01:42:49 +07:00
zarzet
5c6a0390c2
fix(automix): diagnose crossfade fallback reasons
2026-10-04 04:51:32 +07:00
zarzet
e6c7213067
feat(player): show mixing status beside audio quality
2026-10-04 03:55:25 +07:00
zarzet
0ec8c96269
feat(automix): add configurable duration and transition effects
2026-10-04 03:55:24 +07:00
zarzet
60c3e4d857
feat(lyrics): add staggered spring motion to visible rows
2026-10-04 03:33:49 +07:00
zarzet
4ae97ad4f7
refactor(extensions): align settings with Material and Mornye
2026-10-03 19:11:14 +07:00
zarzet
6a4054d75e
fix(library): preserve album view when returning from detail screens
2026-10-03 17:57:26 +07:00
zarzet
61708829fd
fix(stats): show artwork for top artists
2026-10-03 17:15:49 +07:00
zarzet
6550104df9
chore(release): bump app version to 5.1.0
2026-10-03 16:12:01 +07:00
zarzet
983f1b26a5
feat(settings): default to built-in playback and word-synced lyrics
2026-10-03 13:40:39 +07:00
zarzet
b2bba0121b
fix(mornye): use liquid glass for Home download and album actions
2026-10-03 12:26:13 +07:00
zarzet
84cac92983
feat(network): add SMB and WebDAV libraries with streaming and uploads
2026-10-03 04:27:47 +07:00
zarzet
d97b4bfd2d
perf(details): load local albums with skeletons and bound artwork decoding
2026-10-03 04:24:55 +07:00
zarzet
a377885e56
feat(statistics): show cover artwork and artists for top tracks
2026-10-03 04:24:55 +07:00
zarzet
0914e7d978
feat(mornye): restore liquid glass with continuous draggable navigation
2026-10-03 04:24:54 +07:00
zarzet
d0d85b0e0e
fix(artwork): recover missing SAF covers after transient provider failures
2026-10-03 04:24:23 +07:00
zarzet
cc3fe42df2
refactor(metadata): flatten track actions and remove similar songs
2026-10-03 03:26:35 +07:00
zarzet
0b2cf0e4e5
feat(discord): add opt-in mobile rich presence with track artwork
2026-10-03 02:14:11 +07:00
zarzet
b767bd16d8
fix(playback): refresh notification favorite and shuffle controls
2026-10-03 02:14:01 +07:00
zarzet
cd3fb40f2e
fix(lyrics): preserve manual scrolling during control transitions
2026-10-03 02:13:57 +07:00
zarzet
def4536d0a
fix(mornye): keep lyrics scrolling stable when controls fade
2026-10-02 19:38:56 +07:00
zarzet
70f8bd7f35
feat(extensions): support personal account forms and direct downloads
2026-10-02 19:21:58 +07:00
zarzet
253a19f17f
fix(library): preserve folders during upgrades and load failures
...
Load configured sources before storage probes and the track index, retain visible configuration on failures, and expose loading and retry states. Wait for saved settings before legacy migration and recreate a missing source placeholder without replacing existing identities.
2026-10-02 18:34:57 +07:00
zarzet
799bb0f7a1
fix(ui): make snackbars transient and replace stale messages
...
Limit transient messages to three seconds, keep action snackbars on a timer, and provide close controls. Apply one latest-message policy to the app and metadata sheet while preserving glass animations.
2026-10-02 18:34:36 +07:00
zarzet
1eea52c1c2
feat(playback): add local listening statistics and annual recap
...
Measure actual playback time and count plays after 30 seconds, with local SQLite aggregation for weekly, monthly and annual summaries. Add recording controls and safe clearing without affecting music or playlists.
2026-10-02 18:17:54 +07:00
zarzet
39bfda8f3d
feat(library): show recent releases from favorite artists
...
Use installed extensions through the existing artist metadata API. Cache catalogs daily, cap concurrency, preserve previous results on provider failures and filter exact release dates into seven- and thirty-day views.
2026-10-02 18:13:39 +07:00
zarzet
575f3fc1bd
fix(ios): preserve Now Playing ownership with motion artwork
...
Restore the non-mixing music audio session after decorative video initialization and before playback resumes. Add an artwork switch that releases or pauses video decoders and uses still covers when disabled.
2026-10-02 18:13:02 +07:00
zarzet
a93e552b3e
feat(library): add batch playlist and queue actions
...
Expose playlist, play-next and queue actions across Library search and album selections, including selected artist albums. Sort playlists, keep long selection toolbars scrollable, separate file operations in metadata menus, and show related local songs without online playback.
2026-10-02 18:11:37 +07:00
zarzet
9ea2647c39
feat(library): filter albums with missing tracks
...
Assess album completeness from the full local inventory, deduplicate track positions, and retain unknown status for ambiguous tags or disconnected sources. Add filters and count badges to Material and Mornye, including single-track albums and filtered search.
2026-10-02 17:03:07 +07:00
zarzet
2b022cdda3
fix(library): make missing-file cleanup responsive for downloaded tracks
2026-10-02 16:21:19 +07:00
zarzet
eb6218b1ab
fix(album): open track metadata from local album rows
2026-10-02 14:54:38 +07:00
zarzet
c91d12dbf0
fix(artwork): preserve thumbnail aspect ratio during decoding
2026-10-02 13:58:13 +07:00
zarzet
26d713915f
fix(library): restore Material playlist drag and drop
2026-10-02 13:57:18 +07:00
zarzet
3c62d38c34
fix(metadata): show re-enrich results above Library cards
2026-10-02 11:44:51 +07:00
zarzet
718e13f24e
feat(library): filter tracks missing verified ReplayGain tags
2026-10-02 01:24:26 +07:00