Commit Graph
396 Commits
Author SHA1 Message Date
zarzet 5f0577837d perf(widget): publish artwork only for installed consumers 2026-10-04 01:41:55 +07:00
zarzet fe306119fe perf(theme): resolve artwork cache identities asynchronously 2026-10-04 01:41:39 +07:00
zarzet 7f7e9c0e39 perf(logging): batch UI updates and gate native log copies 2026-10-04 01:41:38 +07:00
zarzet 37a1db274a perf(analysis): bound disk cache and protect active bundles 2026-10-04 01:41:37 +07:00
zarzet 2ac3220407 perf(network): share artwork by content hash 2026-10-04 01:41:36 +07:00
zarzet 27ed971782 perf(playback): resolve paths lazily and batch history cleanup 2026-10-04 01:41:35 +07:00
zarzet 0419b4485e perf(bridge): bound metadata cache and persisted JSON bytes 2026-10-04 01:40:56 +07:00
zarzet 541bfc4002 perf(media): shrink FFmpeg while preserving HTTPS motion artwork 2026-10-04 01:35:48 +07:00
zarzet e8c635eda0 test: align settings and support title expectations 2026-10-04 01:35:47 +07:00
zarzet 4ae97ad4f7 refactor(extensions): align settings with Material and Mornye 2026-10-03 19:11:14 +07:00
zarzet edd29a3f92 fix(extensions): accept account forms with optional cancel actions 2026-10-03 19:11:07 +07:00
zarzet f035538778 fix(library): expose failed scan files and reasons in app logs 2026-10-03 17:57:35 +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 82068263f2 fix(mornye): match tab highlights to the expanding glass outline 2026-10-03 16:59:29 +07:00
zarzet 6550104df9 chore(release): bump app version to 5.1.0 2026-10-03 16:12:01 +07:00
zarzet fb41a86f5a fix(library): match SAF documents across folder tree aliases 2026-10-03 13:40:39 +07:00
zarzet 983f1b26a5 feat(settings): default to built-in playback and word-synced lyrics 2026-10-03 13:40:39 +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 0914e7d978 feat(mornye): restore liquid glass with continuous draggable navigation 2026-10-03 04:24:54 +07:00
zarzet 9247b99ab0 fix(mornye): use consistent animated oval switches across glass levels 2026-10-03 04:24:24 +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 2e71e88a9a fix(selection): dismiss action panels with a downward swipe 2026-10-03 03:25:42 +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 4eef5542be fix(metadata): recognize featured artist credits consistently
Handle feature and featured separators across display, Android finalization and Rust tag writing. Split conjunction credits only when separate artist IDs confirm them, and offer a picker for multi-artist navigation.
2026-10-02 18:10:00 +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 ae679214a9 fix(lyrics): preserve batch track identity and report results promptly 2026-10-02 14:54:47 +07:00
zarzet eb6218b1ab fix(album): open track metadata from local album rows 2026-10-02 14:54:38 +07:00
zarzet 7584daad88 fix(history): prevent maintenance from restoring orphan downloads 2026-10-02 13:58:13 +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 7a245ee620 fix(library): restore search selection actions after re-enrich 2026-10-02 11:44:57 +07:00
zarzet 3c62d38c34 fix(metadata): show re-enrich results above Library cards 2026-10-02 11:44:51 +07:00
zarzet 4b39716b23 fix(library): preserve SD card visibility during transient access failures 2026-10-02 11:44:44 +07:00
zarzet c1892fcd69 fix(library): include unindexed tracks in missing ReplayGain filter 2026-10-02 11:44:37 +07:00
zarzet e200879d14 perf(mornye): share chrome backdrops and scale blur to clarity 2026-10-02 01:24:26 +07:00
zarzet 718e13f24e feat(library): filter tracks missing verified ReplayGain tags 2026-10-02 01:24:26 +07:00