Fix Tray UI test window hiding for release - #897
Conversation
Move the WinUI UI-test fixture window off-screen instead of hiding it with SW_HIDE so XamlRoot remains attached for layout smoke tests in CI. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs maintainer review before merge. Reviewed June 30, 2026, 2:52 PM ET / 18:52 UTC. Summary Reproducibility: yes. at source level, but not independently executed here: current main hides the activated WinUI test window with Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the narrow fixture fix after required checks complete, then rerun or recreate the Do we have a high-confidence way to reproduce the issue? Yes at source level, but not independently executed here: current main hides the activated WinUI test window with Is this the best way to solve the issue? Yes: moving the already-activated test window off-screen preserves a live WinUI compositor path without adding dependencies or changing product code. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 1823f195c8fb. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
Summary
The v0.6.12 tag release failed in the
testjob becauseOpenClaw.Tray.UITests.SmokeTests.Container_AcceptsTextBlockAndLaysOutsaw a nullXamlRootafter the UI fixture hid its test window withSW_HIDE.This changes the UI test fixture to keep the WinUI window live in the compositor and move it off-screen instead of hiding it. That matches the existing comment's intent and keeps
XamlRootattached while CI remains visually quiet.Validation
./build.ps1- passeddotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --no-restore- passed: 2686 passed, 31 skippeddotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --no-restore- passed: 1449 passeddotnet test ./tests/OpenClaw.Tray.UITests/OpenClaw.Tray.UITests.csproj -c Debug -r win-x64 --no-restore- passed: 76 passeddotnet test ./tests/OpenClaw.Tray.UITests/OpenClaw.Tray.UITests.csproj -c Debug -r win-x64 --no-restore --filter FullyQualifiedName~Container_AcceptsTextBlockAndLaysOut- passed: 1 passedReal behavior proof
The previously failing release smoke test now passes locally on the same
win-x64UI test path used by CI. The fixture no longer callsShowWindow(..., SW_HIDE); it usesAppWindow.MoveAndResizeafter activation, preserving the WinUI visual tree bridge while moving the window off-screen.Rubber-duck review: no blocking issues.
Release follow-up
After this lands, move/recreate tag
v0.6.12on the newmaintip to rerun the release workflow.