Windows path casing creates duplicate projects, read-tracking misses and re-indexing
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 58/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, typescript
Research direction
The issue names ProjectStore, readFiles, and the code index key derived from sha1(root), but not their file paths. First trace where these stored keys are built and how paths that only partially exist are resolved; then add Windows unit tests using mixed casing. Done means casing variants resolve to the same project and read-tracking and indexing no longer diverge.
Written by the indexing model from the issue text.
Description
Found in the 2026-10-07 code review. Related to #143 (same root cause, different symptoms).
Problem
The JavaScript realpathSync keeps the caller's casing on Windows, so keys built from it depend on how a path was typed:
ProjectStore:D:\github\xandD:\Github\xare two projects, with separate instructions and allow-lists.readFiles:read_file src/A.tsfollowed byedit_file src/a.tsfails with "has not been read".- Code index file name (
sha1(root)): a different casing re-embeds the project.
Fix
Use realpathSync.native (on the deepest part of the path that exists) wherever a path becomes a stored key. Add Windows unit tests with mixed casing.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 2
- Avg merge
- 5h 28m
- Merged PRs (30d)
- 24
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from PierrunoYT/patch
-
enhancement priority: low security severity: low
Difficulty 4/5 3-5 days Newbie friendliness 35/100
PierrunoYT/patch#260 ·
Maintainers usually reply within 1 day
-
bug priority: low severity: low
Difficulty 3/5 1-2 days Newbie friendliness 25/100
PierrunoYT/patch#259 · 1 comment ·
Maintainers usually reply within 1 day
-
platform: macos priority: medium security severity: low tests
Difficulty 4/5 3-5 days Newbie friendliness 15/100
PierrunoYT/patch#257 ·
Maintainers usually reply within 1 day
-
bug platform: windows priority: medium severity: medium
Difficulty 4/5 3-5 days Newbie friendliness 30/100
PierrunoYT/patch#242 · 1 comment ·
Maintainers usually reply within 1 day
-
bug priority: high severity: high
Difficulty 4/5 3-5 days Newbie friendliness 42/100
PierrunoYT/patch#240 ·
Maintainers usually reply within 1 day
All issues in PierrunoYT/patch
Similar issues
-
[Docs] README: FAQ setup command, IDA in the intro, Node badgePossibly taken @akram1089 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
morluto/rea#1353 · 1 comment ·
Maintainers usually reply within 1 day
-
[Feature]: [P3] engine-rs: the package source hash should ignore line endings and untracked filesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
maniator/verticopolis#880 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
siyuan-note/siyuan#20353 ·
Maintainers usually reply within 1 day
-
afk-ok area:data-quality importer size:S
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
enorm-labs/event-junkie#3027 ·
Maintainers usually reply within 1 day