Summary
The security hardening in v0.28.1–v0.28.2 introduced fixed caps on freeform IPC inputs to prevent unbounded disk writes. These caps are currently hardcoded in electron/main.ts:
| Input |
Current cap |
Location |
Session summary (sessions:rename) |
1,000 characters |
~L663 |
Session notes (sessions:set-notes) |
100,000 characters |
~L759 |
Skill file content (skills:save-file) |
512 KB |
~L1210 |
| HTTP response accumulation |
1 MB (MAX_TRANSFER_SIZE) |
~L913, ~L1090 |
Proposal
Move the user-facing caps (summary, notes, skill content) into the Settings page so users can adjust them to suit their workflow. The HTTP response cap should remain hardcoded as it's a security boundary, not a user preference.
Acceptance criteria
Notes
Summary
The security hardening in v0.28.1–v0.28.2 introduced fixed caps on freeform IPC inputs to prevent unbounded disk writes. These caps are currently hardcoded in
electron/main.ts:sessions:rename)sessions:set-notes)skills:save-file)MAX_TRANSFER_SIZE)Proposal
Move the user-facing caps (summary, notes, skill content) into the Settings page so users can adjust them to suit their workflow. The HTTP response cap should remain hardcoded as it's a security boundary, not a user preference.
Acceptance criteria
localStorage(same as existinggridwatch-settings)Notes
MAX_TRANSFER_SIZE) should remain hardcoded — it's a security boundary