Repository navigation
cmux-tui tests: share chat's one action.run is checked on the path the CLI takes (base red from #30550) - #32065
Merged
Merged
Conversation
…e CLI takes (base red from #30550) share_chat_waits_for_the_owners_answer (ff01dcc, #30550) asked app::parse for `share chat --surface 1`, but `share` was never an app scope (APP_SCOPES), so parse answers None and the test failed "expected one action.run call" from the commit that added it; no later commit changed cli.rs, cli/app.rs, cli/app/ or cli/share_cli.rs. The product is right: `cmux share chat` is not a mux command, so cli.rs's run_app_action_fallback runs it; share_cli::action leaves it as typed (it rewrites only share revoke|kick), and run_cli_action sends one action.run "share chat" with PERSON_RUN_TIMEOUT. The test now takes that path: parse answers None, share_cli::action answers None, and run_action("share chat", ["--surface", "1"], Cli) is one action.run with the surface argument and the person deadline.
Contributor
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
Contributor
Author
|
Review (subagent, correctness first): SHIP at a6dbfc4 Read-only review. Nothing compiled or run on this machine. What I checked:
Non-blocking gaps:
|
lawrencecchen
temporarily deployed
to
sentry-dsyms
November 2, 2026 09:35 — with
GitHub Actions
Inactive
lawrencecchen
temporarily deployed
to
artifacts
November 2, 2026 09:35 — with
GitHub Actions
Inactive
lawrencecchen
temporarily deployed
to
artifacts
November 2, 2026 09:38 — with
GitHub Actions
Inactive
Contributor
Author
|
Non-green checks at a6dbfc4, classified:
|
lawrencecchen
added a commit
that referenced
this pull request
Nov 2, 2026
…est drops a path qualification (clippy base reds) Two cmux-tui clippy errors on feat-cmux-next (seen on #31921, hq run 41428596319): - clippy::too_many_arguments (8/7) on link::serve, from #28950, which added the native broker as an eighth argument. The broker and the credential relay socket are the two ways a serve resolves cloud hosts, and run_serve already refuses both at once, so they become one CloudAccess enum (Broker(Bound) | Relay(Option<PathBuf>)). The branches are the same as before: a broker with an identity is native and gives the config, key and route; otherwise the relay socket (or none: unavailable) serves cloud hosts. - unused_qualifications at cli/app/tests.rs:352, from #32065: Path is in scope through super::*.
Contributor
Author
|
This PR left a cmux-tui clippy red on feat-cmux-next: |
cmux-bot Bot
pushed a commit
that referenced
this pull request
Nov 2, 2026
…hecked slices, JsonSet, one CloudAccess) (#32128) * fix(cmux-tui): link broker ID checks use strip_prefix and a slice pattern, not index or string slices (panic ratchet) Base red at 8ea6e45 from #28950: the Rust panic ratchet found cmux-tui clippy::indexing_slicing 835 > baseline 831 (+4) and clippy::string_slice 84 > baseline 82 (+2). The hits are in #28950's production code: - cloud_broker.rs mint_token: services[0] == services[1] (2 indexing); - native_broker.rs read_identity: bootstrap.team[5..] (1 indexing, 1 string slice); - native_broker.rs native_id: value[prefix.len()..] (1 indexing, 1 string slice). Each check keeps its result: matches!(services, [first, second] if first == second) is true for the same inputs as len() == 2 && [0] == [1]; strip_prefix plus a length check on the rest accepts the same strings as starts_with, the total length and the slice after the prefix. Invalid input still fails closed (Forbidden, refused()). * fix(cmux-tui): link-ready line sets its native fields with JsonSet, not Value index writes (panic ratchet) The panic step at f8a56d7 still found cmux-tui clippy::indexing_slicing 833 > 831: the other 2 hits from #28950 are the serde_json IndexMut writes ready_line["native"] and ready_line["wg_public_key"] in link/mod.rs. cmux_json::JsonSet::set does the same insert on the object without a panicking index (the repo's form for string-key JSON writes). * fix(cmux-tui): link serve takes one CloudAccess, and the share-chat test drops a path qualification (clippy base reds) Two cmux-tui clippy errors on feat-cmux-next (seen on #31921, hq run 41428596319): - clippy::too_many_arguments (8/7) on link::serve, from #28950, which added the native broker as an eighth argument. The broker and the credential relay socket are the two ways a serve resolves cloud hosts, and run_serve already refuses both at once, so they become one CloudAccess enum (Broker(Bound) | Relay(Option<PathBuf>)). The branches are the same as before: a broker with an identity is native and gives the config, key and route; otherwise the relay socket (or none: unavailable) serves cloud hosts. - unused_qualifications at cli/app/tests.rs:352, from #32065: Path is in scope through super::*. * fix(cmux-tui): CloudAccess boxes its broker variant (clippy large_enum_variant) The Bound carries the native identity (296 bytes) and the relay variant 24 bytes; boxing the broker keeps the enum small. One allocation per serve.
This was referenced Nov 2, 2026
This branch was previously deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Base red (priority zero). On
feat-cmux-next, cmux-tuicli::app::tests::share_chat_waits_for_the_owners_answer(src/cli/app/tests.rs:359) fails with "expected one action.run call". Base jobb973957eb8a382f63c3d57c0.Culprit: ff01dcc (#30550), the commit that added the test. No later commit changed the share chat path:
git log ff01dcc58da..origin/feat-cmux-nextshows no commit tocli.rs,cli/app.rs,cli/app/orcli/share_cli.rs. The test askedapp::parseforshare chat --surface 1, butshareis not and never was inAPP_SCOPES, soparseanswersOk(None). The test was red from the commit that added it (fleet run at ff01dcc below).The product is right, so this fixes the test, not the product.
cmux share chatis not a mux command, socli.rsrun_app_action_fallbackruns it.share_cli::actionleaves it as typed (it rewrites onlyshare revoke|kick), andapp::run_cli_actionsends oneaction.runforshare chat. That run waitsPERSON_RUN_TIMEOUT, becauserun_actiontakeswaiting_run_timeout("share chat"). The test now takes that same path. It checks thatparseanswers None, thatshare_cli::actionanswers None, and thatrun_action("share chat", ["--surface", "1"], Cli)is oneaction.runwithargs.surface = "1"and the person deadline. Thewaiting_run_timeoutassertions stay as they were.FYI @teamleaderleo: this is your #30550 test.
Testing
cmux-ci run --class isolated --os linux --script scripts/ci/cmux-tui-rust-check.sh --ref SHA --arg test --arg share_chat_waits_for_the_owners_answer:13fd3f48bcb0: FAILshare_chat_waits_for_the_owners_answer, "expected one action.run call". Step66f5715c3c0e7dd8111fc935.ff01dcc58da(the commit that added the test): the same FAIL and the same message. Step010e0c9a4036dd5e5fe2845b(Blacksmith run manaflow-ai/cmuxterm-hq 41421315070). So no later commit broke it.a6dbfc45352, 5 of 5: steps4f5a3a7d9b98c40cd2ff24be,5ee2d80352be204faf7a7a35,a871d0e5b3593cf69b304a5d,71275c72030cee25ef3ec2e9,c62b5b8c0a7e879719525869(each 1 passed).--arg panic) at the head: pass, step7fd6769aa0f14554aeed7d25.Non-green checks at the head are base findings, not caused by this PR.
clippy (changed cmux-tui packages):too_many_argumentsoncmux-tui-coresnapshot_written, from #31931; fixed by #32092 (merged).defaults-snapshot(cmux-next guards) is a base finding. Its failing step is "Menu rows run registered actions" onAgentPaneSessionInfoContent.swift, from #31930. The same check is red on unrelated open PRs, and #32072 and #32073 fix it.Observed / Not run
python3 scripts/cmux-next/prepush-gate.pypasses at the head.cmux share chatwith an app socket); the claim that the product sends oneaction.runcomes from readingcli.rsandcli/app.rs, not from a live run.Changelog
none