Repository navigation
fix: Windows dev-red from #8541 and #8551 (hint path separator, capture queue flood) - #8559
Conversation
…rvives a full SSH capture queue Fixes the windows 8/11 and 1/11 failures in dev batch 43045070937.
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
✅ Deterministic PR hygiene checks passed. |
|
Caution Review failedThe pull request is closed. Walkthrough
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. |
|
Maintainer judgment (dev-red fix for batch run 43045070937)
|
Summary
Fixes the two new Windows failures in dev batch run 43045070937 (dev
39fd819221). Both are real defects that only the Windows runners exposed.update-windows-installer-witness(from fix(update): name a witnessless update marker and its recovery on refusal #8541):staleUpdateMarkerHint(home, platform)formats recovery guidance for the platform it is given, but built the marker path with the host'spath.join. On a Windows runner the POSIX hint therefore showed\home\o'neil\.... The path is now joined with the target platform's separator (win32.joinfor the Windows hint,posix.joinotherwise). Real users always get their own platform, so their output is unchanged.link-ssh-capture-tunnels(from feat(link): opt-in SSH log capture for Remote Link tunnels #8551): under a flood of DEBUG1 lines the capture writer's queue (512 records) filled before the asynchronous writer ran, and the finalPermission deniedline, the one that explains the failure, was dropped with the rest (queue_overflowdropped 993). The faster macOS/Linux writer hid it. When the queue is full, an error-level line now replaces the oldest queued debug or verbose record (still counted inqueue_overflow), so a flood can never push out the line that explains a failure.The third failure in that run (test 2/5,
claude-cli-client-http.test.ts:444,JSON Parse error: Unexpected EOFwithin 16 ms on self-hostedlidge-ocx-02) is unrelated and not changed here: it passed in the previous dev batch (fb2e3db897, which already contained the claude-cli code), nothing merged since touches claude-cli, and it passes 6/6 locally on39fd819221.Verification
\(ren "C:\Users\a\.opencodex\update-orchestrated.json" ...) and compares each platform's hint against that platform's join; it failed before the fix (the Windows hint carried/);Permission deniedbefore the writer gets a turn; it failed before the fix (noauth.deniedrecord) and passes now.bun test tests/update/update-windows-installer-witness.test.ts tests/update/update-sync-mutex.test.ts tests/update/update-orchestrated-session.test.ts: 82 pass, 0 fail.bun test tests/clients/link-ssh-capture.test.ts tests/clients/link-ssh-capture-tunnels.test.ts tests/clients/link-ssh-capture-redact.test.ts tests/cli/cli-link-capture.test.ts: 43 pass, 0 fail.bun run typecheck,bun run privacy:scan,bun run structure:check, test-layout, Lab boundary and file-size ratchet: pass.tests/helpers/update-import-policy.tsupdated for the newnode:pathimport (that parser-backed lint runs in the Windows lane).NOT RUN: Windows runner (the coordinator reruns the dev batch after merge); the parser-backed update lint (Windows lane only); full
bun run test.Checklist
Summary by CodeRabbit