cmux NEXT: Needs you holds no peer ask that beats its chat's summary
Follow-up to the review of #22646 (the Needs you list).
Summary
- Peer asks.
AskTracker.pendingheld a peer's relayedpermission_pendingwhenever it arrived before that chat's session summary, because it rejected only chats it already knew were remote. The list then showed the ask with Allow and Deny until the summary came. acpmux setspeer(andvia: "peer") on every relayed notice (cmux-tui/crates/acpmux/src/server/pending.rspeer_permission_pending). Nowpendingalso rejects a notice that names a peer. - Dead CSS.
needsYou.csshad rules for the SessionSidebar that #23339 deleted. This removes the.acpmux-session-preview-status.acpmux-session-mark-inputselector and the.acpmux-session-mark .acpmux-needs-you-dotrule, which no longer match anything, and fixes the header comment. The.acpmux-session-mark-inputtint stays, since the dev prototype's workspace row (prototype/WorkspaceShell.tsx) still uses it. - Not done here: the native Priority row's "needs you" chip (
SidebarPriorityRowView.chipColor,Palette.attention). That color is shared with workspace rows, so changing it is a native visual change that needs a capture. It belongs in its own PR.
Testing
The regression test is committed before the fix (8ba6b002705), in webviews/test/agent-pane-needs-you-asks.test.ts: "a peer's pending notice that beats its chat's summary is not held as an ask".
Command, from webviews/ on cmux16: bun test test/agent-pane-needs-you-asks.test.ts
- Base plus the test (8ba6b002705): 16 pass, 1 fail.
expect(ids(asks)).toEqual([])received["p-far"]. - Head (63f3b0c3d00): 17 pass, 0 fail.
Observed / Not run
- Observed: the red and green runs above,
python3 scripts/cmux-next/prepush-gate.py(no new violations), andscripts/web-lint.sh. web-lint failed only oncheck:browser-lanes(test/diff-paint-perf.test.ts),check:fixed-waitsandcheck:text-focus(FileExplorerCell.swift). All three are in files this PR does not touch and are red on base 1a88342deac, so I pushed withCMUX_WEB_LINT_SKIP_REASONnaming them. - Not run: the rest of the webviews suite, and any visual check of the CSS removal. The removed selectors match no element.
Changelog
- Fixed: the Needs you list no longer offers Allow and Deny for another computer's request that arrives before its chat is listed.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the Needs you list so a peer's permission request that arrives before its chat's session summary is no longer held as an ask with Allow and Deny. AskTracker.pending now rejects any notice that names a peer (peer, via: "peer"), which acpmux sets on every relayed request; previously only chats already known to be remote were rejected. Also removes dead CSS in needsYou.css for the SessionSidebar deleted by #23339; the input-mark tint stays for the dev prototype's workspace row. A regression test is added and fails on the base.
Not included
- The native Priority row's "needs you" chip color, which is shared with workspace rows and warrants its own PR.