Skip to content

Fix Windows IPC and profiling build - #316

Merged
pcarrier merged 1 commit into
mainfrom
win
Aug 21, 2026
Merged

Fix Windows IPC and profiling build#316
pcarrier merged 1 commit into
mainfrom
win

Conversation

@pcarrier

Copy link
Copy Markdown
Contributor

No description provided.

@indent

indent Bot commented Aug 21, 2026

Copy link
Copy Markdown
PR Summary

Fixes the Windows build of blit (including the profiling cargo profile) and two Windows runtime bugs, with no changes to protocol, APIs, or unix/linux behavior.

  • Windows IPC connect race: connect_ipc now retries ERROR_PIPE_BUSY (up to ~1s) so a client that probes right after a server accepts another client no longer fails while the server is creating its next pipe instance.
  • Windows PTY working directory: respawn_child now passes the requested directory as lpCurrentDirectory to CreateProcessW instead of null, so restarted Windows PTYs start in the right directory (matching spawn_pty and unix).
  • Build hygiene (cfg gating): platform-only symbols are correctly gated — kicked_reason to #[cfg(unix)], OpenProcess/WaitForSingleObject/WAIT_OBJECT_0 to #[cfg(all(windows, test))], FEATURE_CREATE_EXEC to unix, plus let _ = binds for mode (fssync) and app_id/instance_id (non-Linux) — all matching actual usage.
  • build.ps1: new local PowerShell script that reproduces the Windows build (browser wasm → js packages → cargo build -p blit-cli --profile profiling). Dev tooling only; CI is unchanged.

Issues

Review closed.

View session

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 75.7% (934/1234) 78.7% (74/94) 79.0% (1521/1926)
browser 0.0% (0/825) 0.0% (0/69) 0.0% (0/1404)
cli 40.0% (6227/15563) 46.0% (619/1346) 40.9% (9702/23715)
compositor 35.1% (6045/17209) 49.8% (502/1009) 34.9% (8309/23786)
desktop 78.7% (4409/5605) 71.9% (388/540) 75.4% (6119/8120)
fonts 85.3% (756/886) 89.9% (71/79) 86.4% (1485/1719)
fssync 92.6% (5520/5962) 94.4% (501/531) 92.8% (10189/10983)
gateway 35.1% (698/1990) 40.6% (69/170) 32.1% (1059/3303)
git 87.7% (4642/5295) 90.2% (378/419) 87.5% (7408/8463)
guest 82.8% (2347/2836) 80.5% (265/329) 81.4% (3911/4805)
lsp 77.2% (2688/3483) 79.4% (262/330) 74.9% (4210/5619)
proxy 19.2% (172/898) 20.5% (26/127) 21.0% (293/1392)
remote 91.7% (18064/19694) 94.7% (1270/1341) 89.4% (29291/32748)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 58.7% (35532/60536) 65.7% (3053/4647) 60.2% (54280/90237)
ssh 32.2% (165/512) 48.2% (27/56) 31.4% (261/830)
upsidedown 31.4% (391/1247) 27.8% (55/198) 34.8% (797/2287)
webrtc-forwarder 8.5% (238/2805) 10.7% (22/205) 6.3% (289/4595)
webserver 65.1% (1288/1978) 67.6% (177/262) 67.2% (2159/3214)
Total 60.7% (90184/148650) 66.0% (7765/11758) 61.7% (141392/229277)

@blacksmith-sh

blacksmith-sh Bot commented Aug 21, 2026

Copy link
Copy Markdown

Found 16 test failures on Blacksmith runners:

Failures

Test View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:200:5 › a tap while the keyboard failed to rise retries instead
of hiding
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:256:5 › the switcher stays in view when the keyboard pans the v
isual viewport
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:293:5 › key-line taps cancel the touch so the keyboard stays up
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:362:5 › the icon's keyboard survives focus landing on a surface
canvas
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:455:5 › iOS hops focus through a host when the target already h
olds it
View Logs
[chromium] › tests/
mobile-keyboard.spec.ts:61:5 › keyboard rises only from the toggle and the key line tra
cks it
View Logs
[chromium] › tests/
parked-drag.spec.ts:50:7 › Parked pane drag › a parked terminal is inert and drags into
the main view
View Logs
[chromium] › tests/
parked-drag.spec.ts:94:7 › Parked pane drag › a parked card drags into a specific BSP p
ane
View Logs
[chromium] › tests/
text-prediction.spec.ts:136:7 › host text prediction › a proposal shows in a chip on th
e cursor's line and is not forwarded
View Logs
[chromium] › tests/
text-prediction.spec.ts:184:7 › host text prediction › with prediction off the field st
ays empty, as it always was
View Logs

...and 6 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@pcarrier
pcarrier force-pushed the win branch 2 times, most recently from 3a4d2f3 to 0f58002 Compare August 21, 2026 23:17
@pcarrier
pcarrier merged commit 5b06f43 into main Aug 21, 2026
9 checks passed
@pcarrier
pcarrier deleted the win branch August 21, 2026 23:55
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