Repository navigation
Do not park a video that starts while a still still holds the renderer - #19
Merged
Merged
Conversation
The two-second hold after a still is only so the shell can take the surface over. A video set inside that window was parked with it, the load never became ready, and the still stayed up. Fixes omacom#18
olafkfreund
added a commit
to olafkfreund/nixarchy
that referenced
this pull request
Oct 31, 2026
…renderer start wait (#1153, #1437) and the handoff park fix (#1359) (#1535) ## What and why The `update` workflow on main failed this morning (run 41171151925). nix-update bumped owe 0.2.12 → 0.2.13, and our carried `substituteInPlace` on `src/daemon/supervisor.c` no longer matched: ``` substituteStream() in derivation owe-0.2.13: ERROR: pattern while\ \(waited\ \<\ 1000\)\ \{ doesn't match anything in file 'src/daemon/supervisor.c' ``` The other failed builds in that log are at unchanged versions and were stopped by this one. owe 0.2.13 is the only package that moved. Both carries are upstream now, so this PR bumps owe and deletes `postPatch`: - **#1153 / #1437, renderer start wait.** Upstream (omacom/owe 642ce71, d876718, 213b842) waits 7 s, then keeps a slow renderer and takes it when its socket appears, up to 30 s (`RENDER_LATE_MS`, "Software GL in a virtual machine needs about 11 seconds"). Our carry raised the 1 s wait to 30 s. The SIGTERM grace it also stretched is now its own `RENDER_STOP_MS`. - **#1359, the handoff park.** omacom/owe#19 (266aa8b, fixes omacom/owe#18) adds our exact line, `app->shell_stop_at_ms = 0;` after `handoff_pending = true;`, and also skips the park while a handoff is pending. Our own guard in `postPatch` would have refused the build next for this reason. `test/meson.build` changed only in the `transition` test's sources, so the `mesonCheckFlags` allowlist stays as it is. ## How it was verified - `nix build .#owe`: builds, the meson suite and the QML plugin's ctest pass, and the install check reports 0.2.13. - Not run locally: `checks.session` (its #1359 block sets a video right after a still) and `checks.coexist` (#1437's slow software-GL start). They are VM checks, so CI answers them. One behaviour change to watch is that upstream's late start no longer blocks owed during the wait, the way our 30 s loop did. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_0117TADC4XC7JSKKXfg2XVvy Co-authored-by: x <x@x> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
A video set within about two seconds of a still was parked along with the renderer. That hold exists so the shell can take the still over. Parking dropped the video load, the ready timeout fired, and the still stayed up.
The park timer is cleared when the handoff starts, and a timer that is already due does not park while the handoff is in progress.
Fixes #18
The lock-policy test covers a due timer on a still (parks) and a video started inside the window (does not). I compiled and ran that test here. The rest of the suite needs Linux.
Made with Cursor