Commit Graph
3087 Commits
Author SHA1 Message Date
zarzet 1a6dc7366e feat(home): expose extension country settings and isolate regional caches 2026-10-18 03:11:33 +07:00
zarzet 2455cabced fix(haptics): analyze document audio across skips and AutoMix 2026-10-18 03:11:20 +07:00
zarzet f426b2d1f0 fix(player): report Android output failures without skipping tracks 2026-10-18 03:11:20 +07:00
zarzet 2782b1f7f2 feat(lyrics): refresh quote sharing and load lyrics on demand 2026-10-18 03:10:53 +07:00
zarzet 75cd4c39b2 feat(android): refresh launcher widgets with adaptive expressive layouts 2026-10-18 03:10:40 +07:00
zarzet 6b6db4ca2e refactor(settings): migrate remaining sheet choices
Single-choice sheet rows still built their own checkmark trailing, with
inconsistent colours, so only three rows used AppSheetOption.choice. Move
the remaining sixteen rows to it, drop the now unused colour plumbing, and
remove a duplicate Semantics wrapper that announced selection twice.
2026-10-18 01:01:06 +07:00
zarzet bfd180909c refactor(explore): centralize persistent cache storage 2026-10-18 00:47:21 +07:00
zarzet 1b66bc469d perf(history): suppress unchanged membership notifications 2026-10-18 00:47:21 +07:00
zarzet 579ffae9c3 refactor(downloads): centralize failed session accounting 2026-10-18 00:47:21 +07:00
zarzet 1456d36a98 refactor(downloads): update queue items and indexes together 2026-10-18 00:47:21 +07:00
zarzet 4ab4e87c32 perf(history): reuse unchanged download lookup indexes 2026-10-18 00:46:53 +07:00
zarzet 70718b7ed1 refactor(ios): share locked backend manager snapshots 2026-10-18 00:46:53 +07:00
zarzet dea131778c refactor(playback): share lost route pause transitions 2026-10-18 00:46:53 +07:00
zarzet e0dfa7eb69 refactor(android): scope Rust download state handles consistently 2026-10-18 00:46:53 +07:00
zarzet bbeca05a7a perf(releases): narrow weekly release provider dependencies 2026-10-18 00:46:52 +07:00
zarzet afab47ae4d perf(lyrics): cache timed lyric segment geometry 2026-10-18 00:46:52 +07:00
zarzet ad9b2b2ea5 refactor(extensions): share priority settings links 2026-10-18 00:46:52 +07:00
zarzet 12119530a7 refactor(library): share selection action grid layout 2026-10-18 00:46:52 +07:00
zarzet 50368012c0 refactor(settings): share selectable bottom sheet options 2026-10-18 00:46:51 +07:00
zarzet 08bc422634 perf(player): cache adjacent track titles during swipes 2026-10-18 00:46:51 +07:00
zarzet 504c3cd18b refactor(android): share native album artist resolution 2026-10-18 00:46:10 +07:00
zarzet ce32558d46 docs(l10n): describe network storage messages 2026-10-18 00:46:10 +07:00
zarzet 317cd254c1 test: declare the path provider interface dependency 2026-10-18 00:46:10 +07:00
zarzet 181900a23a test(library): share re-enrichment settings fixtures 2026-10-18 00:46:10 +07:00
zarzet 0a9013c92e refactor(ios): simplify supported OAuth session handling 2026-10-18 00:46:09 +07:00
zarzet fdcd291c78 refactor(android): remove unreachable backend dispatch fallbacks 2026-10-18 00:46:09 +07:00
zarzet 4b732439e8 chore(l10n): remove unused settings group messages 2026-10-18 00:46:09 +07:00
zarzet a396bcf08b refactor(metadata): reuse the platform tag mapper 2026-10-18 00:46:09 +07:00
zarzet d2d5593b9c ci: include integration tests in Dart change detection 2026-10-18 00:46:08 +07:00
zarzet 05a5613332 feat(player): add configurable full-screen cover art
Offer default and full-screen artwork in Material and Mornye, retaining landscape layouts and full-screen Mornye motion artwork. Keep the Material header readable over bright covers and normalize invalid saved styles without resetting other settings.

Validation: 144 related Flutter tests, flutter analyze, generated settings, formatter and diff checks.
2026-10-17 22:27:06 +07:00
zarzet eae2ec9d65 chore: ignore local release assets 2026-10-17 16:18:41 +07:00
zarzet 3d11169f21 fix(network): request Android 17 local network access before NAS connections 2026-10-17 16:18:41 +07:00
zarzet 6debfccba2 fix(theme): retain dominant cover colors in player backgrounds 2026-10-17 16:18:39 +07:00
zarzet 161a216bea fix(automix): align effect handoffs and render sufficient source audio 2026-10-17 16:18:38 +07:00
zarzet 11c6cf9915 feat(player): synchronize music haptics with local playback 2026-10-17 16:18:37 +07:00
zarzet 78a5e078cd feat(lyrics): share lyric cards and refine timed vocal transitions 2026-10-17 16:18:35 +07:00
zarzet 40f65d3a4d feat(player): show audio source processing and output details 2026-10-17 16:18:32 +07:00
zarzet ecf594aac2 feat(equalizer): add multiband EQ and per-player native audio processing 2026-10-17 16:18:30 +07:00
zarzet 21fd51d62c feat(autoplay): enable personalization by default and confirm learning resets 2026-10-17 16:18:26 +07:00
zarzet befcd2adec feat(a11y): label controls and improve settings contrast and targets 2026-10-17 16:18:25 +07:00
zarzet 1e73ffea3b feat(i18n): add player feature text and clarify built-in playback 2026-10-17 16:18:17 +07:00
zarzet 09e07671c7 fix(downloads): recover native queues when their service dies
Check service liveness while monitoring newly started native runs, matching the recovery protection already present during adoption. After three consecutive dead-service probes, reconcile completed results, requeue in-flight items and release the run instead of polling a stale running snapshot indefinitely.

Cover stale snapshots, transient probe failures, paused workers, run isolation, startup timeout and sequential verification reconciliation. Related queue and verification validation: 155 tests passed; scoped analyzer and formatter clean.

Refs #675
2026-10-17 11:45:53 +07:00
zarzet 2bf50ecb30 fix(verification): bound browser handoffs and release expired dialogs
Apply the three-minute deadline to pending-auth lookup, browser launch, manual help and grant waiting. Dismiss owned help dialogs on timeout or cancellation, and prevent late launch failures from opening a fallback browser.

Add regression coverage for stalled steps, cancellation, late responses and successful retry after expiry. Related queue and verification validation: 155 tests passed; scoped analyzer and formatter clean.

Refs #675
2026-10-17 11:45:40 +07:00
zarzet 56a526caf4 chore(release): bump app to 5.2.0 build 162 2026-10-15 22:37:55 +07:00
zarzet 47ccf9c9ed fix(player): size volume slider handle proportionally 2026-10-15 22:37:55 +07:00
zarzet 23fe78f30d feat(loading): align skeletons with collection and extension layouts 2026-10-15 19:16:47 +07:00
zarzet 2111afa468 feat(player): share volume controls across Material and Mornye 2026-10-15 19:16:17 +07:00
zarzet 1d53bf9301 feat(rewind): add yearly highlights and seasonal library banners 2026-10-15 17:15:32 +07:00
zarzet 318fbe714e refactor(ui): use shared loading indicators 2026-10-15 16:00:34 +07:00
zarzet bf8ae854dd feat(forms): adopt expressive inputs with consistent form state 2026-10-15 16:00:15 +07:00