Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions technical-documentation/testing/manual-e2e-checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -955,3 +955,4 @@ These checks are the human slice: an agent cannot click Apple's picker (see abov
| 2026-10-12 | installed `v2.1.0` candidate, CI-built DMG `Openscreen-macOS-Apple-Silicon-2.0.0.dmg` from build run 38252812147 (`openscreen-mac-arm64`, `release/v2.1.0` @ `9c55596e1`), Developer ID signed and notarized (`spctl`: accepted, Notarized Developer ID, M4LK7C6S84), installed over the previous `/Applications/Openscreen.app`; About reports `2.0.0 (dmg)` (the branch does not bump `package.json`), Electron 41.2.1, Chromium 146.0.7680.188, Node 24.14.1 | macOS 26.5 (25F71), Mac mini M1 (arm64), one 3840×2160 display at 2×, no camera (Scaleway MDM `allowCamera=false`), BlackHole 2ch as the only input | Partial, 6 defects | Real OS mouse and keyboard through computer-use, launched with `open --env OPENSCREEN_DIAGNOSTIC=1` (no content-protection flag needed on 26), then `OPENSCREEN_MAC_SOURCE_PICKER=legacy` for every take after the first; tones into BlackHole (440 Hz) and the speakers (1 kHz) gave the mic and system-audio signals; every number below is ffprobe/ffmpeg on the files. **Covered, post-2.0.0 first:** recordings folder (row last, native picker, take lands in the custom folder, row survives restart, *Reset to default* only while custom and takes return to `userData/recordings`, deleted folder recreated by the next take, ejected volume gives "Can't reach the recordings folder", 298 MB volume refused from the HUD and the voice-over with "Not enough disk space ... (only 298 MB free)", from Record mode no take and no file but the toast was not captured, Restart on a volume filled under 500 MB gives "The new recording could not start. The previous one was deleted." with no file left); mic double-click stays off; Play past the last clip holds clip 2's own last frame and stops at the total (#997); duplicate clip carries zooms, speed and annotation (#1011); Edit clip trim-bar playhead, in-point frame, scrub with *Apply* disabled, grip pushes the playhead; zoom trails and their in/out/pan/trim/junction tooltips, trails follow a dragged trim, a trim between two zooms breaks the pan, end of timeline is no junction; Names and terms ("OpenScreen" spelled, opening kept, not Title Case; one undo restores field and transcript), transcript Backspace cut and Cmd+Z (#1012), Cmd+Z inside an edited word; agent: filler words plus a quoted phrase as one trim with no sliver, *Screen turned left* then *3D Orbit*, stretch into a neighbour refused naming it; two conversations and the last reply survive a quit right after the reply, history is per project; MCP stdio (`help` lists `mcp`, `listSources`, `startRecording` on a window: 2944×1926 take in the custom folder, no Apple picker, 3 clicks 1.7 s apart grouped into one zoom; edit while closed, `exportVideo` 25.82 s = 33.82 − 8 s trim, `getFrames`, `restoreCheckpoint` back to the raw take, stale warning with `projectId`; edits refused on the project open in the editor and on a closed project without checkpoint); in-app server off by default, *Running* with port, token and snippets; GIF of 61 s at 20 fps Small in about 8 s; Glass Lens and 3D Glass Lens in preview and in a 720p export (refraction, shadow); *Mouse clicks* off by default, *Click volume* row, clicks in the export at the speed-mapped times (±20 ms). **Covered, rest of the file:** HUD launch, layout toggle, drag without drift or jump, language menu, tooltips on both bars idle and recording (a teleported pointer needs one small move, as a hand gives), gear lists inputs with a moving meter, "No camera found" and no *Camera quality* row, camera toggle refused with "Camera not found.", hide and tray refocus, tray menus idle and recording (only *Stop Recording*), quit and relaunch, single instance (`open -n` exits), *Update Settings* modes persisted in `update-settings.json` across restart; app menu items; About box; legacy selector; Record mode rows, Auto-zoom row only with Editable cursor, mic meter, hand-over to the HUD with the same settings, zooms placed after a take and none with Auto-zoom off; pause/resume, Restart, cancel without editor, stop from HUD and from the tray; gear does not open during a take; full-screen take fills 3840×2160 edge to edge (HiDPI), HUD absent, desktop icons absent while still on the desktop; mic and system audio each audible alone and together (−23.8 / −34.6 dB band levels); editor opens in Edit with the take and toast; New project, Import, *Add to timeline* toast, Media card name/duration/size, Export disabled with no asset; local transcription on Metal with French detected; Cmd+O, theme and language switches (UI and native menus follow, back to English); export dialog (formats, qualities with sizes, fps, no codec, GIF options and summary), MP4 progress, cancel with no partial and same options, retry, *Saved to*, *Show in folder*, GIF cancel keeps the existing destination, MP4 in QuickTime and GIF in Preview; imported audio pill named after the file at −18 dB with 1 s fades, a bed past the programme end is cut without pulling its fade-out forward; Save Diagnostics from the app menu writes a bundle; reopened project keeps clips, in/out, zooms, speeds and trims. **Defects:** (1) dragging a zoom into a neighbour of the same level passes into it instead of stopping flush (#1008): 23.0 s zoom dragged left landed at 20.055–21.984 s over 19.975–21.904 s, a 2 px nudge still overlaps by 40 ms; the pair draws as one pill and a level change on one half changed both, so #1017 could not be judged on exactly touching regions; medium. (2) MP4 export of the speech fixture (source −17.6 LUFS, +4.9 dBTP) measures −17.3 LUFS, sample peak −0.59 dBFS, true peak +0.5 dBTP against about −16 LUFS and at most −1 dBTP; medium. (3) agent title "Demo OpenScreen" with a switch to 9:16 in the same turn: box 95 %×9.33 % at size 64, only "Demo" visible in the preview and in the exported frame at 3.0 s; medium. (4) click sounds missing on a duplicated clip: clip 1 clicks at 6.04, 10.26, 14.44, 28.59, 36.91 s are in the export, the duplicate's click expected at 43.17 s is absent; low to medium. (5) HUD error toasts sit over the HUD's own controls, their × does not take the click (it reaches the window behind) and they stay while the pointer is over them; the mic toast at take start hid Pause, Restart and Cancel until the pointer left; medium. (6) a microphone picked as "BlackHole 2ch (Virtual)" is not resolved by the SCK helper (`[native-sck] recording the default input; microphone was not resolved`), so every take toasts "The chosen microphone could not be identified"; low. **Observations, not filed:** transcription shows "Transcribing 0%" for the whole job, 66.2 s of French in 101.6 s and 112 s (0.6–0.7× real time with the fr CTC aligner) against 61× on a speech-free take; the legacy *Windows* tab listed one window while the Claude window was on screen; the disk-space refusal comes after the 3-2-1 countdown; "Loop off" writes a NETSCAPE loop count of 1. **Skipped:** Apple's picker slice and the permissions window's first-run rows (operator asked for an unattended legacy run; Screen Recording already granted and not reset; one early take went through the picker and is not judged); every camera, webcam-quality, Full Camera and camera-background check (MDM blocks cameras); Windows, Windows on ARM, Linux and macOS 13/14 sections (other OS or version); Intel ONNX check (arm64 only); second display at another scale (one display); GIF speed against v2.0.0 (no v2.0.0 left installed to compare); in-app MCP edits and port change (no HTTP MCP client here without downloading one) and `setPointerTrack`; Escape checks and Ctrl/Shift-scroll (unreachable from computer-use on this Mac); Spaces switch (no system key combos granted); no-microphone refusal and unplugged mic (BlackHole cannot be removed here); not run for time: captions and caption placement, translation, annotation types (image, arrow, blur), v1.8.0 anchoring section, most audio-track checks, voice-over take, inspector facets, shortcuts dialog, editor window bounds, migrated-project persistence, chat rewind/compaction/rename/delete, export speed-region audio section. |
| 2026-10-12 | installed `v2.1.0` candidate after `release/v2.1.0` was fast-forwarded to `main` @ `bd04d3a7` (adds #1147, #1151, #1155, #1158, #1160, #1166, #1131), CI-built DMG `Openscreen-macOS-Apple-Silicon-2.0.0.dmg` from build run 38309126813 (`openscreen-mac-arm64`), Developer ID signed and notarized (`spctl`: accepted, Notarized Developer ID, M4LK7C6S84); the SCK helper is dated 23:22 that day and carries the new Chromium suffixes (Virtual, Bluetooth, Built-in) | macOS 26.5 (25F71), Mac mini M1 (arm64), one 3840×2160 display at 2×, no camera (MDM), BlackHole 2ch as the only input | Pass, scoped to the merged fixes | **Targeted re-run of the six fixes from the pass above, real OS mouse and keyboard through computer-use**, launched with `open --env OPENSCREEN_DIAGNOSTIC=1 --env OPENSCREEN_MAC_SOURCE_PICKER=legacy`; numbers are ffprobe/ffmpeg on the files. **#1158 (HUD toasts):** "Camera not found." now shows centred above the horizontal bar, clear of every control, and its × dismisses it with a real click. **#1147 (microphone suffix):** "BlackHole 2ch (Virtual)" picked explicitly in the gear, mic on, HUD take: no "could not be identified" toast, no `microphone was not resolved` line in the main log, and a 440 Hz tone sent into BlackHole is in the take at −23.7 dB band level; only one input exists here, so picking an input that is not the default was not exercised. **#1151 (click sounds on a duplicated clip):** re-export (720p 30 fps) of the two-clip project: clip 1 clicks at 6.04, 10.26, 14.44, 28.59, 36.91 s unchanged, and the duplicate's click is now present at 43.16 s (expected 43.17 s). **#1166 (export loudness):** the speech fixture exported at 1080p 30 fps measures true peak −1.5 dBTP (was +0.5), sample peak −1.52 dBFS, integrated −17.2 LUFS (the clipped source cannot reach −16 without re-clipping, as the PR states), AAC at 264 kb/s. **#1160 (agent title fit):** the chat agent, asked to switch to 16:9, add "Bonjour OpenScreen", then switch to 9:16, refits both titles (56 px and 61 px, one line each); the exported 1080×1920 frames show "Demo OpenScreen" and "Bonjour OpenScreen" whole, where the earlier build showed only "Demo". Smoke: launch, HUD, record, stop and editor open, Cmd+O, export dialog. **Skipped:** #1155 (Windows WGC helper only, needs a 10 min loaded take on Windows); the rest of the file (covered by the row above on the earlier build). |
| 2026-10-12 | `release/v2.1.0` @ `9c55596e1`, CI artifact `openscreen-windows-x64` from build run 38252812147 (NSIS sha512 matched `update-info-win-x64.json`), silent per-user install over 2.0.0, About reports `2.0.0` (`win32 x64 · nsis`, Electron 41.2.1, Chromium 146.0.7680.188, Node 24.14.1); `package.json` is still 2.0.0 on the branch, so only the run id tells this build apart | Windows 11 Home 26200 (x64), AMD Ryzen 7 5800X 8 cores, RTX 4070 Ti, 1920×1080 @ 100 %; Logitech StreamCam (sub-4K, MJPEG 1080p30 max), NVIDIA Broadcast camera (DirectShow-only) | **Fail — 2 should-fix, 1 medium, 6 minor; post-2.0.0 sections first, rest partial** | Real OS input through computer-use; grant `openscreen.exe` by executable, because `Openscreen` resolves to the Store 2.0.0 package (same trap as rc.3). **Defects. (1) Should-fix, MCP stdio:** an edit sent to a project open in the editor is accepted ("not open in the editor"), written to disk, then silently dropped by the editor's next autosave (trim added 17:07:25, gone at 17:07:44, `listProjects` reports `open:false`). **(2) Should-fix, #945:** 10:25 take, webcam + system audio, under a continuous CLI export loop: the screen track is in step with the wall clock until 5:00 (HUD-timer flips at 21.017 s and 301.017 s), then loses 217 ms by 10:00 (−0.033 @376, −0.083 @411, −0.150 @451, −0.200 @601); audio loses 43 ms, webcam none, so the screen ends 187 ms short of audio and 221 ms short of webcam. **(3) Medium:** any CLI/MCP process shares `%APPDATA%\openscreen` and takes Chromium's Local Storage lock (Restart Manager: holder `electron … mcp`), so the GUI runs on in-memory storage: the system-language prompt returns on every launch after "Keep current language", and the stdio server logs `Unable to move the cache: Accès refusé`. **Minor:** identical speed regions dragged into each other overlap (1.27 s) instead of stopping, then edit together; a project's first chat message shows a raw ISO UTC time; `stopRecording` gives 1 zoom for 2 clicks (first at 1.9 s) while its description promises one per click; MCP `listSources` lists 3 windows where the HUD lists 5 (Settings absent); the open-project search ignores Enter on a single match; HUD dropped near the top moves ~68 px down when a popover opens and stays there. Doc drift: camera shape is Square/Original, not Rectangle/Square. Open question: main export 2451 frames at 30 fps against 2444.9 predicted (97.579 s − 10.686 s trims − 5.397 s speed), +6 frames over 13 segment boundaries, per-segment rounding suspected, not proven. **Passed:** HUD launch, layout toggle, drag, language menu (Esc closes it), camera/mic toggles, mic double-click cancels, camera quality 1080p persists, hand-edited `720p` shows 4K, tray refocus and red recording icon with "Recording: Tout l'écran", single instance; record with no source opens the picker and starts; pause (62.5 s wall for 48.8 s file), restart (old take deleted), cancel, all-off stop → editor < 2 s, gear locked during a take, content protection ON keeps the HUD out of the file; screen High/no B-frames/bt709 tv, AAC 48 kHz, `videoEncoderRuntime: "hardware"`; webcam 1920×1080@30 = `webcamFormat`, 16 Mbit/s, last frame live; DirectShow camera resolved, file = negotiated 1080p30; Hide desktop icons (wallpaper in file, icons back after); recordings folder pick/persist/recreate/reset; zoom trails, hatched cut tooltip, pan chain and its break, flush drag and resize (#1008, different values), #1017 on touching regions, clip duplicate carries zoom/speed/annotation/Full Camera (#1011), Edit clip scrub (#997 last-frame hold too), Full Camera across an inner trim; names and terms fix the spelling and undo with the field, transcript Backspace + Ctrl+Z (#1012), word correction; chat: filler words (one trim), quoted phrase, screen turned left → 3D Orbit, 9:16 + fitted title, refused stretch naming the neighbour, one undo per turn, two conversations survive a quit, per-project history, project delete removes `chat.json`; stdio MCP: `help` lists `mcp`, `listSources`, window take → project in the editor's list, edit refused without checkpoint, `restoreCheckpoint` to the raw take, export, `getFrames` through trims and its stale warning, `setPointerTrack` draws the cursor and zooms on scripted clicks; Glass Lens 2D/3D in exports, click sound at 3.72 s for 3.727 s predicted after a 1.5× region, none in a trim, none with Show cursor off; GIF 13.4 s vs 127.4 s on v2.0.0 (9.5×, 8 cores, same 249 frames); export dialog v2, MP4/GIF cancel (no partial, destination hash unchanged), −15.9 LUFS / −1.6 dBFS, A/V within one frame; imported track −18 dB/1 s fades, ~10 dB duck under speech, continuous across the junction; captions + French translation; About/update dialog; theme and language; Media/Edit/Record; navigator pan/zoom; editor bounds and invalid-file fallback; persistence across restarts. **Skipped, with reason:** microphone checks (StreamCam mic delivers no samples even to ffmpeg, headset mic is digital silence), voice-over; in-app HTTP MCP client checks (copying the token was refused by the agent's classifier); tray right-click (shell granted at tier click) so Save Diagnostics, Update Settings and `helperOutput` (delivered=, no-visible-frame) are unread, and Alt never showed the Help menu (keyboard negative, unconfirmed by hand); Ctrl/Shift+wheel (wheel events never reach the editor through this driver); DPI scaling (changing OS settings is outside what the agent may do); 4K, no-30-fps, 640×480 and C920 cameras, covered lens, 96 kHz device, second display, removable drive and low-disk volume, notes window; Windows 10, ARM, macOS, Linux. |
| 2026-10-13 | `release/v2.1.0` @ `912b44800` (fast-forwarded to `main`: #1144, #1145, #1150, #1152, #1153, #1154, #1156, #1161, #1163, #1165), CI artifact `openscreen-windows-x64` from build run 38370716184 (NSIS sha512 matched `update-info-win-x64.json`; the run's macOS x64 job failed once on a notarization-staple network error, `NSURLErrorDomain -1005`, and passed on re-run), silent per-user install, About still `2.0.0` (intermediate build) | Windows 11 Home 26200 (x64), Ryzen 7 5800X, RTX 4070 Ti, 1920×1080 @ 100 %; Logitech StreamCam | **Pass — scoped re-run of the fixes from the 2026-10-12 row, 1 new minor** | Real OS input through computer-use, measurements on the files. **#945 / #1165:** 10:57 full-screen take, StreamCam 1080p30 + system audio, while 44 CLI exports ran back to back: screen 657.535 s, audio 657.536 s, webcam 657.537 s (2026-10-12: screen −187 ms and −221 ms); HUD-timer flips filmed at 21, 301, 451, 601 and 651 s all sit at +0.033 to +0.050 s, so the screen holds the wall clock to one frame over the whole take (2026-10-12: −217 ms after 5:00); TTS markers drift 0 ms over 567 s. **#1163:** CLI export of the two-clip project at 60 fps gave 4886 frames against 4886.8 predicted from the clips' real video length (48.765 s each); the progress total said 4890, the residual the PR documents. **#1154:** with the project open in the editor, stdio `listProjects` reports it `open: true`, `createCheckpoint` + `addTrim` is refused ("open in the OpenScreen editor …") and the file is untouched; `.open-in-editor.json` carries the GUI's pid. **#1145:** an installed `Openscreen.exe mcp` locks its own `cli-sessions\<pid>-<id>\Local Storage`, never the GUI profile, with no cache error, and dead runs' folders are swept on the next run. The GUI-side symptom (language prompt on every launch) could not be re-tested: ten older dev `electron … mcp` servers from another worktree, built before the fix, still hold `%APPDATA%\openscreen\Local Storage\leveldb\LOCK`. **#1150/#1153:** `listSources`, `startRecording`'s not-found error and `stopRecording` now say what is not listed and how clicks share zooms; the not-found error still carries a JavaScript stack trace. **#1152:** a project's first chat message shows `11:16:44`, like the reply. **#1156:** Enter in the Open project search opens the highlighted single match. **#1161:** HUD dropped at y≈200, the language menu and Device settings each push the bar down while open and it returns to y≈200 once they close. **#1144:** two identical 1.5× regions, the second dragged into the first, stop flush at 25.173 s with the length kept (4.983 s). **New, minor:** adding a region with its key while the playhead is inside an existing region of the same kind creates an overlapping one, whatever the values (2× 20.190–25.173 then 1.5× 23.253–28.236), the creation counterpart of #1133. Not re-run: microphone (no working input on this machine), everything outside the fixed points. |
Loading