Skip to content

fix(ci): count Dock tiles in the macOS end-to-end, not applications - #942

Merged
omartelo merged 2 commits into
mainfrom
fix/mac-e2e-menu-bar-app
Oct 24, 2026
Merged

omartelo merged 2 commits into
mainfrom
fix/mac-e2e-menu-bar-app

Conversation

@omartelo

@omartelo omartelo commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Since #932 the backend is an AppKit application with the accessory activation policy, so its menu-bar item can exist. lsappinfo now lists it in Lich.app as a UIElement beside the window, a Foreground app, and one_app counted both: the v0.79.0 release failed on both Macs with "macOS counts 2 applications in Lich.app". The e2e runs only in release.yml, so #932 never met it.

The contract changed in #932, so the check follows it: what it guards, per its own comment, is a second Dock tile. one_app now counts the Foreground entries in Lich.app (one, the window) and checks the backend is a UIElement, so a backend that takes a Dock tile of its own still fails.

Also fixes the flake that failed this PR's macos check: TestDockFullScreenFillsTheRowInTheFrameAfterTheClick settled while the review panel still showed Loading, and its diff read, from a goroutine, landed between the click's frames. Both dock tests now waitFor the panel's first read. The test asserted a frame the contract never promised.

Test plan

  • one_app run against the lsappinfo output from the failed run: passes; with the backend turned Foreground it fails (2), with the window gone it fails (0).
  • release.yml dispatched on this branch: both mac jobs green (the release job is tag-only).
  • Dock tests with the fake backend's diff reply delayed 0.5-1ms: 9 of 800 runs failed before, 0 of 800 after.

…the dock

The dock tests settled while the review panel still showed Loading: its
diff arrives from a goroutine, and the rig's virtual clock settles in
microseconds. On a slow runner the read landed between the click's frames,
which then differed for a reason the click never caused. The test asserted
a frame the contract never promised; it now waits for the panel's read
first. With the fake backend's diff reply delayed 0.5-1ms the two tests
failed 9 of 800 runs before, 0 of 800 after.
@omartelo
omartelo merged commit 1a67284 into main Oct 24, 2026
7 checks passed
@omartelo
omartelo deleted the fix/mac-e2e-menu-bar-app branch October 24, 2026 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant