From 27004841e712c4b1ee9ee1fbeab7a8b317e8703c Mon Sep 17 00:00:00 2001 From: Etienne Lescot Date: Sat, 17 Oct 2026 10:51:56 +0200 Subject: [PATCH] docs(testing): log the Linux pass of v2.1.0-rc.6 --- technical-documentation/testing/manual-e2e-checklist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/technical-documentation/testing/manual-e2e-checklist.md b/technical-documentation/testing/manual-e2e-checklist.md index c28972d23..d59ed495d 100644 --- a/technical-documentation/testing/manual-e2e-checklist.md +++ b/technical-documentation/testing/manual-e2e-checklist.md @@ -988,3 +988,4 @@ These checks are the human slice: an agent cannot click Apple's picker (see abov | 2026-10-17 | `v2.1.0-rc.5`, `release/v2.1.0` @ `3db4c7c`, `Openscreen-Linux-2.1.0-rc.5.AppImage` from the GitHub release (build run 39003658928, all jobs green). sha512 matched `latest-linux.yml`; run directly, not installed. For A/B on the same machine and the same projects: the rc.4 AppImage from its release (sha512 matched) | Ubuntu 24.04, GNOME Shell 46 **Wayland**, AMD Radeon 610M, 1920×1080 @ 60 Hz, USB2.0 HD UVC webcam (10 fps in a dark room) | **Partial — diff since rc.4: #1296 passes (pause and seek on held frames); #1294 still trails at 3 of 5 cuts; no smoothness regression** | **Setup.** Driver: the `computer-use-linux` bridge of the rc.3 row, one RemoteDesktop grant. Takes are real PipeWire takes recorded through stdio `openscreen mcp` `startRecording` with `camera: true`, with the app quit first. While the app runs, its video-capture service keeps `/dev/video0` open even with the HUD hidden, and a take comes out with no webcam file and no error. **Finding: a real Linux PipeWire take has no long held frame.** A still screen with a still pointer, for 22 s and then 13 s, still gave a packet every 17–33 ms (no gap above 50 ms; 3201 frames in 55.2 s): the helper encodes a frame at every tick. On Linux the held-frame path (#1296) is therefore reached only with VFR media, imported or recorded on Windows or macOS. The rc.3 "1–2 updates/s" was measured on such a file. **The held-frame take used here** is the real webcam take turned VFR with mpdecimate, built like a PipeWire take (no B-frames, GOP 30, fragmented MP4, silent AAC to the end): holds 0.04→17.44 s and 21.40→33.47 s, last screen frame at 37.42 s, clip 51.18 s. **1. Full Camera at export (#1294): fail at 3 of 5 cuts.** Real webcam take with Full Camera 8.006–40 s crossed by five trims: 10.001–11.388, 15.2–16.0833, 20.5–21.7177, 26.3–27.4567, 31.111–32.2229. Motion blur 0.35. Exported at 1080p60 with MCP `exportVideo` (2969 frames, 49.47 s) and scanned frame by frame for one-frame outliers. - rc.5: the first frame after cuts 3, 4 and 5 (frames 1094, 1369 and 1588; 3.6, 4.7 and 0.4 ms after the cut on the output clock) shows the full-frame camera smeared toward its PiP corner. Cuts 1 and 2 are clean, and there is no other outlier in the file. - rc.4, same project: outliers at frames 600, 1094, 1369 and 1588. - So #1294 fixes only the PR's case (clip start 11.388, frame 600). Of the three starts still trailing, 21.7177 and 27.4567 round down in f32 and 32.2229 rounds up: f32 rounding of the start does not explain them on its own. The Windows rc.5 row also has one cut left. **2. Pause on a held frame, then a setting change (#1296): pass.** Held-frame take: seek to 24 s, play, pause at 0:27.6 (inside the 21.40–33.47 hold), wait 2 s, change the wallpaper, then the background blur. The playhead stays at 0:27.6, and the cursor stays where the telemetry puts it at 27.6 s (cx 0.189). rc.4 with the same steps: from the settle pass on, the cursor sits at its 21.40 s position (cx 0.551) while the playhead reads 0:27.6. **3–4. Seek then play.** Method: a helper capture of the canvas at 60 fps, as in the rc.3 row, counting changes per second, stills and A-B-A step-backs. Each run seeks by a ruler click and then plays, twice: into a still stretch at 26 s with 9 s of play, then into the final still stretch at 45 s, playing to the end. - **Held-frame take:** rc.4 (2 runs) gives 22–28 changes/s, with 100–133 ms stills recurring every 0.5 s (14 in the 9 s window: the drift watch re-anchoring) and 6–8 after the 45 s seek. rc.5 (2 runs) gives 29–30/s: a single 133 ms still 0.3 s after play, then nothing above 68 ms, and no step-back. - **Seek past the last screen frame** (45 s > 37.42 s): rc.5 holds 30/s and the cursor follows to the clip's end. - The 200–390 ms stall at play start is the same in both builds. - **Real (CFR) take:** rc.4 (2 runs) gives 29–31/s, stills mostly 34 ms, 150–267 ms at play start, no step-back. rc.5 (4 runs, one of them a fresh launch) has the same profile. One run, the first after a launch, measured 19–26/s with 51–83 ms stills, and the next three did not reproduce it. One A-B-A at play start in 1 of 4 rc.5 runs, none in rc.4. - So point 3 shows no new hitch, and the only step-back is that one at play start; point 4 is smooth. The preview still runs at ~30 distinct frames/s on this iGPU at 60 Hz in both builds (rc.3 row). **Also seen:** the MCP takes began recording 14–28 s after `startRecording` with no portal picker visible on screen, and the webcam started up to 28 s before the screen (`webcamOffsetMs` −28151 compensates). **Not covered:** #1294 in the preview; Full Camera across clip junctions and clip starts (trims only); a held frame coming from a real Linux take (there is none, see above); the `.deb`; the rest of the checklist. Takes, projects, audio peaks and media-link entries from this pass were deleted, and `~/.config/openscreen` was restored from a backup taken before the pass. | | 2026-10-17 | `v2.1.0-rc.6`, tag @ `36b3814`, installer `Openscreen.Setup.2.1.0-rc.6-x64.exe` from the GitHub release (build run 39010637863). sha512 matched `latest.yml`; installed silently over rc.5. The uninstall entry and the MCP server report `2.1.0-rc.6`. | Windows 11 Home 26200 (x64), Ryzen 7 5800X, RTX 4070 Ti, 1920×1080 at 279 Hz; Logitech StreamCam | **Partial — minimal pass: smoke test and the fixes since rc.4. All pass, no critical defect** | Real OS input through computer-use. Export checks also ran from an SDK MCP client over stdio. **Smoke:** - The HUD appeared; a left click on the tray icon brought the minimized editor back. The silent install landed in `C:\Program Files\Openscreen`, where an rc.6 per-machine install already existed, rather than the per-user folder; the per-user rc.5 was removed. - A 44 s take with webcam, microphone and system audio, with clicks in an Explorer window (`wgc-capture.exe` granted mid-take). Stop opened the editor with the take, the webcam and one auto zoom. The take's audio peaks at −8 dB. - Playback moved; on a 60 fps capture of the preview, no step back. - Export from the dialog, MP4 1080p60: 1752×1080, 44.35 s, H.264 and AAC, decoded without error, audio peaking at −1.7 dB. - After quitting, reopening from the HUD showed the project intact: take, webcam, auto zoom, changed wallpaper, rewound zoom absent. **Fixes:** - Full Camera trail (#1294, #1304): the rc.5 project re-exported with the same cuts at 1080p60. The frame that trailed on rc.5 (first frame after the trim ending at source 46.34986635) is sharp, and no one-frame outlier is left in the export. Frames before it are identical to the rc.5 export. - Pause on a held frame (#1296): paused at 0:32.1 on a still passage, then changed the wallpaper. The playhead, the cursor and the webcam did not move. - Chat rewind (#1292): "Add a zoom from 2 s to 4 s" added a 1.8× zoom. Rewinding that message showed "Rewound to the start of that message": the zoom was removed and the text returned to the composer. No "Message not found" in the UI or the logs. **Not run:** - smoothness at 60 Hz (rc.5 row, #1301); - the rest of the checklist. | | 2026-10-17 | `v2.1.0-rc.6`, `release/v2.1.0` @ `36b3814`, DMG `Openscreen-macOS-Apple-Silicon-2.1.0-rc.6.dmg` from the GitHub pre-release (build run 39010637863): 140 603 025 bytes, sha256 matches the release asset's digest; `spctl` accepted, Notarized Developer ID (M4LK7C6S84); `stapler validate` OK; `CFBundleShortVersionString` 2.1.0-rc.6. Installed over rc.5 | macOS 27.0.1 (26A434), Apple M1 (arm64), 8 GB, one 1920×1080 display at 120 Hz (1×); OBS Virtual Camera (no physical camera), BlackHole 2ch | **Partial — minimal pass toward stable: no critical bug; all 8 checked items pass** | Real OS input through computer-use, launched with `OPENSCREEN_MAC_SOURCE_PICKER=legacy`, `OPENSCREEN_DIAGNOSTIC=1` and `--remote-debugging-port` (read only: the `scripts/perf-ab/probe.js` paint probe, the playhead text and the editor's media elements). Measured with the app's bundled `ffmpeg`. Nobody else used the machine during the measures. **Smoke:** 1. The HUD appears. The tray icon (the green one in the menu bar; the aperture icon beside it is OBS's) opens Open / Check for Updates / Update Settings / Send Anonymous Usage Count / About / Save Diagnostics / Permissions… / Quit. *Open* brings back the HUD after *Hide recording bar*. 2. HUD take, 34 s, OBS webcam and microphone, six clicks on a 60 fps test pattern: the editor opens on it with the webcam PiP and two automatic zooms (1.25×, 1.80×). The take is 1920×1080 H.264 at about 56 fps, plus AAC 48 kHz stereo (mean −21.4 dB, real signal). 3. Playback: the preview moves. Probe 28.3–29.0 paints/s, p50 33.4 ms, p95 36.6. The preview's `