zarzet
|
29db940d63
|
fix(security): encrypt extension storage at rest
|
2026-08-29 18:52:16 +07:00 |
|
zarzet
|
c3b2214e2a
|
perf: optimize library scans and extension runtime
|
2026-08-28 21:00:11 +07:00 |
|
zarzet
|
357190757c
|
fix(database): cache unavailable FTS5 capability
|
2026-08-28 18:47:54 +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
|
933a3c49e2
|
fix(library): persist artwork previews and stabilize completion
|
2026-08-27 21:42:38 +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
|
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
|
e149ee5358
|
fix(storage): publish finalized SAF output once
|
2026-08-26 18:37:15 +07:00 |
|
zarzet
|
778f58e6e4
|
fix(lints): await asynchronous work in guarded blocks
|
2026-08-26 18:35:21 +07:00 |
|
zarzet
|
7557ffbf85
|
fix(metadata): preserve explicit advisory across conversions
|
2026-08-22 23:24:56 +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
|
bdb10a2ae6
|
chore(deps): update Flutter and Go dependencies
|
2026-08-19 11:59:28 +07:00 |
|
zarzet
|
a7423b7f89
|
feat(metadata): edit release tags and render UPC barcodes
|
2026-08-18 19:29:12 +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
|
6dbca64a80
|
perf(history): batch SAF orphan inspection #511
|
2026-08-11 16:50:35 +07:00 |
|
zarzet
|
bec9e33c94
|
feat(metadata): review batch tag enrichment #511
|
2026-08-11 16:40:06 +07:00 |
|
zarzet
|
28538395c2
|
fix(metadata): match by primary artist and review results #511
|
2026-08-11 16:20:03 +07:00 |
|
zarzet
|
e750c195ca
|
feat(search): save max-quality cover on long press #511
|
2026-08-11 16:01:39 +07:00 |
|
zarzet
|
5237aed25e
|
feat(download): add automatic lossy conversion
|
2026-08-11 15:19:45 +07:00 |
|
zarzet
|
a59c749089
|
fix(download): preserve SAF and defer background starts
|
2026-08-09 05:23:47 +07:00 |
|
zarzet
|
2612da81c3
|
fix(db): prevent concurrent startup locks
|
2026-08-08 00:01:00 +07:00 |
|
zarzet
|
7f4ace6d1b
|
feat(metadata): show current cover dimensions
|
2026-08-01 18:34:25 +07:00 |
|
zarzet
|
d4b617f49a
|
feat(metadata): add embedded cover resize options
|
2026-08-01 18:24:27 +07:00 |
|
zarzet
|
19753ca005
|
fix(database): make playback session migration idempotent
|
2026-08-01 17:39:45 +07:00 |
|
zarzet
|
b3bbe93c1e
|
fix(metadata): preserve WAV and AIFF tags
|
2026-08-01 15:33:20 +07:00 |
|
zarzet
|
5228b0030b
|
fix(player): restore lyrics after cold start
|
2026-07-30 13:48:05 +07:00 |
|
zarzet
|
04a8700a65
|
fix(player): restore playback position reliably
|
2026-07-29 21:03:11 +07:00 |
|
zarzet
|
24b9d7ba80
|
fix(player): preserve audio quality across track changes
|
2026-07-29 19:29:19 +07:00 |
|
zarzet
|
dbdbf0ca41
|
refactor(ui): standardize modal sheets
|
2026-07-29 17:10:42 +07:00 |
|
zarzet
|
1e973d5ecb
|
style(dart): apply repository formatting
|
2026-07-29 14:14:42 +07:00 |
|
zarzet
|
e7fbaf7b75
|
fix(download): suffix only colliding quality variants
|
2026-07-29 02:43:35 +07:00 |
|
zarzet
|
fb538e9517
|
feat(metadata): choose extension for online autofill
|
2026-07-28 15:18:10 +07:00 |
|
zarzet
|
7bf6f32802
|
fix(extensions): serialize verification callbacks
|
2026-07-28 14:09:06 +07:00 |
|
zarzet
|
7f277f7a88
|
fix(library): backfill local audio bitrates
|
2026-07-28 12:51:28 +07:00 |
|
zarzet
|
80d9d87870
|
perf(metadata): avoid SAF copies during quality probes
|
2026-07-28 01:50:41 +07:00 |
|
zarzet
|
26570792a9
|
fix(library): persist lossless bitrate metadata
|
2026-07-28 00:50:20 +07:00 |
|
zarzet
|
52b1147275
|
feat(library): add missing-ISRC metadata filter
|
2026-07-27 01:15:51 +07:00 |
|
zarzet
|
d0dca1a101
|
refactor(library): split row models and queue union SQL into part files
|
2026-07-27 00:32:42 +07:00 |
|
zarzet
|
cbee637501
|
perf(history): coalesce index bumps and batch per-row exists lookups
|
2026-07-26 22:25:04 +07:00 |
|