File tools start a native helper process per call and send file bytes as Base64 JSON
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- desktop
Research direction
Start in src/main/tools/file_operations.ts, where readProjectFile and changeProjectFiles spawn the file-helper process, and compare with how sandbox-helper keeps a long-lived process and exchanges line-delimited requests. Time one edit before changing anything, since the issue asks for measurement first. Done means either a measured case for the change with a chosen approach (persistent helper or binary framing), or a note that the cost is too small to justify it.
Written by the indexing model from the issue text.
Description
Problem
Left over from #297 (its third point; the size caps are fixed in 7383b07).
Every readProjectFile and changeProjectFiles call in src/main/tools/file_operations.ts spawns a new file-helper process and sends the before and after bytes as Base64 inside one JSON string, built and parsed on the main thread. With files now capped at 16 MB this cannot exhaust memory, but a large edit still costs a process start plus about 4/3 of the file size in Base64 on each side, and edit_file reads the file and then changes it, so two processes per edit.
Possible fix
- Keep one
file-helperprocess per project for the session and send it line-delimited requests, likesandbox-helper, restarting it if it exits. - Or send file bytes in a length-prefixed binary frame instead of Base64 JSON.
Measure first: if a typical edit spends little time here, this is not worth the extra state.
- Dominant language
- TypeScript
- Stars
- 2
- Forks
- 2
- Avg merge
- 8h 28m
- Merged PRs (30d)
- 26
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 severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PierrunoYT/patch#305 ·
Maintainers usually reply within 1 day
-
security: isAppPageUrl checks devRendererUrl with startsWith instead of comparing parsed URL originsOpenpriority: low security severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PierrunoYT/patch#300 ·
Maintainers usually reply within 1 day
-
Claude Code chats: tool calls made inside Claude Code subagents leave cards that end as "(stopped)"Openbug priority: low severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
PierrunoYT/patch#289 ·
Maintainers usually reply within 1 day
-
bug priority: medium severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
PierrunoYT/patch#285 ·
Maintainers usually reply within 1 day
-
priority: medium security severity: low
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
PierrunoYT/patch#283 ·
Maintainers usually reply within 1 day
All issues in PierrunoYT/patch
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
QuantumNous/new-api#7839 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
bug p2 triaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getpaseo/paseo#7071 · 1 comment ·
Maintainers usually reply within 1 day
-
test: make the #3408 Claude OAuth token fixture obviously fake so secret scanners stop flagging itOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
code-yeongyu/senpi#3436 ·
Maintainers usually reply within 1 day
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 78/100
lingdojo/kana-dojo#32505 · 1 comment · 5 reactions ·
Maintainers usually reply within 1 day