zarzet
4a7908cf4f
perf(mp3): share bounded ID3 metadata and cover reads
...
Parse tags and artwork with one bounded frame walker and use a combined MP3 scan on cold cover caches. Skip artwork for tag-only reads and skip further pictures after finding a usable cover. Preserve earlier fields when trailing frames are malformed.
Cover ID3 versions, extended headers, unsynchronization, malformed data, and large artwork with byte-read assertions.
2026-09-06 14:04:04 +07:00
zarzet
90d3a5e3de
perf(extensions): clone only the requested storage value
2026-09-06 02:34:49 +07:00
zarzet
fdb4a0eaa5
fix(auth): preserve shared signed-session challenge identity
2026-09-06 02:33:42 +07:00
zarzet
448a3426a0
fix(extensions): shorten verification timeout
2026-09-04 17:01:06 +07:00
zarzet
15ffb3abf5
feat(metadata): add safe batch editing and matching
2026-09-04 16:55:44 +07:00
zarzet
55da453913
fix(audio): preserve Opus codec in M4A scans
2026-09-04 12:39:03 +07:00
zarzet
7be959e7e9
fix(extensions): preserve verification callback retries
2026-09-04 12:39:03 +07:00
zarzet
0d148113f0
perf(library): resume and parallelize SAF indexing
2026-09-01 02:14:15 +07:00
zarzet
5eb7f9a872
fix(build): hide unexported lyrics search results from gomobile
2026-08-31 16:45:32 +07:00
zarzet
01fc7ee6c2
feat(lyrics): use direct Kugou, QQ Music, and Genius sources
2026-08-31 13:39:18 +07:00
zarzet
a1ee346f2f
chore(logging): sanitize diagnostics and reduce noise
2026-08-31 01:49:49 +07:00
zarzet
b18def64d3
perf(lyrics): coalesce and persist provider results
2026-08-30 23:18:51 +07:00
zarzet
aecba736e1
perf(metadata): coalesce MusicBrainz ISRC lookups
2026-08-30 23:18:33 +07:00
zarzet
6f95bf6085
perf(store): coalesce and condition registry requests
2026-08-30 23:18:21 +07:00
zarzet
0edd0f8f04
perf(extensions): refresh provider health off the download path
2026-08-30 23:18:12 +07:00
zarzet
892d152e5c
fix(resolver): retire unavailable resolver endpoints
2026-08-30 18:51:20 +07:00
zarzet
d2325dbcbf
chore(deps): update Flutter and Go packages
2026-08-30 18:25:59 +07:00
zarzet
d0a9868c2d
feat(resolver): add cross-platform fallback chain
2026-08-30 16:55:16 +07:00
zarzet
e931d5e2b0
refactor(core): reduce generated and duplicate code
2026-08-30 11:57:47 +07:00
zarzet
f1fb01604d
perf(download): reduce progress wakeups and harden retries
2026-08-29 23:47:58 +07:00
zarzet
fd74240c24
perf(extensions): coalesce signed session lifecycle
2026-08-29 23:47:34 +07:00
zarzet
bb1be4fdb4
perf(extensions): streamline prepared download work
2026-08-29 23:47:21 +07:00
zarzet
f21f47b2bd
perf(network): improve connection fallback and reuse
2026-08-29 23:47:04 +07:00
zarzet
0394a1bfcc
build(go): update toolchain to 1.26.6
2026-08-29 18:57:31 +07:00
zarzet
97fdc85513
fix(security): redact secrets from exported logs
2026-08-29 18:57:06 +07:00
zarzet
7556d93e80
fix(security): bound cover download memory usage
2026-08-29 18:56:56 +07:00
zarzet
740ce173b2
fix(security): prevent extension network sandbox bypasses
2026-08-29 18:56:46 +07:00
zarzet
8988f99f79
fix(security): sandbox extension FFmpeg execution
2026-08-29 18:53:52 +07:00
zarzet
63d29d2ed4
fix(security): validate extension callback state
2026-08-29 18:53:33 +07:00
zarzet
29db940d63
fix(security): encrypt extension storage at rest
2026-08-29 18:52:16 +07:00
zarzet
cab1af1828
fix(download): restore reliable provider fallback retries
2026-08-29 03:19:38 +07:00
zarzet
c3b2214e2a
perf: optimize library scans and extension runtime
2026-08-28 21:00:11 +07:00
zarzet
887a8ede12
feat(metadata): limit embedded cover resolution
2026-08-28 13:21:05 +07:00
zarzet
45d9bbd7b2
perf: harden download and persistence lifecycle
2026-08-28 12:51:03 +07:00
zarzet
433f8ed685
perf: reduce queue and extension runtime overhead
2026-08-28 01:47:51 +07:00
zarzet
862037a9d5
fix(metadata): preserve selected release artwork and title
2026-08-27 22:22:23 +07:00
zarzet
4fa0ab860b
chore(deps): upgrade Flutter Go and Android dependencies
2026-08-27 10:42:14 +07:00
zarzet
1a7c20111a
feat(library): add lyrics filtering and metadata actions
2026-08-27 01:44:06 +07:00
zarzet
5e8608cef9
fix(extensions): accept artist tracks alias
2026-08-26 23:08:53 +07:00
zarzet
747dea886c
fix(runtime): bound resources and quarantine stalled extensions
2026-08-26 21:09:05 +07:00
zarzet
0e3fca9967
perf(downloads): stream concurrent native queue work
2026-08-26 18:37:56 +07:00
zarzet
f8bd1b5931
feat(extensions): add resilient transfer runtime
2026-08-26 18:35:44 +07:00
zarzet
8f7b9ba47d
perf(metadata): coalesce Deezer enrichment requests
2026-08-26 18:31:53 +07:00
zarzet
5f8e0da148
fix(metadata): remove forced download attribution
2026-08-26 18:31:39 +07:00
zarzet
89d39c4074
fix(metadata): show readable SAF file locations
2026-08-21 01:02:02 +07:00
zarzet
8e3dbf3c23
test(audio): verify tagged PCM playback compatibility
2026-08-19 14:33:03 +07:00
zarzet
ea63291db8
refactor(metadata): move cover resolution to extensions
2026-08-19 13:12:29 +07:00
zarzet
bdb10a2ae6
chore(deps): update Flutter and Go dependencies
2026-08-19 11:59:28 +07:00
zarzet
4fef287a7b
feat(metadata): add download attribution to comments
2026-08-18 21:17:36 +07:00
zarzet
fd12ad2dbe
fix(metadata): preserve source release fields across providers
2026-08-18 20:57:11 +07:00