Skip to content

acpmux: _acpmux/sessions takes peer and status filters (paged), for the sidebar's Older row - #25054

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
remote-sidebar-opus/sessions-filter
Oct 25, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
remote-sidebar-opus/sessions-filter

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-10-24, word for word: "the whole ACP MUX thing, like that, it should just be able to show me, say on my sidebar, right? Like we already discussed this, like with the cloud icon, the group where, you know, on a different machine or whatever, there's the other agent sessions, the other workspaces running, but you guys aren't doing that yet."

Follow-up to #24950. The sidebar's machine groups count and list only live chats. The coordinator's note: "closed and archived ones go behind an 'Older' row, capped and paged". The peers hold about 1,175 closed sessions, and the only way to read them was the whole _acpmux/sessions list (about 9 MB here).

Summary

  • _acpmux/sessions (and the page of _acpmux/watch, which shares session_list_reply) takes two optional filters: peer (only that acpmux peer's sessions) and status (only that status, e.g. closed).
  • The filters apply before keyset paging, so limit/cursor page through one machine's closed chats.
  • With no filter the reply is unchanged. An empty filter means no filter (as the schema allows); a non-string one is refused.
  • _acpmux/watch refuses peer and status with invalid params. Its events cover every session, so a filtered first page would promise a scope the events don't keep.
  • SessionsParams (schema, deny_unknown_fields) gains both fields. The spec IR and the web types (acpmux-protocol:codegen) are regenerated.
  • The regenerated IR also includes a titleSource field (with its default: null) that fix(cmux-next): persist first agent chat titles by default #24985 added to the schema without blessing the IR, so protocol_ir_is_current was red on base for that reason too.

The sidebar's Older row comes in a separate PR that uses this.

Testing

  • hub::session_pages::tests (unit, 4): filters before paging with a cursor; each filter alone; an empty filter is none; a watch refuses filters.
  • Fleet at fa77c01: cmux-tui-rust-check.sh all session_pages (fmt, clippy, 4/4 tests) and test protocol_ir_is_current both passed.
  • Review: Codex gpt-6-astra xhigh. BLOCK (watch scope, empty strings), both fixed, then SHIP at fa77c01.

No capture: daemon protocol only, no UI.

Risk: normal. The change is additive and optional request parameters only, with the read path's behavior unchanged when they're absent. No socket or relay policy changes.

Changelog

Changed: acpmux's session list can be narrowed to one machine and one status.

Agent session: cosmic-gray

🤖 Generated with Claude Code

teamleaderleo and others added 2 commits October 24, 2026 19:10
…e paging

A machine group's Older row (closed chats of one peer, a page at a time) needs only that peer's
closed sessions, not the whole multi-megabyte list (#24950 follow-up).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16f97-49ec-7ac0-8a7a-00dc57b9e443&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 25, 2026
@teamleaderleo
teamleaderleo temporarily deployed to cmux-tui-merge-tree October 25, 2026 02:56 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review fcf54cd: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr25054 -f ref=remote-sidebar-opus/sessions-filter -f platform=macos -f backend_mode=local

Gallery before/after for fcf54cd: the capture produced no images (run).

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 6cae8ed to compare; do not merge until green; see lane-rules

Tour of fa77c018d7 (run)

Path-selected interactions

Interaction Changed paths
agent-pane webviews/src/agent\-session/acpmux/protocol/generated/types.ts

agent-pane-before: the media could not be published (refused 3 file(s) that show private names: 25054/fa77c018/next-agent-pane-before/shots/02-open-agent-chat.png (fleet Mac mini name); 25054/fa77c018/next-agent-pane-before/shots/03-queue-a-second-chat.)

agent-pane-after: the media could not be published (refused 3 file(s) that show private names: 25054/fa77c018/next-agent-pane-after/shots/02-open-agent-chat.png (fleet Mac mini name); 25054/fa77c018/next-agent-pane-after/shots/03-queue-a-second-chat.pn)

Tours are data in scripts/cmux-next/media/tours: add a step or a tour file to show your feature.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by remote-sidebar-opus on cosmic-gray · session

@blacksmith-sh

blacksmith-sh Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Found 16 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp9su_asti/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpjng0ruyj/summary-missing.json (live):/summary-missing.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
bundle-cmux-tui.sh failed (/tmp/tmp.NQd1sxM34j/new/cmux-tui) View Logs
bundle-cmux-tui.sh failed (/tmp/tmp.NQd1sxM34j/new/cmux-tui) View Logs
bundle-cmux-tui.sh failed (tree, /tmp/tmp.yKfentkNHB/build/one/cmux-tui) View Logs
bundle-cmux-tui.sh failed (tree, /tmp/tmp.yKfentkNHB/build/one/cmux-tui) View Logs

...and 6 more test failures. View all on Blacksmith: run 40156640198, run 40156640262

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-671hm created for this PR by the cmux coordinator.

@teamleaderleo
teamleaderleo merged commit 42e1d02 into feat-cmux-next Oct 25, 2026
182 of 198 checks passed
@teamleaderleo
teamleaderleo deleted the remote-sidebar-opus/sessions-filter branch October 25, 2026 03:39
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

This branch had an error being deployed

1 failed and 2 inactive deployments
artifacts — fa77c018 Deployed Oct 25, 2026 by teamleaderleo via add the Windows daemon to the tree #51700
sentry-dsyms — fa77c018 Deployed Oct 25, 2026 by teamleaderleo via upload cmux-tui dSYMs to Sentry #51700
cmux-tui-merge-tree — fa77c018 Deployed Oct 25, 2026 by teamleaderleo via publish the merge tree #5661
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant