Skip to content

router: dedupe DirnameStore interns so FileSystemRouter.reload() does not exhaust the store - #34276

Open
robobun wants to merge 7 commits into
mainfrom
farm/d1b320d7/fsr-reload-intern-dedup
Open

router: dedupe DirnameStore interns so FileSystemRouter.reload() does not exhaust the store#34276
robobun wants to merge 7 commits into
mainfrom
farm/d1b320d7/fsr-reload-intern-dedup

router: dedupe DirnameStore interns in Route::parse so reload() does …

93782c0
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jul 15, 2026 in 17m 9s

Code review found 1 important issue

Found 3 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 1
🟡 Nit 0
🟣 Pre-existing 0
Severity File:Line Issue
🔴 Important test/js/bun/util/filesystem_router.test.ts:413-418 New reload() leak test will fail on macOS and Windows CI due to path construction in tempDir setup

Annotations

Check failure on line 418 in test/js/bun/util/filesystem_router.test.ts

See this annotation in the file changed.

@claude claude / Claude Code Review

New reload() leak test will fail on macOS and Windows CI due to path construction in tempDir setup

The new `reload()` leak test will fail during `tempDir()` setup on both macOS and Windows CI. On macOS the 14×100-char nested segments produce ~1500-byte absolute paths, exceeding `PATH_MAX=1024` (`mkdirSync`/`writeFileSync` throw `ENAMETOOLONG`, and the router's 1024-byte `PathBuffer` would overflow anyway). On Windows the file-map keys are built with `path.join(...)`, which yields backslash-separated names; `makeTreeSyncFromDirectoryTree` (harness.ts:380) only creates parent directories when t