zarzet
314dceb1d1
refactor(network): place range reader implementations before tests
2026-10-04 01:41:59 +07:00
zarzet
39d856c44f
chore(network): keep JSON dependency scoped to tests
2026-10-04 01:41:58 +07:00
zarzet
0b18edef59
refactor(metadata): remove unused fallback parameter
2026-10-04 01:41:57 +07:00
zarzet
7ebaef3df3
refactor(ios): remove unreachable legacy bridge routes
2026-10-04 01:41:56 +07:00
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
c69f2cef9f
perf(library): scan SAF CUE audio through live descriptors
2026-10-04 01:41:35 +07:00
zarzet
5019851903
perf(hires): analyze every channel in one audio decode pass
2026-10-04 01:41:00 +07:00
zarzet
3b553b38a3
perf(cover): avoid copying originals rejected by cache budget
2026-10-04 01:41:00 +07:00
zarzet
4e20102bdd
perf(usb): reuse PCM buffers and respect native ring capacity
2026-10-04 01:40:59 +07:00
zarzet
644d035661
perf(isrc): bound retained indexes and stream FLAC comments
2026-10-04 01:40:58 +07:00
zarzet
3bc12d4483
perf(extensions): pass metadata values without internal JSON round trips
2026-10-04 01:40:57 +07:00
zarzet
0419b4485e
perf(bridge): bound metadata cache and persisted JSON bytes
2026-10-04 01:40:56 +07:00
zarzet
a57b4504de
perf(audio): reuse media session worker and bound metadata retention
2026-10-04 01:40:55 +07:00
zarzet
9c0b22e2c8
feat(build): require Discord in production and keep Lite opt-in
2026-10-04 01:40:54 +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
8a799bbe7d
chore(release): bump build number to 160
2026-10-03 19:11:19 +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
e35a3cbb84
fix(library): scan remote SAF folders when root metadata is unavailable
2026-10-03 13:40:39 +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
b2bba0121b
fix(mornye): use liquid glass for Home download and album actions
2026-10-03 12:26:13 +07:00
zarzet
04ee6bc6f2
fix(lyrics): grant scoped access to selected audio files
...
Open temporary media directory grants for reading, embedding and exporting lyrics on iOS and Android. Resolve native file aliases consistently while retaining extension storage restrictions.
Validate with 4 iOS integration tests, 42 Flutter tests, 6 Rust file capability tests, and Android Kotlin compilation. Refs #631 .
2026-10-03 12:19:03 +07:00
zarzet
282d82b82f
chore(analyzer): exclude vendored Android audio plugin
2026-10-03 04:27:48 +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
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
115602b84e
fix(library): reject filename guesses from failed NAS metadata reads
2026-10-03 03:26:35 +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
bbe2caa754
fix(android): preserve remote SAF descriptors for audio and artwork
2026-10-03 02:14:06 +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