Repository navigation
fix(relay): offload bounded filesystem actions - #11568
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review limit reachedNext included review available in 4 seconds. View limit detailsLimit details: You’ve used all 10 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughFile actions now run in bounded blocking tasks with shared session capacity. Reads and writes reject special files without blocking. Directory scans stop at a fixed limit and report omitted entries. Tests cover cancellation, FIFO refusal, capacity exhaustion, and listing truncation. ChangesFile-action safety and capacity
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: ⚪ Minimal · up to The change moves bounded filesystem work off the connection task while preserving path, trust, descriptor, and regular-file checks, and the supplied checks pass. No actionable merge-blocking risk remains beyond normal review. Sequence Diagram(s)sequenceDiagram
participant ActionRequest
participant perform_action
participant file_slots
participant spawn_blocking
participant perform_bounded_file_operation
ActionRequest->>perform_action: dispatch read, write, ls, or grep
perform_action->>file_slots: acquire shared capacity
perform_action->>spawn_blocking: run bounded file operation
spawn_blocking->>perform_bounded_file_operation: resolve scoped path and execute
perform_bounded_file_operation-->>spawn_blocking: return file result
spawn_blocking-->>perform_action: return result or operation error
🚥 Pre-merge checks | ✅ 14 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (14 passed)
Full details: Description checkExplanation The description explains what changed and why, and provides detailed verification results. It omits the template headings for Testing, Demo Video, Review Trigger, and Checklist, but the core summary and testing information are complete. Full details: Cmux Swift Actor IsolationExplanation PASS: The pull request changes only Full details: Cmux Swift Blocking RuntimeExplanation PASS: The PR diff changes only Full details: Cmux Browser Automation Off-MainExplanation PASS: The pull request changes only Full details: Cmux Expensive Synchronous LoadExplanation PASS — The pull request changes only Rust files: Full details: Cmux Cache Substitution CorrectnessExplanation PASS: The relay PR diff changes only Full details: Cmux No Hacky SleepsExplanation PASS: The PR's runtime implementation changes are in Rust ( Full details: Cmux Algorithmic ComplexityExplanation PASS: The pull-request change range is limited to Full details: Cmux Swift ConcurrencyExplanation PASS: The PR range from Full details: Cmux Swift `@Concurrent`Explanation PASS: The PR-local range changes only Full details: Cmux Swift Package BoundariesExplanation PASS — the pull-request change set covered by the summary changes only ✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
All contributors have signed the CLA ✍️ ✅ |
c361dad to
153c88d
Compare
4e86502 to
4d453a3
Compare
87ea4dd to
3a82bf5
Compare
c8ec44d Cloud VPC follow-ups: copyable machine IPs, working tree menu, no HTTP modal on private addresses (manaflow-ai#11626) cbda3b0 ci: land base-controlled CLA policy guard (manaflow-ai#11606) 40d1dc6 CLI: return notification ids and support scoped clear (manaflow-ai#10336) d86d5f3 fix(relay): offload bounded filesystem actions (manaflow-ai#11568) 9778ac7 Plus menu: one New Cloud VM item that opens the New Machine sheet (manaflow-ai#11603) 392f83d fix(web): retire provider rows as destroyed in the Blaxel and E2B/Daytona migrations (manaflow-ai#11623) c1ce87c Cloud: create machines in the background; Create returns control immediately (manaflow-ai#11397) (manaflow-ai#11421)
) * fix(relay): own the grep pattern before spawning the runner task The grep arm moved its process run into tokio::spawn in #11568, but the task still captured `pattern`, a &str borrowed from the request frame, so the 'static future held a borrow of `frame` and `empty_args`. chatmux-relay has not compiled on main since that merge (E0597 and E0521 at the spawn). Clone the pattern into an owned String before the spawn and move it into the argv. No behavior change. Claude-Session: https://claude.ai/code/session_01AvkeWizggvvUAngHyB7JUQ * style(relay): wrap the owned grep pattern binding for rustfmt Claude-Session: https://claude.ai/code/session_01AvkeWizggvvUAngHyB7JUQ
Summary
Verification
fc634204dffails because synchronous file open prevents connection cancellation153c88d665passes the same behavior test on an isolated Blacksmith Testboxchatmux-relaytests pass on the Testboxcargo fmt --all --check,git diff --check, and Package.resolved policy pass12f60191894b5f51121a2fe4e257a0008df83432reports no findings and marks the patch correct with 0.82 confidenceSummary by CodeRabbit