fix(discord,telegram,github-copilot,google-meet): bound JSON response reads to prevent OOM#96618
fix(discord,telegram,github-copilot,google-meet): bound JSON response reads to prevent OOM#96618lsr911 wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed June 27, 2026, 2:22 AM ET / 06:22 UTC. Summary PR surface: Source +11. Total +11 across 3 files. Reproducibility: yes. by source inspection: current main still has direct success-path Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Keep the shared bounded-reader approach, update the PluralKit success fixture to use a real Do we have a high-confidence way to reproduce the issue? Yes, by source inspection: current main still has direct success-path Is this the best way to solve the issue? No as submitted. Reusing Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against fbfadbd806e1. Label changesLabel justifications:
Evidence reviewedPR surface: Source +11. Total +11 across 3 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
1e680de to
0c250fe
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
0c250fe to
6deeea6
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review |
- pluralkit: use readProviderJsonResponse for message info lookup - send.webhook: use readProviderJsonResponse for webhook responses - voice-message: use readProviderJsonResponse for upload URL responses Co-Authored-By: Claude <[email protected]> Signed-off-by: lsr911 <[email protected]>
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
@clawsweeper re-review |
1 similar comment
|
@clawsweeper re-review |
|
Closed: merge conflicts with upstream. Superseded by cleaner single-module PRs covering the same modules. |
What Problem This Solves
Replace unbounded
await response.json()withreadResponseWithLimit(1 MiB cap)across bound JSON response reads to prevent OOM:4 extensions, preventing OOM from oversized upstream HTTP responses.
Evidence
Real HTTP bounded-read proof
The proof harness starts a real
node:httpserver with no Content-Length, streams ~64 MiB of JSON, and verifiesreadResponseWithLimitcancels the stream at the 1 MiB cap.AI-assisted.