Files
AeroFetch/docs/SMOKE-TEST.md
T
debont80 24c4c807a3 feat: Phase P reliability (YouTube extractor-args plumbing, signing + smoke-test docs)
- 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>
2026-06-26 11:25:57 -04:00

3.8 KiB

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 for the code-signing step that removes the SmartScreen prompt for end users.