Keep the center hover reveal honest when panels hand off

Claiming the shared suppression flag before showing meant the outgoing
panel's close cleared it again, leaving the incoming panel open with the
indicators still revealed. Guarding the clear instead only moved the
problem: handing off to a panel that does not manage the flag left it
stuck on, and the center indicators stopped revealing on hover for good.

Claim it after the handoff instead. The panel taking over always wins,
and a handoff to a panel that knows nothing about the flag still leaves
it cleared.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
David Heinemeier Hansson
2026-07-26 19:16:05 -07:00
co-authored by Claude Opus 5
parent e2d655d265
commit c619865432
4 changed files with 22 additions and 13 deletions
+2 -2
View File
@@ -136,8 +136,8 @@ assert(
'weather widget forwards the popout-switch handshake'
)
assert(
panelSource.includes('if (!root.popoutSwitchClosing) setCenterHoverRevealSuppressed(false)'),
'weather leaves the shared hover-reveal flag alone when another panel takes over'
/Qt\.callLater\(function\(\) \{\s*\n\s*if \(root\.opened\) setCenterHoverRevealSuppressed\(true\)/.test(panelSource),
'weather claims the shared hover-reveal flag after the popout handoff, so the panel taking over wins'
)
assert(