Repository navigation
base red: acpmux registers the Cloud turn methods and installs the TLS provider (#30337's own reds) - #30811
base red: acpmux registers the Cloud turn methods and installs the TLS provider (#30337's own reds)#30811lawrencecchen wants to merge 2 commits into
Conversation
…egistry; the Cloud turn client installs the ring rustls provider before it builds its reqwest client (as mesh_http.rs does) (cherry picked from commit f1937ff5b646073ac3bac448956ba447e3dc3e29)
spec/acpmux-protocol.json is the generator's own output: protocol_ir_is_current printed the fresh IR (BEGIN/END block) in fleet run 2a48cc82b675aa6805013d10 at 5b1c039, because the ci-step allowlist refuses ACPMUX_PROTOCOL_BLESS. The web types come from `bun run acpmux-protocol:codegen` in webviews.
|
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)
Gallery before/after for
States
Pick other states with a |
|
Review (claude-review-subagent-cw3): SHIP at 977eaa9 Correctness (read at the exact head; no Rust built or run on this machine):
Non-green checks on this head:
Nit (does not block): the new comment at |
|
Fleet results at head 977eaa9:
|
|
Conflict wave: feat-cmux-next already has this fix. 6c53035 (#30775, "fix(acpmux): register Cloud turn methods and TLS provider") landed the same two changes: both methods are in |
|
Found 6 test failures on Blacksmith runners: Failures
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes the base red that #30337 left on feat-cmux-next: 5 of its own acpmux tests fail at the feat tip.
Summary
#30337 (cloud turn rewind client) merged at 10:32Z before its exact-head acpmux test run ended. Two causes, 5 reds:
agent-session-turn-prepareandagent-session-turn-abandonare served (server/requests.rs) and covered by theagent-session-turn-rewind-v1capability, but not declared inprotocol::registry(). Red:protocol::tests::protocol_registry_names_every_served_method,capabilities::tests::every_covered_name_is_in_the_protocol_registry.CloudTurnClient::newbuilds a reqwest client with no rustls crypto provider installed ("No rustls crypto provider is configured"). Red: the 3cloud_rewind::tests::preparation_*.Changes:
protocol/mod.rs: declare both methods (untyped requests, like_acpmux/set_turn_cap).cloud_rewind.rs: install the ring provider before the client is built, asmesh_http.rs,route_probe.rsandcatalog/fetch.rsdo.spec/acpmux-protocol.jsonandwebviews/.../protocol/generated/methods.ts(2 entries each).How the generated files were made (repo generators, not hand edits):
protocol_ir_is_current(protocol/tests.rs) prints the fresh IR between BEGIN/END markers when it runs without write access. The fleet ci-step allowlist refusesACPMUX_PROTOCOL_BLESS, so the file is that block, byte-for-byte (the log's 4-space capture indent removed), from fleet run2a48cc82b675aa6805013d10at 5b1c039. Proof that it equalsir_text():protocol_ir_is_currentpasses at this head (run below). The equivalent local command isACPMUX_PROTOCOL_BLESS=1 cargo test -p acpmux --lib protocol_ir_is_current.bun run acpmux-protocol:codegeninwebviews/;bun run acpmux-protocol:checkpasses.Testing
Focused command:
scripts/ci/cmux-tui-rust-check.sh test <filter>on the fleet (macOS, isolated), filtersprotocol::,capabilities::,cloud_rewind::.8c5bf667f544ea404b8e418a(protocol_registry_names_every_served_method FAIL),5cdda2e2785da5d36c8ccee4(every_covered_name_is_in_the_protocol_registry FAIL),db3c63775b9e241201b0176b(3 preparation_* FAIL).28c24e4089d29baf6dd4353ccapabilities 5/5,1900477d153c7a03ec6a00f6cloud_rewind 7/7;2a48cc82b675aa6805013d10protocol: onlyprotocol_ir_is_currentfailed (stale IR, expected before step 1).890b171cb59bfca95fe81f51, clippy3d88138e5fba177e04405af2(results in a comment below).Observed / Not run
bun run acpmux-protocol:checkpasses locally; the webviewsbun run checkreds (browser-lanes, design-tokens, type-scale, fmt, lint, vp check) are identical at base 265c68a and at this head, so they are base findings.Changelog
none
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes the base red that #30337 left on
feat-cmux-next: 5 of its own acpmux tests fail because the Cloud turn methods were never registered in the protocol registry and the Cloud turn client builds its reqwest client without a rustls crypto provider.agent-session-turn-prepareandagent-session-turn-abandoninprotocol::registry()alongside the other untyped requests.CloudTurnClient::newbefore building the reqwest client, matching whatmesh_http.rs,route_probe.rs, andcatalog/fetch.rsdo.spec/acpmux-protocol.jsonand the webview method types from the repo generators rather than by hand.Migration
spec/acpmux-protocol.jsonandwebviews/src/agent-session/acpmux/protocol/generated/methods.tswere produced with the repository's own generators (ACPMUX_PROTOCOL_BLESSandbun run acpmux-protocol:codegen); no manual edits.Written for commit 977eaa9. Summary will update on new commits.