zarzet
e3f7817b29
fix(memory): release retired runtimes and idle download heap
2026-09-07 16:28:47 +07:00
zarzet
c48406f5d0
fix(download): resolve missing album folders before publishing
2026-09-07 16:13:41 +07:00
zarzet
81ce677149
fix(download): remove legacy HIGH quality conversion
2026-09-07 01:20:28 +07:00
zarzet
e8bf40ae41
fix(download): preserve native containers before legacy quality conversion
2026-09-07 01:09:30 +07:00
zarzet
660ed9fb60
fix(download): publish converted SAF files with the final extension
2026-09-07 01:06:35 +07:00
zarzet
ed51b5d6ea
revert: remove download size estimates
2026-09-06 22:17:23 +07:00
zarzet
174852b056
fix(download): estimate sizes from track quality metadata
2026-09-06 22:11:37 +07:00
zarzet
c6195bcd10
feat(download): estimate file sizes in quality picker
2026-09-06 21:40:25 +07:00
zarzet
bfffb8da11
fix(replaygain): write and verify native Opus gain tags
...
Preserve audio and artwork while replacing conflicting Opus gain tags with R128 comments. Verify manual, download, and album writes, handle SAF failures, and refresh playback normalization after saving.
2026-09-06 21:03:57 +07:00
zarzet
1b0c28b91a
fix(download): route verification notifications to pending challenges
2026-09-06 16:03:46 +07:00
zarzet
09c31d9dba
refactor(batch): share local track actions and phase settings
...
Use shared coordinators for queueing FLAC replacements and batch metadata enrichment from album and queue screens. Keep selection lifecycle handling in each screen and synchronize a settings snapshot once per phase.
Cover cancellation, partial failure, screen disposal, and settings changes between preview and apply.
2026-09-06 14:04:05 +07:00
zarzet
49c3c66f15
fix(metadata): preserve Track fields during enrichment
...
Apply resolved metadata with copyWith and retain the existing field precedence. Keep UPC, preview URLs, and source-only fields when enrichment updates other tags.
Extract the pure merge helpers and add regression tests for field preservation.
2026-09-06 14:03:49 +07:00
zarzet
099e211f5a
fix(conversion): reserve FLAC outputs without overwriting files
...
Reuse the conversion output lifecycle for M4A conversion and native FLAC suffix correction. Reserve destination names atomically, reject empty output, and clean partial files while preserving the input on failure.
Add regressions for existing outputs, concurrent conversions, staging, and cleanup.
2026-09-06 14:03:49 +07:00
zarzet
62ef538690
perf(library): page missing-file cleanup with safe SAF batch checks
2026-09-06 02:34:49 +07:00
zarzet
d95d070565
perf(library): stream normalized scan timestamp snapshots
2026-09-06 02:34:49 +07:00
zarzet
dae509078e
perf(queue): apply sparse progress updates with chunked snapshots
2026-09-06 02:33:42 +07:00
zarzet
4ba3ab2fc7
perf(library): optimize CIFS scan recovery
2026-09-01 12:00:37 +07:00
zarzet
a1ee346f2f
chore(logging): sanitize diagnostics and reduce noise
2026-08-31 01:49:49 +07:00
zarzet
897fb7d523
feat(backup): stream versioned ZIP archives
2026-08-30 23:19:09 +07:00
zarzet
2e0a5f7b9c
fix(downloads): hide unknown byte totals in notifications
2026-08-30 18:58:19 +07:00
zarzet
29a86b0dc3
feat(player): add sleep timer
2026-08-30 17:23:16 +07:00
zarzet
7141ca980f
fix(library): sync track playback controls
2026-08-30 00:43:13 +07:00
zarzet
d5465e9768
fix(download): throttle progress diagnostics
2026-08-30 00:17:27 +07:00
zarzet
f1fb01604d
perf(download): reduce progress wakeups and harden retries
2026-08-29 23:47:58 +07:00
zarzet
740ce173b2
fix(security): prevent extension network sandbox bypasses
2026-08-29 18:56:46 +07:00
zarzet
29db940d63
fix(security): encrypt extension storage at rest
2026-08-29 18:52:16 +07:00
zarzet
5dac33dfa4
fix(download): preserve finalization metadata and library labels
2026-08-29 00:31:25 +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
2b117415ae
feat: add file format library quality label
2026-08-27 16:50:46 +07:00
zarzet
4609e59806
fix(library): show play actions during batch downloads
2026-08-27 13:56:48 +07:00
zarzet
1a7c20111a
feat(library): add lyrics filtering and metadata actions
2026-08-27 01:44:06 +07:00
zarzet
04c42bd511
perf(downloads): bound native queue state
2026-08-27 00:17:25 +07:00
zarzet
0e3fca9967
perf(downloads): stream concurrent native queue work
2026-08-26 18:37:56 +07:00
zarzet
e149ee5358
fix(storage): publish finalized SAF output once
2026-08-26 18:37:15 +07:00
zarzet
c6437d8428
feat(library): add bit depth quality label mode
2026-08-23 11:42:47 +07:00
zarzet
19591bdf19
feat(metadata): show explicit badges in track titles
2026-08-22 23:08:40 +07:00
zarzet
75e1cf17b8
fix(home): clear recent activity permanently
2026-08-22 22:45:06 +07:00
zarzet
60624436a6
feat(library): support multiple storage folders
2026-08-22 11:15:42 +07:00
zarzet
89d39c4074
fix(metadata): show readable SAF file locations
2026-08-21 01:02:02 +07:00
zarzet
ea63291db8
refactor(metadata): move cover resolution to extensions
2026-08-19 13:12:29 +07:00
zarzet
4fef287a7b
feat(metadata): add download attribution to comments
2026-08-18 21:17:36 +07:00
zarzet
8b231be19a
fix(download): unblock queue after verification cancel
2026-08-18 20:50:48 +07:00
zarzet
290923e88f
feat(tagging): write release identity tags
2026-08-18 19:04:26 +07:00
zarzet
48883d51d4
feat(extensions): preserve provider metadata
2026-08-18 12:28:35 +07:00
zarzet
7fc27e8314
perf(library): stream scans and optimize queue queries
2026-08-18 11:03:05 +07:00
zarzet
2e115308b7
feat(filename): add provider traceability tags
2026-08-17 20:51:27 +07:00
zarzet
efc03db308
fix(metadata): keep collaboration albums grouped
2026-08-11 20:58:27 +07:00