24c4c807a3
- YouTube reliability: Settings.youtubePlayerClient + youtubePoToken -> one --extractor-args "youtube:player_client=...;po_token=..." group (accessArgs, unit-tested); advanced fields in Settings -> Network. Automatic WebView PO-token minting deferred (documented). - docs/SMOKE-TEST.md: release-gate checklist for all shipped-but-untested OS wiring (cookies window, protocol/Send-to, scheduled sync, aria2c, proxy, tray/taskbar/pause-resume/terminal) — needs a human to run. - docs/SIGNING.md: code-signing guide (CSC_LINK/CSC_KEY_PASSWORD, OV/EV, CI, HSM hook, verification). Build is signing-ready; needs a cert. - i18n remains deferred (not faked). typecheck + test (195) + build all clean. Roadmap: Phase P code shipped. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
62 lines
3.8 KiB
Markdown
62 lines
3.8 KiB
Markdown
# AeroFetch — manual smoke-test checklist
|
|
|
|
Some features can only be exercised against a **real install** (or a real yt-dlp run) —
|
|
they're main-process / Electron / OS-integration code that the Vite browser preview and the
|
|
unit suite can't reach. They're implemented and typecheck/test/build clean, but the roadmaps
|
|
flag them as needing a hands-on pass. Run this checklist after building
|
|
(`npm run build:win`) and installing the NSIS artifact (or launching the portable `.exe`).
|
|
|
|
Mark each ✅/❌ and note anything surprising.
|
|
|
|
## Downloads & post-processing (Phases A, L, M)
|
|
|
|
- [ ] **Basic download** — paste a URL, Fetch, pick a format, Download → file lands in
|
|
Documents\Video (or your folder), progress + speed update, "Completed".
|
|
- [ ] **Trim / cut** (Phase L) — set a section like `0:10-0:20`, download → output is ~10s and
|
|
starts/ends near the cut points (`--download-sections` + `--force-keyframes-at-cuts`).
|
|
- [ ] **Split by chapters** (Phase L) — on a video with chapters, enable it → per-chapter files
|
|
appear alongside the full file.
|
|
- [ ] **Pause / resume** (Phase M) — start a large download, Pause (process stops, `.part`
|
|
stays), Resume → it **continues** from where it stopped, not from 0% (yt-dlp `--continue`).
|
|
- [ ] **Scheduling** (Phase M) — schedule a download a couple of minutes out → it sits "Saved /
|
|
Scheduled", then auto-starts at the time (only while the app is running).
|
|
|
|
## Access & networking (Phase B, P)
|
|
|
|
- [ ] **Cookies — sign-in window** — Settings → Cookies → "Sign-in window", log into a site,
|
|
close it → "cookies saved" with a timestamp; a members-only/age-gated video then downloads.
|
|
- [ ] **Cookies — from browser** — pick an installed browser → a gated video downloads.
|
|
- [ ] **Proxy** — set a working proxy → downloads route through it (verify via the proxy logs).
|
|
- [ ] **aria2c** — drop `aria2c.exe` into `resources/bin`, enable it → multi-connection download
|
|
works; remove it → silently falls back to yt-dlp's downloader.
|
|
- [ ] **YouTube client / PO token** (Phase P) — set `youtubePlayerClient` (e.g. `web_safari`) →
|
|
the run includes `--extractor-args youtube:player_client=web_safari` (check Terminal/Preview).
|
|
|
|
## OS integration (Phase E, J, O)
|
|
|
|
- [ ] **`aerofetch://` protocol** — from a browser, open `aerofetch://download?url=<encoded>` →
|
|
AeroFetch focuses and the URL appears in the "Link received" banner.
|
|
- [ ] **Explorer "Send to AeroFetch"** — drag a tab to the desktop to make a `.url`, right-click →
|
|
Send to → AeroFetch → the link is received.
|
|
- [ ] **Scheduled sync** (Phase J) — Settings → enable the daily sync → a Windows Task Scheduler
|
|
task exists; run it (or `AeroFetch.exe --sync`) → watched sources index and new items enqueue.
|
|
- [ ] **RSS fast-check** (Phase J) — "Check for new" on a watched channel → newly-posted videos
|
|
show as new without a full re-index.
|
|
- [ ] **System tray** (Phase O) — enable "Keep running in the tray", close the window → it hides
|
|
to the tray; tray click reopens; tray → Quit actually exits.
|
|
- [ ] **Taskbar progress** (Phase O) — during downloads the taskbar icon shows a progress bar;
|
|
it turns red if one fails and clears when the queue goes idle.
|
|
- [ ] **Jump list** (Phase O) — right-click the taskbar icon → "Open AeroFetch" focuses the app.
|
|
|
|
## Terminal (Phase N)
|
|
|
|
- [ ] Enable "Run custom commands", open Terminal, run `--version` → the version prints; run
|
|
`-F <url>` → the format table streams in; Stop cancels a long run.
|
|
|
|
---
|
|
|
|
If anything here fails, capture the Settings → Diagnostics "Copy full report" output and the
|
|
exact steps. These items have no automated coverage, so this checklist is the release gate for
|
|
them. See also [SIGNING.md](SIGNING.md) for the code-signing step that removes the SmartScreen
|
|
prompt for end users.
|