This website requires JavaScript.
4421627a64
chore: bump version to 0.7.4
main
debont80
2026-07-16 13:27:19 -04:00
44230c757e
feat: retarget the auto-updater from Gitea to GitHub
debont80
2026-07-16 12:47:09 -04:00
79ab94248d
chore: stop tracking ffmpeg/ffprobe dev-seed binaries
debont80
2026-07-16 12:00:21 -04:00
09fde16004
chore: bump version to 0.7.3
v0.7.3
debont80
2026-07-10 16:40:01 -04:00
614f56086f
Merge pull request 'chore: license the project under MIT' (#15 ) from chore/add-mit-license into main
debont80
2026-07-10 16:35:13 -04:00
e8f0b83a7e
chore: license the project under MIT
chore/add-mit-license
debont80
2026-07-10 15:09:52 -04:00
a7edde8a32
Merge pull request 'docs: add README with feature overview and screenshots' (#14 ) from docs/readme-screenshots into main
debont80
2026-07-10 13:18:22 -04:00
4204483792
docs: add README with feature overview and screenshots
debont80
2026-07-10 13:15:50 -04:00
94ef814fa7
chore: bump version to 0.7.2
v0.7.2
debont80
2026-07-10 10:43:14 -04:00
78a168ca5c
Merge pull request 'chore(config): point the updater at the now-public AeroFetch repo' (#13 ) from chore/consolidate-update-source into main
debont80
2026-07-10 10:41:28 -04:00
3b9dd6788d
chore(config): point the updater at the now-public AeroFetch repo
debont80
2026-07-10 10:39:12 -04:00
ccee9b7d3b
chore: bump version to 0.7.1
v0.7.1
debont80
2026-07-09 15:50:14 -04:00
af9c285864
Merge pull request 'fix(sync): run watched sync when a scheduled --sync hits the running instance' (#12 ) from fix/scheduled-sync-running-instance into main
debont80
2026-07-09 15:48:31 -04:00
87e16ca28e
fix(sync): run watched sync when a scheduled --sync hits the running instance
debont80
2026-07-09 15:45:35 -04:00
f3e10b100d
chore: bump version to 0.7.0
v0.7.0
debont80
2026-07-08 06:01:17 -04:00
6db27b946f
Merge pull request 'feat(setup): fetch ffmpeg on first run instead of bundling it' (#11 ) from feature/ffmpeg-first-run-download into main
debont80
2026-07-08 05:42:11 -04:00
eb53de2ea5
feat(setup): fetch ffmpeg on first run instead of bundling it
debont80
2026-07-07 11:02:13 -04:00
cb25262a2d
feat(library): add per-row "Download new" for watched sources
debont80
2026-07-05 17:49:39 -04:00
27cae28e12
feat(diagnostics): persist full stderr detail behind a "Show details" toggle
debont80
2026-07-05 14:56:09 -04:00
6cb9c5ca47
fix(downloads): re-resolve options on retry instead of replaying stale ones
debont80
2026-07-05 14:39:45 -04:00
5de4b40c1d
fix(download): name the failing step in postprocessing errors
debont80
2026-07-05 14:39:29 -04:00
1be2708d15
chore: bump version to 0.6.1
v0.6.1
debont80
2026-07-03 08:20:39 -04:00
037ea2da32
feat(updater): bake a read-only update token into the build
debont80
2026-07-03 08:20:21 -04:00
48ce591702
chore: bump version to 0.6.0
v0.6.0
debont80
2026-07-03 05:55:40 -04:00
e29374dcfa
docs: scrub dangling references to deleted roadmap docs
debont80
2026-07-02 23:16:32 -04:00
ff9077989f
docs: remove completed roadmap + release-gate docs
debont80
2026-07-02 23:13:57 -04:00
6cf6c0ead6
Merge origin/main (PR #10 ) into local main
debont80
2026-07-02 23:04:21 -04:00
e7fa602d73
Merge docs/code-audit-stale-deferred — retire completed CODE-AUDIT.md
debont80
2026-07-02 23:02:24 -04:00
2988404dcf
docs(audit): remove completed CODE-AUDIT.md
debont80
2026-07-02 23:01:51 -04:00
6812939848
Merge pull request 'docs(audit): fix stale Deferred entries for metadata editing + PO-token auto-mint' (#10 ) from docs/code-audit-stale-deferred into main
debont80
2026-07-02 17:10:10 -04:00
3623418fe3
docs(audit): fix stale Deferred entries for metadata editing + PO-token auto-mint
debont80
2026-07-02 17:08:20 -04:00
d8df5ea7c8
Merge pull request 'feat(playlist): exact-format-per-item selection' (#9 ) from feat/playlist-per-item-format into main
debont80
2026-07-02 17:06:44 -04:00
15c2229539
fix(playlist): drop stale per-item formats on re-probe
debont80
2026-07-02 17:05:29 -04:00
4c2b54a599
feat(playlist): exact-format-per-item selection
debont80
2026-07-02 16:55:58 -04:00
5c88d9c8e0
feat(network): request-throttle controls to avoid YouTube rate-limiting
debont80
2026-07-02 16:34:34 -04:00
61d5261e33
docs: flip stale PINCHFLAT output-path checkbox (implemented Batch 26)
debont80
2026-07-02 16:16:45 -04:00
a8dc89d6fc
Merge Batch 28 — Retention & quality-upgrade
debont80
2026-07-02 16:14:24 -04:00
0956bd536a
feat(pinchflat): Retention & quality-upgrade per Library source
debont80
2026-07-02 16:14:23 -04:00
15cc96dd10
Merge Batch 27 — Media Profiles
debont80
2026-07-02 16:02:09 -04:00
ed1daf8bef
feat(pinchflat): Media Profiles — named download presets per Library source
debont80
2026-07-02 16:02:07 -04:00
a02953f6d1
Merge Batch 26 — roadmap surfacing + output-path setting
debont80
2026-07-02 15:44:44 -04:00
42b7b2e01f
feat(roadmap): surface stale checkboxes + collection output-path setting
debont80
2026-07-02 15:44:44 -04:00
72feaa62f8
Merge Batch 25 — project organization (CC12, CC7, CC10)
debont80
2026-07-02 15:37:28 -04:00
9134e7d216
feat(audit): Batch 25 — project reorg (CC12), leading DI args (CC7), CC10 by-design
debont80
2026-07-02 15:37:28 -04:00
f45acb645b
Merge Batch 24 — zod validation layer (CC9)
debont80
2026-07-02 12:41:01 -04:00
8f6b2a761b
feat(audit): Batch 24 — one validate-and-coerce schema layer for settings (CC9)
debont80
2026-07-02 12:41:00 -04:00
6abed2064d
Merge Batch 23 — naming & config (CC1, CC11)
debont80
2026-07-02 12:34:05 -04:00
134c6a167c
feat(audit): Batch 23 — settings key renames with migration (CC1) + config.ts (CC11)
debont80
2026-07-02 12:34:05 -04:00
545cfeed5e
Merge Batch 22 — perf close-out
debont80
2026-07-02 12:25:22 -04:00
384870ee4a
feat(audit): Batch 22 — perf close-out (PERF3 benchmarked, PERF6/L162 by-design)
debont80
2026-07-02 12:25:21 -04:00
ea52735b12
docs(audit): check off CL4 + CC5 (Batch 21)
debont80
2026-07-02 12:21:57 -04:00
e9d41b00ea
Merge Batch 21 — updater refactor (CL4, CC5)
debont80
2026-07-02 12:21:29 -04:00
34fbf36610
feat(audit): Batch 21 — updater refactor under behavior pins (CL4, closes CC5)
debont80
2026-07-02 12:21:28 -04:00
d1e3168449
Merge Batch 20 — Windows/main-process (UI23, W12, W15, L131)
debont80
2026-07-02 12:15:52 -04:00
3b0d668f6c
feat(audit): Batch 20 — Windows/main-process (UI23, W12, W15, L131)
debont80
2026-07-02 12:15:51 -04:00
f54d9a1965
docs(audit): check off UX7/UX8/UX23 (Batch 19)
debont80
2026-07-02 12:01:15 -04:00
fc2db1e1b6
Merge Batch 19 — Settings IA (UX7, UX8, UX23)
debont80
2026-07-02 12:00:47 -04:00
a5885739d2
feat(audit): Batch 19 — Settings information architecture (UX7, UX8, UX23)
debont80
2026-07-02 12:00:47 -04:00
93f0091104
Merge Batch 18 — watched visual pass
debont80
2026-07-02 11:55:45 -04:00
cdb6eea437
feat(audit): Batch 18 — watched visual pass (UI3, UI12, UI16, UI21, UX18, L109, UX26)
debont80
2026-07-02 11:55:45 -04:00
747cecd1e0
Merge Batch 17 — layout & virtualization (L161, L104)
debont80
2026-07-02 11:43:36 -04:00
17d42ed4fe
feat(audit): Batch 17 — screen scroll contract + History virtualization (L161, L104)
debont80
2026-07-02 11:43:34 -04:00
dbbb0c70f9
chore(format): endOfLine auto so format:check is stable under git autocrlf
debont80
2026-07-02 11:13:07 -04:00
71b88e2304
Merge Batch 16 — store discipline (L142, L93, CC13, CC14)
debont80
2026-07-02 11:10:58 -04:00
2ef19ead71
feat(audit): Batch 16 — store discipline (L142 reconciliation, L93 view-model hooks)
debont80
2026-07-02 11:10:49 -04:00
96800d5a17
feat(audit): L51 + L64 — daily-sync time picker + aria2c connection tuning
debont80
2026-07-01 22:57:20 -04:00
e19f988c72
feat(audit): Batch 15 live-verify — download-engine lifecycle (R4, L65, L139, B2, B6, L143)
debont80
2026-07-01 21:36:22 -04:00
b3e5e4f309
Merge audit chain (Batches 6-15) into main
debont80
2026-07-01 18:35:40 -04:00
a2c8992650
refactor(audit): peer-review fixes — mergeClasses + import placement
debont80
2026-07-01 18:00:21 -04:00
4d1c33a081
feat(audit): Batch 15 — download-engine lifecycle (safe part; rest live-verify)
debont80
2026-07-01 17:41:48 -04:00
0f784847a3
feat(audit): Batch 14 — perf (code-split + seed DCE) + first-run default
debont80
2026-07-01 17:35:40 -04:00
71f0b2b68f
feat(audit): Batch 13 — copy polish + misc-L cleanup
debont80
2026-07-01 17:26:01 -04:00
d131ee67d5
feat(audit): Batch 12 — a11y & discoverability
debont80
2026-07-01 17:15:10 -04:00
661a4e7572
feat(audit): Batch 11 — UX behavior gaps (toast surface, sidebar badge)
debont80
2026-07-01 17:05:26 -04:00
814ecac287
feat(audit): Batch 10 — CC conventions (shared line-buffer, cleanError)
debont80
2026-07-01 16:48:54 -04:00
3d4e574916
feat(audit): Batch 9 — surface primitives (empty-state, banner, truncation)
debont80
2026-07-01 16:37:32 -04:00
bd7ba8726e
feat(audit): Batch 6-7 — design tokens + type/color roles, full migration
debont80
2026-07-01 15:24:00 -04:00
e6b4f343e0
feat(config+ux): batch #5 — source maps, integration script, copy, redownload options
debont80
2026-07-01 12:06:06 -04:00
cc4fb132e4
feat(ux): UX16 — autofocus the URL field on launch
debont80
2026-07-01 11:35:44 -04:00
ab825488b8
feat(win): W2/UX19 persist window placement, W10 taskbar flash; tick W11
debont80
2026-07-01 11:33:11 -04:00
64af608596
refactor(renderer): L132 — share resetForm() across download + addPlaylist
debont80
2026-07-01 11:26:36 -04:00
809c99d5bb
fix(renderer): L138/L145 clipboard privacy+dedup, M14 state-driven settings search
debont80
2026-07-01 11:17:23 -04:00
63f0a40f0e
perf(renderer): memoize queue summary + stabilize list callbacks (L94/PERF4/PERF5/L163)
debont80
2026-07-01 11:09:09 -04:00
0a681f864f
feat(m4): persist the download queue across restarts
debont80
2026-07-01 09:34:55 -04:00
63687aaec3
docs(exec): correct execFileAsync comment — schedule.ts is not migrated
debont80
2026-07-01 10:25:36 -04:00
abd9f688b9
docs(audit): update Phase 3 session note (execFileAsync/L136/R9 landed)
debont80
2026-07-01 09:22:34 -04:00
81dd0ce742
fix(main): R9 — guard the yt-dlp update throttle against a backward clock
debont80
2026-07-01 09:19:00 -04:00
701c73a889
fix(main): L136 — enforce incognito in main (no errorlog / toast / cookie leak)
debont80
2026-07-01 09:14:49 -04:00
3baba3b7bc
refactor(main): execFileAsync helper — unify the 5 spawn-and-read sites
debont80
2026-07-01 09:06:08 -04:00
66eaaac8fc
docs(audit): tick CC8 (logging) + add "finish the audit" session note
debont80
2026-07-01 08:56:07 -04:00
519e522917
feat(main): CC8 — file-backed leveled logger + renderer log sink
debont80
2026-07-01 08:53:06 -04:00
6bd29efd23
build: Phase 2 — stop emitting unused .blockmap + clean dist per build
debont80
2026-07-01 08:39:38 -04:00
4dfb3c9867
docs(audit): Phase 1 — reconcile stale checkboxes + fix roadmap drift
debont80
2026-07-01 08:36:51 -04:00
6a9856b590
Self-review: drop inert font-size/weight resets from the heading rule
debont80
2026-07-01 08:19:41 -04:00
29ce270d46
a11y: Select disabled (UI31), native colorScheme (UI32), touch targets (W16), High Contrast (W18)
debont80
2026-07-01 08:11:30 -04:00
4aec32e3c2
a11y: semantic headings (UI33) + command-palette listbox semantics (UI27)
debont80
2026-07-01 08:02:54 -04:00
36699531cf
Format code with Prettier (8 modified files from H1 decomposition)
debont80
2026-07-01 07:54:02 -04:00
9e0064aab2
Self-review H1: give useDownloadBar an explicit return type
debont80
2026-06-30 21:41:06 -04:00
e0afaf0fdf
Mark H1 done in CODE-AUDIT (god files decomposed)
debont80
2026-06-30 21:31:00 -04:00
ae12e7c9cf
H1: decompose DownloadBar.tsx into a hook + panel + styles
debont80
2026-06-30 21:30:40 -04:00