Skip to content

fix(server): tolerate the missing directory fsync on Windows - #9569

Merged
juliusmarminge merged 1 commit into
windows-tests/desktop-pathsfrom
windows-tests/directory-fsync
Sep 4, 2026
Merged

juliusmarminge merged 1 commit into
windows-tests/desktop-pathsfrom
windows-tests/directory-fsync

fix(server): make durable writes survive Windows fsync rules

4c642eb
Select commit
Loading
Failed to load commit list.
MacroscopeApp / Macroscope - Effect Service Conventions succeeded Sep 4, 2026 in 4m 29s

All clear

All clear

Details

Note

Your check run agent prompt is: .macroscope/check-run-agents/effect-service-conventions.md
More information about how Check Run Agents work can be found in our Help Center.


🔍 Agent activity — 2 tool calls

💭 Looking at the diff, bootService.ts uses catchIf with a structural predicate on an error code, which is explicitly acceptable, so no finding there. Now I need to check serviceLauncher.ts to see if it's actually an Effect file or just plain async code with try/catch, so I should view the files to confirm context.

1. browse_code — apps/server/src/cloud/bootService.ts

2. browse_code — apps/server/src/serviceLauncher.ts

💭 Checking against Effect service conventions, bootService.ts's use of catchIf with a structural predicate for the platform error code is explicitly allowed, and serviceLauncher.ts isn't Effect code at all since it's a standalone Node bundle, so no conventions apply there and no new lint-disable directives were introduced. I consider whether the EPERM-swallowing change requires focused tests, but since it's Windows-specific durability behavior that's hard to exercise on CI, I decide not to flag missing test coverage. No other convention issues stand out, so I conclude there are no findings — the response should be exactly "All clear," with title and summary set accordingly and state marked success.


Agent Credits: 18 credits

Token usage: 4 uncached input · 13,624 cache-read input · 19,897 cache-write input · 1,307 output
Agent Credits may also include non-token charges from external tools such as web research.