Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
W — Windows support (stretch): port surface and prerequisites #56
Copy link
Copy link
Open
1 / 11 of 1 issue completedOpen
1 / 11 of 1 issue completed
Copy link
Labels
area:core-protocolHeadlessProtocol: wire protocol, validation, transportHeadlessProtocol: wire protocol, validation, transportbacklogTracked in docs/roadmap/improvements-backlog.mdTracked in docs/roadmap/improvements-backlog.mdpriority:lowNice to haveNice to havestatus:blockedWaiting on another item or an owner decisionWaiting on another item or an owner decisiontype:featureNew capability or commandNew capability or command
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
area:core-protocolHeadlessProtocol: wire protocol, validation, transportHeadlessProtocol: wire protocol, validation, transportbacklogTracked in docs/roadmap/improvements-backlog.mdTracked in docs/roadmap/improvements-backlog.mdpriority:lowNice to haveNice to havestatus:blockedWaiting on another item or an owner decisionWaiting on another item or an owner decisiontype:featureNew capability or commandNew capability or command
Type
Projects
- StatusShow more project fieldsTodo
Blocked on
Phase 2 — the HostCore + BrowserEngine extraction (#21) and typed errors (#22). Without that seam, Windows means a third hand-written copy of every command. Do not start before it lands.
Shape of the work
The WKWebView host is never ported. Windows runs the Chromium engine only.
AF_UNIX+getpeereid/SO_PEERCRED. Windows hasAF_UNIX, but no filesystem mode bits and noSO_PEERCRED, and the stale-socket probe does not map.%LOCALAPPDATA%with ACLs instead of/tmp/headless-<uid>at0700.CreateProcess+CreatePipe+SetHandleInformation. Chromium on Windows takes--remote-debugging-pipehandles viaSTARTUPINFO, not fds 3/4, sospawnChromiumneeds a Win32 rewrite.WaitForMultipleObjectsinstead ofpoll().CREATE_NEWfor theO_EXCLguarantee. Every "0600 in a 0700 dir" claim is POSIX-only today.SIGTERM/SIGINTdispatch sources.;PATH splitting..exeresolution under the same allow-list-not-PATH rule.getuid() != 0root refusal with an elevated-token check.Already portable
Protocol.swift,CLI.swift,AgentRuntime.swift(the injected JS is engine-agnostic),Diagnostics.swift,Flows.swift,CaptureFormats.swift,ScreenshotSeries.swift,MCP/main.swift, andRecording.swiftmodulo executable discovery.Interim answer
Docker Desktop / WSL2 with the published image (#41). That is the documented Windows path until this ships.
Exit test
The Linux E2E scenario passes on a Windows runner against the Chromium engine, and
winget install headlessworks.