Point the e2e CLI at the server under test, and roots at the dock - #290
Merged
Merged
Conversation
|
The e2e job has been red since roots moved out of the Cmd+K switcher: two specs assert contracts the app no longer has. `panel-subscriptions` reads `blit client list` as its oracle, but `start-servers.sh` puts its server on a private socket and exports it to nothing but the gateway. The specs run in another process tree, so the CLI resolved the *default* socket, started a server of its own there, and reported that empty one's client list — zero subscriptions, forever. It passes locally only because `reuseExistingServer` hands the developer's own gateway back, and that one does front the default server. The script now publishes its socket path in `e2e/.e2e-socket` for as long as its servers live, and the spec passes it to the CLI as BLIT_SOCK; with no file, the CLI's own resolution is still the right answer. `roots-entry` asserted a "Workspace roots" entry in the switcher, which is deliberately gone: the switcher carries only what the chrome cannot reach, and the ⚙ beside the workspace-root selector opens the dialog in one click. The spec now holds the app to that, including the absence of a second global affordance, and the stale comment in createKeyboardShortcuts.ts that still advertised the entry is corrected. `playwright.config.ts` gains the CHROMIUM_BIN escape hatch its dev sibling already had, so this exact suite can be run outside CI on NixOS, where the npm-bundled browser cannot start. Co-Authored-By: Claude <noreply@anthropic.com>
pcarrier
force-pushed
the
claude/fix-e2e-main
branch
from
August 17, 2026 22:49
f462f90 to
f43740f
Compare
|
🔗 Preview: https://blit-ly6lg2p4h-indent.vercel.app |
Coverage
|
|
Found 12 test failures on Blacksmith runners: Failures
...and 2 more test failures. View all on Blacksmith
|
Now that its CLI reaches the server under test, the spec's two `cat` sessions are real, and it left them running. The next spec to type a command into the focused terminal typed it into `cat`, got its own text back, and reported the feature under test as broken — five text-prediction failures whose oracle is a file the shell never wrote. Co-Authored-By: Claude <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.
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light.png)
Why
CI's
e2ejob has been red onmainsince e149dfc (2026-08-16). Two specs fail deterministically, on every PR, so nothing can go green — including #289, whose only failing check is this one.Both failures are stale tests, not product regressions.
panel-subscriptions— the oracle was a different serverThe spec shells out to
blit client list.start-servers.shputs its server on amktemp -dsocket and exportsBLIT_SOCKto its own process tree only, so the CLI resolved the default socket instead, started a server of its own there, and read that empty one's client list. HenceExpected length: 2 / Received: []— the browser's subscriptions were on the other server all along.It passes locally because
reuseExistingServerhands back the developer's already-running gateway, and that one does front the default server.The script now publishes its socket path in
e2e/.e2e-socketfor as long as its servers live; the spec reads it and passesBLIT_SOCKto the CLI. With no file (someone else's gateway) the CLI's own resolution is still correct, and a stale file whose socket is gone is ignored rather than used to start a third server.roots-entry— asserted an entry that was deliberately removedSwitcherOverlay.tsxsays it outright: palette, font, workspace roots and remotes are not switcher entries, because the status bar and left dock already reach them in one click. The spec still asserted aWorkspace rootsrow in Cmd+K. It now holds the app to the contract it actually has — the ⚙ beside the workspace-root selector opens the dialog, and nothing else does — and the comment increateKeyboardShortcuts.tsthat still advertised the switcher entry is corrected.Also
playwright.config.tsgains theCHROMIUM_BINescape hatchplaywright.dev.config.tsalready had, so this exact suite can be reproduced outside CI on NixOS (the npm-bundled browser cannot find libglib there). Inert in CI.Verification
Full suite, locally,
CI=1with an isolatedXDG_CONFIG_HOME(so the run sees one remote, as CI does):The other local failures (composition-chip, font-size-sync, text-prediction) fail identically with and without this change and do not reproduce in CI — they are this machine, not the branch.