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
b6ddac2ce0
fix(extensions): use themed account option picker
2026-10-04 05:03:14 +07:00
zarzet
5c6a0390c2
fix(automix): diagnose crossfade fallback reasons
2026-10-04 04:51:32 +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
dad84eb342
fix(lyrics): keep simultaneous singers highlighted and visible
2026-10-04 03:30:02 +07:00
zarzet
3191ff926f
ci: provision pinned Discord SDK for Android and iOS
2026-10-04 02:12:44 +07:00
zarzet
5bcbb029c9
ci: remove Pages workflow without site sources
2026-10-04 01:42:00 +07:00
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