release: OpenTake 1.0.0-beta.2 - #237
Merged
Merged
Conversation
added 30 commits
July 29, 2026 16:01
added 8 commits
August 5, 2026 14:09
After gating TestTurnGate/turn_context to unix, AppCoreHandle/CoreHandle, ToolResult and AppCore imports are unused on Windows test builds.
…tability - ff.rs: availability-probe and cancellable-ffprobe tests asserted immediate pid death; SIGKILLed orphans linger as zombies until init reaps them, so kill -0 still succeeds under loaded CI (2 Linux failures). Poll with a bounded deadline, mirroring assert_capture_limit_kills_tree. Also relax the nonreturning_wait elapsed bound (2s->5s) — the deadline-fires assertion is unchanged. - Windows rebind tests (prepared_project_detects..., mcp inspect_project_media ..., safe_asset_protocol project_helper_rejects...) renamed bundles while retained handles were open — cap-std strips FILE_SHARE_DELETE so Windows fails those renames closed. Split each into cfg(unix) (original rebind assertion) + cfg(windows) (fail-closed rename-blocked assertion).
Only the cfg(unix) project_helper_rejects_an_ambient_bundle_replacement test uses it; on Windows test builds the cfg(test) import was unused.
… loaded CI) Two consecutive windows-product failures hit the two documented environment-flaky chromium tests (audit G): virtual_time_... Timeout(20s) at chromium.rs:80 and sandbox_progress_... render timed out after 90s. Both pass in the fresh-state dedicated steps minutes earlier, then time out inside the workspace sequence on a loaded runner. - chromium.rs test helper timeouts 20s -> 60s (timeout SEMANTICS are still asserted by the deliberate 500ms timeout test) - production motion sandbox deadline 90s -> 180s (complex renders on slow or loaded machines; still fail-closed)
cargo test --workspace stops at the first failing target, so security_config never ran on Windows CI until the motion-timeout fix let the workspace step reach it. The include_str!(lib.rs) assertion searched for '\n "opentake-asset",' but Windows git materializes CRLF (no .gitattributes) — normalize line endings before matching.
…ers on saturated prewarm queue Playback pixels were frozen to the last composite still during PLAY because the 2026-08 webview-scope hardening (75f62b9) dropped http://127.0.0.1:* from CSP img-src while the streaming playback preview canvas loads one JPEG per rendered frame from the in-process MJPEG server on a random loopback port. WKWebView enforces img-src on those <img> loads, so every live frame was silently blocked; playhead events (IPC) and composite stills (data:) kept working, leaving the stage showing the play-start frame until pause requested a new still. Restore the loopback port wildcard in img-src (csp + devCsp) and relax the security_config assertion to allow exactly that single wildcard. Large folder imports also dropped the tail of their grid posters: the bounded prewarm queue (24) rejected posters past capacity with no retry, so a 50+ file import left its last items without thumbnails until a card scroll happened to request them lazily. Raise the queue to 64 and re-attempt Busy posters with a bounded drain wait after the batch commits; regression test imports 72 files and asserts every poster lands on disk.
…edia scope Root causes (user-verified on a 4K/60fps dual-video-track project): 1. The loopback /frame store kept only the newest published frame and required an exact frame+sequence match. When the renderer falls behind (4K multitrack), it publishes faster than the front end's event→IPC→React→DOM→HTTP round trip, so almost every <img> request 204s and failRustFrame silently dropped every non-terminal frame — the preview froze on the idle still while the playhead kept moving. lookup now serves the newest published frame for any same-session query that is not newer than what was published; a future-frame query is still dropped. 2. Front end retried only terminal frames; live frames now retry once so a transient 204 re-resolves to the newest frame. 3. Opening a project did not grant its referenced media files to the asset protocol, so thumbnails/previews/scrub stills could only load if each file had been re-approved through a dialog. project_open now grants the exact materialized files the project references (never whole directories). Regression coverage: transport lookup semantics (stale frame + slow consumer resolve to newest; future frame + foreign session rejected), front end live-frame retry, and project media scope grant.
added 19 commits
August 8, 2026 19:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Verification
Windows scope
Windows validation in this PR is intentionally code logic, CI contracts, build/package, sidecar and installer smoke only. No manual Windows GUI claim is made. The exact commit must pass GitHub hosted Windows runners before merge.
Release policy
The workflow never creates or moves tags. After this PR is merged and main CI is green, v1.0.0-beta.2 will be created once at the exact remote main SHA; the tag-triggered workflow publishes a prerelease only after all quality, macOS and Windows jobs succeed. Local macOS artifacts are ad-hoc signed and are not Developer ID notarized.