Skip to content

test(e2e): update two WSL specs to the stopped-distro copy and serve-only Settings - #37394

Merged
nwparker merged 1 commit into
mainfrom
test/wsl-e2e-stale-specs
Nov 2, 2026
Merged

nwparker merged 1 commit into
mainfrom
test/wsl-e2e-stale-specs

Conversation

@nwparker

@nwparker nwparker commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 3 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​21 $\color{#cf222e}{\Huge{\mathbf{−}}}$​13 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​8
Prod 0 0 0 0

ELI5

Two end-to-end tests for WSL hosts started failing on main. The app is working as intended. The tests were checking for behavior that later, deliberate changes replaced, so this PR updates them to match. No product code changes.

What Changed

  • tests/e2e/wsl-host-paired-phone.spec.ts: when a phone asks a stopped WSL host for something, the test expected the old wording "isn't running". fix(wsl): a stopped distro's messages say Start or a new terminal starts it, not switching projects #36771 changed the wording to "The WSL host Ubuntu is stopped. To start it, click Start or open a new terminal…". The test now checks the stable error code remote_runtime_unavailable plus "Ubuntu is stopped" (the same fragment the other WSL specs check), not the full sentence.
  • tests/e2e/wsl-move-dialog.spec.ts, case "with the internal gate closed…": this test always starts with a saved WSL host. The test landed in Land the WSL project mover dark (merges only after verify-15b, the flag-off audit and green CI) #34059. Eighteen minutes later, feat(wsl): serve saved WSL work behind a closed hosts gate (gate states, kill switch 1/2) #34683 added "serve-only" mode: with the gate closed, a saved host stays listed and usable, but you can't add hosts or move projects. Settings → Servers therefore still shows the WSL hosts section, and the test's "section is absent" check fails. The test now checks what serve-only promises: the host is listed, there's no "Add WSL distro" button, and the host row's menu shows "Remove…" but not "Move projects from this distro…". It still checks that main refuses a move preview and lists no unfinished moves.
  • tests/e2e/helpers/paired-mobile-client.ts: adds an optional message field to the phone frame's error type so the spec can read the message.

Why

Neither failure is a product regression. The new copy is the intended text (#36771), and showing a saved host's row while the gate is closed is the intended serve-only behavior (#34683, #34694). The old move-entry check looked for text that only appears in a closed dropdown menu, so it would have passed even if the entry existed. The new check opens the menu first, so the "no move entry" assertion now actually tests something. Checking the error code plus the distro fragment means future copy edits won't break the test again.

Linked Issue

N/A (maintainer; follow-up to failing CI run https://github.com/stablyai/orca/actions/runs/41405938364)

Visual Proof

N/A: test-only change, no UI or behavior change.

Testing

  • I manually tested these changes locally
  • Automated tests added/updated, or explained why not below

Both specs pass locally on macOS (headless, ORCA_BACKGROUND_LAUNCH=1, 3/3). A targeted CI e2e dispatch was also run. Ran pnpm typecheck:e2e (no errors in tests/; the e2e typecheck ratchet passes), oxlint, check:code-quality:changed and lint:ast-grep-gates.

Risk

Low. Only tests change. Revert is a plain revert.

Level: Low

AI Disclosure

Review

Agent skill upstream boundary

  • Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Notes

Ensure no issues in: Security, Cross-platform support (Linux, Windows, Mac), Remote SSH, Mobile, general backwards compatibility, performance

Checklist

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • I stated the risk: what could break, for whom, and how to back it out
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
  • pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)

🤖 Generated with Claude Code

…only Settings

wsl-host-paired-phone asserted the pre-#36771 'isn't running' copy; it now
asserts the stable remote_runtime_unavailable code and '<distro> is stopped'.

wsl-move-dialog's gate-closed case seeds a saved host, which since #34683 puts
the app in serve-only: the WSL hosts section still lists the host. Assert
instead that Add is hidden and the host row's menu has no move entry.

Co-Authored-By: Claude <noreply@anthropic.com>
@nwparker
nwparker marked this pull request as ready for review November 2, 2026 07:38
@coderabbitai

coderabbitai Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 13 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 10 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 92ee578c-62a0-4039-b448-9ee224e6a3b7
Commits

Reviewing files that changed from the base of the PR and between 1a816fa and af06993.

Files selected for processing: 3
  • tests/e2e/helpers/paired-mobile-client.ts
  • tests/e2e/wsl-host-paired-phone.spec.ts
  • tests/e2e/wsl-move-dialog.spec.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@nwparker
nwparker merged commit ac4a21f into main Nov 2, 2026
81 checks passed
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