Repository navigation
Optimize cmux-tui startup configuration - #9933
lawrencecchen wants to merge 7 commits into
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughStartup now loads configuration through ChangesStartup configuration reuse
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to The change centralizes startup configuration handling without any supplied indication of a user-visible correctness, security, availability, or deployment regression. No actionable merge-blocking risk remains beyond normal checks. Sequence Diagram(s)sequenceDiagram
participant Startup as Startup entry point
participant Snapshot as StartupConfigSnapshot
participant Server as run_server
participant TUI as run_tui_once
participant App as app::run_with_machine_updates
Startup->>Snapshot: load configuration once
Snapshot->>Server: pass startup snapshot
Snapshot->>TUI: pass startup snapshot
TUI->>App: pass startup snapshot
App->>Snapshot: convert into Config
Possibly related PRs
🚥 Pre-merge checks | ✅ 24 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (24 passed)
✨ 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 |
55bfcd4 to
06c31b8
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
|
Note GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer. |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
|
Superseded by merged PR #10986. The merged current-main implementation preserves the one-snapshot startup contract, keeps help and parse-error paths lazy, and carries the same four-file scope. This historical branch is conflicting and no longer needs separate review. |
Summary
Recut
Current main is exact
04ff18eea6ceb793252583e5c8f9df74b130a5e9. It was merged normally, without a rebase or force push. The exact PR head iscec2eb4ef4873ca0629ebd43ee360eb69d63bd13. It is zero commits behind current main. The product diff remains limited toapp.rs,config.rs,main.rs, andremote_cli.rs.The recut keeps the existing commit history. The startup regression test and implementation were already in the same original commit, so no history rewrite was used to manufacture a red-first commit.
Red evidence and fix
Full hosted run https://github.com/manaflow-ai/cmux/actions/runs/31863135689 found that adding the snapshot raised two app entry functions from seven to eight parameters. Clippy failed with
too_many_arguments. Commit9a86592305ba331108d0bb24a8beadd53cf0373egroups the paired machine UI and controller inMachineRunContext. It does not use a lint exception, and it does not change snapshot ownership or runtime reload behavior.Current verification
cec2eb4ef4873ca0629ebd43ee360eb69d63bd13, runningcec2eb4ef4873ca0629ebd43ee360eb69d63bd13, runningThe benchmark contract requires the trusted runner to be the measured baseline and an ancestor of the measured candidate. The runner has not landed on main. Baseline
a4ff04bd6b6a9bdfada84ba9466438a44fa8816eis current main plus only the fixed trusted runner. Candidate39764b92d1f3f47faa1d852cc5df757961f1b830is a normal merge of exact PR head into that baseline. The four changed product files in the benchmark candidate are byte-identical to exact PR head. Their baseline versions are byte-identical to current main. This gives a contract-valid matched product comparison without changing this PR.All runs against old bases or old heads are superseded.