Files
orca/src/preload
NeilandClaude f2731a2cfc feat(wsl): a WSL hosts block learned mid-run stops new work at once (#36776)
* feat(wsl): a WSL hosts block learned mid-run stops new work at once

The live policy fetch caches a newly published block, but the gate is
fixed for the run, so the add-host and move entry points and the
in-context offer stayed until the next launch. A block the fetch learns
now stops new work in-session through one predicate,
wslHostsAcceptNewWork(): adding hosts, starting or previewing moves,
automatic and opened-project moves, and Retry. Main pushes the capability
to the renderer, which hides the offer and entry points. The gate and
what is served are unchanged until the next launch, so saved hosts and
moved projects keep working, and cancel, Restore and Not now stay.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(wsl): a live block also ends Stage 1 opt-in and stops mid-step host adds

Review follow-ups:
- wslHostsOptedIn now also needs wslHostsAcceptNewWork, and the Git router
  re-applies its opt-in when a block lands, so the D1c router and the
  background WSL Git gate uninstall at once, as turning the setting off does.
- D1c conversions (wslDriveProject preview/convert, wslDriveUnc:convert)
  gate on the opt-in; the new-project Git default already did.
- The orchestrator re-checks before adding a host, so a step already past
  its start gate adds nothing after a block.
- The window broadcast and capability push move to
  wsl-host-window-broadcast.ts, keeping wsl-host-handlers.ts under max-lines.

Co-Authored-By: Claude <noreply@anthropic.com>

* test(wsl): keep gate mocks whole, and pin cancel after a live block

The visible-work lifetime suite mocked the gate with one export, so the
handlers' new wslHostsAcceptNewWork and onWslHostsNewWorkChanged calls
failed it; it now spreads the real module and overrides only what it
needs. A new case pins that cancelling a running move still works after
a live block while a new move is refused.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-31 15:45:48 -07:00
..