Commit Graph
350 Commits
Author SHA1 Message Date
zarzet 0fdcbc3cbd fix(playlists): prevent overlapping picker submissions 2026-10-06 22:00:14 +07:00
zarzet 9b89f2300c perf(player): avoid redundant lyric paints and background sampling 2026-10-06 21:59:18 +07:00
zarzet bbc2c96971 fix(glass): refract navbar icons through the held lens 2026-10-05 23:20:51 +07:00
zarzet 224961d68d fix(glass): swell navbar glass without resizing icons 2026-10-05 22:29:46 +07:00
zarzet 8bd1a998d0 perf(glass): cull selection masks outside the moving lens 2026-10-05 20:33:49 +07:00
zarzet 963eaa5fd5 perf(glass): omit collapsed navbar backdrop layers 2026-10-05 20:31:10 +07:00
zarzet 5b28db1375 perf(ui): retain marquee content while scrolling 2026-10-05 19:20:05 +07:00
zarzet 604a485cf1 perf(player): reuse artwork decodes across Mornye transitions 2026-10-05 19:20:04 +07:00
zarzet d0114b1049 fix(artwork): promptly dispose failed video decoders 2026-10-05 17:53:20 +07:00
zarzet e3126153e6 perf(artwork): reuse decoded covers and preserve in-flight cache writes 2026-10-05 17:53:19 +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 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 ee8719cc5d fix(automix): use themed transition effect picker 2026-10-04 04:42:05 +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 fe306119fe perf(theme): resolve artwork cache identities asynchronously 2026-10-04 01:41:39 +07:00
zarzet 37a1db274a perf(analysis): bound disk cache and protect active bundles 2026-10-04 01:41:37 +07:00
zarzet 541bfc4002 perf(media): shrink FFmpeg while preserving HTTPS motion artwork 2026-10-04 01:35:48 +07:00
zarzet 82068263f2 fix(mornye): match tab highlights to the expanding glass outline 2026-10-03 16:59:29 +07:00
zarzet 983f1b26a5 feat(settings): default to built-in playback and word-synced lyrics 2026-10-03 13:40:39 +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 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 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 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 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 e200879d14 perf(mornye): share chrome backdrops and scale blur to clarity 2026-10-02 01:24:26 +07:00
zarzet be9e9903d9 perf(store): skip invisible backdrop blur on repo cards
Repo cards, category chips and the Store search field scroll over the plain page background, where a backdrop blur changes nothing visible but re-filters each panel on every scroll frame. MornyeGlass.navigation gains samplesBackdrop; these panels keep the same tint, rim, shadow and glass clarity without the blur pass. Floating chrome keeps its blur.
2026-10-01 19:41:44 +07:00
zarzet 6e6d9dd00e fix(background): keep library scans and update downloads running with the screen off
Android froze the process once the activity stopped, because only track downloads held a foreground service. A dataSync BackgroundWorkService with a partial wake lock now covers library scans and in-app APK downloads, and stops when the last task ends or the system timeout fires. Its notification shows the existing localized progress, so no duplicate appears. If Android refuses the service, work continues as before.

On iOS a scan holds its own background task; on expiry it cancels the scan cleanly instead of being suspended.
2026-10-01 18:46:21 +07:00
zarzet ad9670eb46 feat(library): select search results with a long press
Long-pressing a song in Library search results enters multi-select with the Library track actions. Taps toggle songs, select all covers the visible songs, back leaves selection mode, and a new query clears it. Applies to the Mornye Library tab and the Material/Songs search.
2026-10-01 18:46:21 +07:00
zarzet 86cf860288 refactor(library): share the track selection bar and delete action
The Library list's multi-select toolbar (FLAC upgrade, re-enrich, convert, ReplayGain add/remove, delete) becomes LibraryTrackSelectionBar, and its delete flow becomes deleteLibraryTracks. The Library list renders and behaves as before; other screens can now offer the same actions.
2026-10-01 18:46:21 +07:00
zarzet fe30871e36 fix(mornye): preserve navbar blur during collapse animations 2026-10-01 01:29:00 +07:00
zarzet d1eba29a4a fix(mornye): soften glass rims and increase transparency 2026-10-01 01:29:00 +07:00
zarzet a2974acee0 fix(mornye): respect glass clarity and accessibility limits 2026-10-01 00:42:15 +07:00
zarzet ce13e29b71 feat(appearance): add glass clarity controls and directional highlights 2026-09-30 23:42:20 +07:00
zarzet 9ebf98ff6c perf(mornye): adapt glass and player effects to device capabilities 2026-09-30 23:42:00 +07:00
zarzet b11e925ee4 perf(player): suspend covered pages and streamline transitions 2026-09-30 23:40:04 +07:00
zarzet 3a63918e1f refactor(flutter): remove unreachable state and widget APIs 2026-09-30 21:44:16 +07:00
zarzet 377710ec22 refactor(ui): consolidate file feedback and shared display helpers 2026-09-30 21:43:39 +07:00