|
| 1 | +# RC end-to-end checklist (computer-use) |
| 2 | + |
| 3 | +A manual smoke-test checklist for validating a release candidate on a real desktop, |
| 4 | +via the computer-use workflow described in `AGENTS.md` § Desktop E2E testing with |
| 5 | +computer-use. Originates from the maintainer's pre-1.5 testing checklist; extended |
| 6 | +with everything added since that a unit/browser test can't exercise (native capture, |
| 7 | +tray, real audio/webcam devices, real window management). |
| 8 | + |
| 9 | +Use this top to bottom for an RC. Check off each item as you verify it; note the |
| 10 | +build/commit tested and any findings (with a linked issue) at the bottom. |
| 11 | + |
| 12 | +## How to run this |
| 13 | + |
| 14 | +1. Launch the build under test (`npm run dev` for a branch/worktree, or the packaged |
| 15 | + RC installer for a full release candidate). |
| 16 | +2. Grant computer-use access to the app's process (`electron.exe` for a dev build, |
| 17 | + `Openscreen.exe`/`Openscreen.app` for a packaged build). |
| 18 | +3. Work through the sections in order — later sections (Editor, Persistence) depend |
| 19 | + on having a real recording from the Capture section. |
| 20 | +4. A finding is a bug only if it reproduces twice. Note the repro steps. |
| 21 | + |
| 22 | +--- |
| 23 | + |
| 24 | +## Capture + Launch |
| 25 | + |
| 26 | +- [ ] Pre-commit / build sanity: app launches, HUD appears, no console errors on startup |
| 27 | +- [ ] Source selector opens and lists screens/windows with live thumbnails |
| 28 | +- [ ] Selecting a source works for **full screen** |
| 29 | +- [ ] Selecting a source works for a **single app window** (not just full screen — regression check for #60: confirm the recorded video is NOT a black screen, including a window with an odd-pixel client size if you can arrange one) |
| 30 | +- [ ] Record start/stop works from the HUD |
| 31 | +- [ ] **Stop reliably completes** with system audio/mic/webcam/cursor all *disabled* (regression check for #115: this combination used to hang indefinitely on Windows) — confirm the editor opens within a few seconds of clicking stop |
| 32 | +- [ ] Stop reliably completes with system audio + mic + webcam + cursor all *enabled* (no regression to the normal path) |
| 33 | +- [ ] Tray icon "Stop Recording" works while recording (right-click → Stop, or left/double-click to refocus the HUD if it's minimized) |
| 34 | +- [ ] Opening an existing video file works from the launch window |
| 35 | +- [ ] Opening an existing project works from the launch window |
| 36 | +- [ ] **HUD drag tracks the cursor** with no drift, including a long drag across most of the screen (regression check for #100) — drag it, release, and confirm it doesn't jump afterward |
| 37 | +- [ ] Countdown overlay (if enabled) shows before recording starts and doesn't block the source |
| 38 | + |
| 39 | +## Audio |
| 40 | + |
| 41 | +- [ ] Mic toggle on/off works before recording |
| 42 | +- [ ] Mic device selection (if multiple mics available) works |
| 43 | +- [ ] System audio toggle works — verify across **two separate recordings** (toggle state isn't sticky/stale between them) |
| 44 | +- [ ] Mic-only recording produces audible mic audio on playback |
| 45 | +- [ ] System-audio-only recording produces audible system audio on playback |
| 46 | +- [ ] Mic + system audio together: both are audible and levels are reasonably balanced (not one drowning out the other) |
| 47 | +- [ ] **Exported video has audio** matching what was audible in the editor preview (regression check for #108: mic/system audio used to be silently dropped on export) — check this for at least one mic+system-audio recording |
| 48 | + |
| 49 | +## Editor Load + Playback |
| 50 | + |
| 51 | +- [ ] Recording stop opens the editor automatically with the correct video (and webcam PiP, if recorded) loaded |
| 52 | +- [ ] Playback, pause, seek all work from the transport controls |
| 53 | +- [ ] **Playhead tracks actual video position with no visible lag**, including while dragging the playhead during playback (regression check for #111) |
| 54 | +- [ ] Cursor telemetry overlay (highlight/spotlight, if enabled during capture) renders correctly and stays aligned with the actual cursor position throughout playback |
| 55 | + |
| 56 | +## Webcam / Full Camera |
| 57 | + |
| 58 | +- [ ] Webcam PiP renders during playback in the position/size/shape configured (rectangle vs. other mask shapes) |
| 59 | +- [ ] Webcam mirroring toggle works |
| 60 | +- [ ] Webcam reactive zoom (PiP grows on cursor activity, if enabled) behaves reasonably |
| 61 | +- [ ] **Full Camera segment**: press `C` (or the equivalent UI action) to add a Full Camera segment on the timeline; scrubbing through it grows the webcam to fullscreen with an ease-in, and eases back out at the segment's end |
| 62 | + |
| 63 | +## Timeline |
| 64 | + |
| 65 | +- [ ] Add / edit / remove each element type: **zoom region**, **annotation**, **trim region**, **speed region** — confirm each behaves correctly in preview playback |
| 66 | +- [ ] **Auto-zoom regions follow the cursor for their whole span**, not just a static frozen point at the start (regression check for #72) — record a clip with the cursor moving/typing across the screen, let auto-zoom place a region, confirm the pan tracks the movement |
| 67 | +- [ ] Region drag/resize snaps and persists correctly (re-open the project or scrub away and back to confirm the change stuck) |
| 68 | +- [ ] No overlap/ordering bugs on timeline items (annotations are the one type allowed to overlap by design — everything else should not silently collide) |
| 69 | +- [ ] Undo/redo (Ctrl+Z / Ctrl+Shift+Z) works for at least one add/edit/remove action per element type |
| 70 | +- [ ] **Exported video matches the editor preview 1:1** for whatever combination of zoom/annotation/trim/speed/Full-Camera was added — this is the one item worth actually exporting and watching back, not just eyeballing the preview |
| 71 | + |
| 72 | +## Project Persistence |
| 73 | + |
| 74 | +- [ ] Save works (explicit save action, if present, or auto-save) |
| 75 | +- [ ] Load works: close and reopen the project, confirm every timeline element, webcam settings, and style setting (wallpaper/padding/shadow/etc.) survived exactly as left |
| 76 | + |
| 77 | +## Style / Other |
| 78 | + |
| 79 | +- [ ] Wallpaper, padding, shadow intensity, border radius, aspect ratio, motion blur sliders all visibly affect the preview when tweaked |
| 80 | +- [ ] Blur / background-disable-adjacent settings (see #84 — if a dedicated "disable background" control exists by the time you're testing, verify it; otherwise skip) |
| 81 | +- [ ] Language switcher changes UI strings correctly (spot-check one non-English locale) |
| 82 | +- [ ] Export completes for at least one full project combining several of the above (audio + zoom + Full Camera + trim), and the resulting file plays back correctly outside the app (e.g. in a system video player) |
| 83 | + |
| 84 | +## Windows-native specifics (if testing on Windows) |
| 85 | + |
| 86 | +- [ ] Software-encoder fallback notice (if the machine can't use hardware H.264) appears appropriately and doesn't block recording |
| 87 | +- [ ] Diagnostic bundle export (Settings → diagnostics, if present) completes without error |
| 88 | + |
| 89 | +## macOS-native specifics (if testing on macOS) |
| 90 | + |
| 91 | +- [ ] No crash immediately after stopping a recording (regression check for #21 — a known unresolved shutdown-path crash; if it reproduces, note the crash reporter output) |
| 92 | +- [ ] Recording survives an macOS Spaces switch while the HUD is visible |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +## Results log |
| 97 | + |
| 98 | +| Date | Build / commit tested | Tester | Findings | |
| 99 | +|------|------------------------|--------|----------| |
| 100 | +| | | | | |
0 commit comments