github-actions[bot]
93512fc3f7
chore: update AltStore source to v4.8.0
2026-07-25 03:34:20 +00:00
zarzet
60a74a7e0e
fix(ci): install Android 37 platform package
2026-07-25 10:14:44 +07:00
zarzet
eabafecaeb
fix(navigation): open download queue from snackbar actions
v4.8.0
2026-07-24 22:19:03 +07:00
zarzet
01c08322c1
fix(extensions): preserve explicit track metadata
2026-07-24 21:32:13 +07:00
zarzet
a41074d271
chore(deps): update Flutter, Go, and native dependencies
2026-07-24 20:37:07 +07:00
zarzet
452a15b652
fix(lyrics): reject mismatched search results
2026-07-24 18:48:05 +07:00
zarzet
4713be02de
chore(settings): graduate native download worker
2026-07-24 12:23:36 +07:00
zarzet
89dcef8ffd
test(native-worker): add Android regression gates
2026-07-24 12:16:41 +07:00
zarzet
0d8bc7b269
fix(native-worker): harden background queue handling
2026-07-24 12:15:55 +07:00
zarzet
fa432266f3
chore(settings): graduate backup and restore from beta
2026-07-24 11:40:09 +07:00
zarzet
0cbe51ad19
fix(analysis): render full-track spectrograms
2026-07-23 18:24:14 +07:00
zarzet
5856729e9a
fix(library): persist records before download completion
2026-07-23 18:00:22 +07:00
zarzet
c35b11a155
fix(library): preserve downloaded file records
2026-07-23 17:40:09 +07:00
zarzet
3f487c03cc
chore(release): bump version to 4.8.0
2026-07-23 13:38:48 +07:00
zarzet
5481f8e8cf
feat(ui): smooth download progress updates
2026-07-23 13:36:22 +07:00
zarzet
cdbb0d6bd7
fix(notifications): restore verification alert sound
2026-07-23 13:23:54 +07:00
zarzet
c9114fef01
fix(android): sanitize restored installation state
2026-07-23 10:39:31 +07:00
zarzet
480a96bd0e
fix(queue): clarify and coalesce verification progress
2026-07-23 09:57:02 +07:00
zarzet
685392f073
fix(download): accelerate verified extension resumes
2026-07-23 09:56:39 +07:00
zarzet
0c558fb33b
test(backend): use a valid descriptor in fd coverage
2026-07-23 09:56:22 +07:00
zarzet
ac7840c4e5
fix(download): persist and reconcile history reliably
2026-07-22 15:57:39 +07:00
zarzet
f0988070bf
fix(convert): simplify output names and harden writes
2026-07-22 15:56:07 +07:00
zarzet
87376ee73b
fix(metadata): resolve audio format and local artwork
2026-07-22 15:55:30 +07:00
zarzet
b2726db84a
fix(queue): bridge completed downloads into library
2026-07-22 15:55:07 +07:00
zarzet
4d77a0b178
fix(ui): honor disabled hero animations
2026-07-22 15:54:50 +07:00
zarzet
bd6e2b4472
fix(ui): restore plain loading skeleton on extension album screen
...
The hero-era loading machinery survived the hero-flight revert: the
loading scaffold rendered the real cover, _RouteSettled deferred the
swap until the push transition ended, and SkeletonCrossfade faded
between the two. The loaded header decodes the cover under a different
mem-cache key (viewport-sized vs full-res), so opening an album from
the artist screen flashed the cover: shown, blanked, shown again.
Restore the pre-hero flow: shimmer skeleton while loading, hard cut to
AlbumScreen so the cover appears exactly once. Removes the now-unused
_AlbumLoadingScaffold and three imports that only existed for it.
2026-07-21 07:35:03 +07:00
zarzet
b7e96facbe
fix(logging): keep cursors valid after rollover
2026-07-16 10:56:26 +07:00
zarzet
648f36244b
perf(go): add runtime metrics and benchmarks
2026-07-16 10:53:26 +07:00
zarzet
b5d02da759
perf(dedupe): batch isrc lookups under one lock
2026-07-16 10:48:57 +07:00
zarzet
c13fdcc6e1
perf(library): scan flac and m4a in one pass
2026-07-16 10:47:29 +07:00
zarzet
5846dc2416
perf(extensions): invoke goja providers directly
2026-07-16 10:39:03 +07:00
zarzet
ef89352d09
perf(memory): drop disposable caches on pressure
2026-07-16 10:32:33 +07:00
zarzet
c75139450a
fix(extensions): bound file reads
2026-07-16 10:26:43 +07:00
zarzet
07c9cf034f
fix(extensions): bound cookie runtime state
2026-07-16 10:24:13 +07:00
zarzet
b69f67a786
fix(download): name variants by measured quality
2026-07-16 09:20:35 +07:00
zarzet
0961c09a6d
feat(download): preserve quality variants
2026-07-16 08:45:01 +07:00
zarzet
491998e5c5
feat(convert): optionally retain original files
2026-07-16 08:27:24 +07:00
zarzet
d3d34aaec1
perf(cache): defer cover cache maintenance
2026-07-16 08:09:56 +07:00
zarzet
5763a087c9
perf(queue): persist and index incremental updates
2026-07-16 08:09:28 +07:00
zarzet
efa3ff3d66
perf(playback): batch local playlist resolution
2026-07-16 08:09:12 +07:00
zarzet
ca8a6a8849
perf(shell): gate backdrop blur by device capability
2026-07-16 08:08:49 +07:00
zarzet
5a970ac83d
perf(startup): bootstrap persisted app state
2026-07-16 08:08:27 +07:00
zarzet
10d59bc2b6
perf(library): trim startup lookup index
2026-07-15 22:17:17 +07:00
zarzet
79bb3214ae
perf(library): streamline search and grouped counts
2026-07-15 22:16:10 +07:00
zarzet
6f566a9f03
perf(player): isolate high-frequency playback updates
2026-07-15 22:09:20 +07:00
zarzet
82ba586b72
feat(convert): support same-format lossless re-encoding
2026-07-15 22:03:32 +07:00
zarzet
6f121c7543
fix(queue): open completed batch track metadata
2026-07-15 21:45:35 +07:00
zarzet
35128a6bfc
fix(reenrich): always clean temporary artifacts
2026-07-15 21:33:13 +07:00
zarzet
17dbcc1338
perf(library): lazy-load collections and dispose queries
2026-07-15 21:32:43 +07:00
zarzet
7f1c3e60db
fix(player): prevent stale playback and clean SAF temps
2026-07-15 21:32:07 +07:00