zarzet
c9470ef751
feat(queue): add download-next action on queued items
...
Queued rows get a skip-next button that reinserts the item ahead of all
other queued items, so the next free slot picks it up. During an active
native worker run the current batch keeps its order; the new order
applies from the next run.
2026-07-26 17:39:28 +07:00
zarzet
48f01ba146
fix(extensions): isolate invalid registry checksums
2026-07-26 12:29:28 +07:00
zarzet
5f5186a23e
fix(reenrich): preserve release identity in batch actions
2026-07-26 12:28:00 +07:00
zarzet
b93ebc1e8d
docs(extensions): document file download recovery options
2026-07-26 12:26:15 +07:00
zarzet
c4abbf8743
fix(verification): recover signed-session bootstrap failures
2026-07-26 11:09:18 +07:00
zarzet
08d648cfa8
fix(reenrich): allow correcting stale release metadata
2026-07-26 01:28:25 +07:00
zarzet
40dd9bb68f
fix(download): avoid unsafe automatic range resume
2026-07-26 01:28:09 +07:00
zarzet
aa0eecb27e
docs(extensions): add current development guide
2026-07-26 01:15:48 +07:00
zarzet
b956c57652
refactor(ios): isolate and test extension callbacks
2026-07-26 01:15:22 +07:00
zarzet
fbe0674b04
test(go): close output handle before cleanup
2026-07-26 01:14:58 +07:00
zarzet
1705fb2a81
feat(extensions): verify decentralized package integrity
2026-07-26 01:14:35 +07:00
zarzet
a5f2760023
refactor(android): extract native finalization policies
2026-07-26 01:14:14 +07:00
zarzet
20081b14bd
refactor(dart): extract queue search and media policies
2026-07-26 01:13:52 +07:00
zarzet
1cfda41ef2
feat(audio): use VHQ settings for SoXR resampling
2026-07-25 15:58:42 +07:00
zarzet
19787ed461
fix(config): refresh announcements and remote content
2026-07-25 15:43:25 +07:00
zarzet
555f0e8117
fix(ci): download pinned Gradle for native tests
2026-07-25 10:28:26 +07:00
zarzet
cbd8fd0342
style(go): apply Go 1.26 formatting
2026-07-25 10:20:03 +07: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