Repository navigation
Needs you: a waiting chat shows the question it waits on, not the agent's last message - #23875
Conversation
…st message A chat whose ask the page has not read showed the agent's last message under "Waiting". These tests want the question's prompt (or a permission line), no item for a chat with nothing pending, and the turn's line to read a pending question as a question, never "allow this?". Adds the needsYou.waitingPermission string (21 locales) the tests name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
…last message A chat whose ask the page has not read (a chat on another computer, a grouped request, a read still out) was one "Waiting" item whose line was the session's preview: the agent's last message. It now reads what acpmux names it waits on (waitingOn/waitingPrompt): a question by its prompt (Decision), a permission as a permission (Approval, "Waiting for you to allow a tool"). A local chat with nothing pending is not listed; a peer chat whose daemon names neither still shows by its indicator. The turn's line reads a pending question carried by a permission request as "answer the question below", never "allow this?". The gallery's list shows the remote question and a permission not read here, each with a last message that must not appear. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
|
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 Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 6be3530; does not block Tour of |
|
Found 21 test failures on Blacksmith runners: Failures
...and 11 more test failures. View all on Blacksmith: run 39712863860, run 39712863876, run 39712863787
|
|
Bead |
|
Owned by claude-sr2/transcript-density on cosmic-gray · session |
Review of #23875: acpmux sets status `waiting` for a secret request with no pending permission and no waitingOn. The list must keep that chat, with the plain waiting line and no last message; "nothing pending" is read from the chat's status, not its dot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
Review of #23875: acpmux sets status `waiting` for a secret request with no pending permission and no waitingOn, and the list dropped that chat. A chat acpmux says is waiting stays listed as a plain waiting item (no last message); a chat with an input dot and no known status shows too. Only a local chat acpmux reports as not waiting is left out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ba3-d09a-7940-9fd6-158e10477c0e&host=cosmic-gray
|
Review (subagent, correctness first): SHIP at 7ba9c8f Read-only review: no blockers. The review's non-blocking notes: no test yet covers a local chat that has no status and only the input dot; when a secret and a question are both open, the chat's waiting line now names the secret first; an unreachable peer chat that still has a pending request stays listed (this predates the PR). CI at this head: 31 passed, 0 failed. |
…s-you-preview # Conflicts: # webviews/src/agent-session/acpmux/App.tsx # webviews/src/agent-session/acpmux/conversation/waitingOn.test.tsx # webviews/src/agent-session/acpmux/conversation/waitingOn.ts # webviews/src/agent-session/acpmux/needsYou/NeedsYou.gallery.ts # webviews/src/agent-session/acpmux/needsYou/model.ts
|
Review (subagent, correctness first): SHIP at 0fc8e80 Independent re-review of the base merge. Base had landed #23847 and #23912, which overlap this PR. |
|
Review (subagent, correctness first): SHIP at 9afa09a Re-reviewed after the base merges. The net diff against base 6be3530 is still only the PR's five files. Every red on this head is a base finding or a wrapper of one: web lint formatting in |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Leo hit this live: the Needs you list said "Waiting 5m" for a chat and showed the agent's last message, not the question the chat was waiting on.
Takes back #23847: its row falls back to the chat's last reply when acpmux names no question text (a permission, or a question without a prompt). That last reply is what Leo flagged. Here a row never shows it: a permission reads "Waiting for you to allow a tool", anything else the plain waiting line. #23847's question-prompt row stays as it is. #23912 already fixed the turn's waiting line on base, so this PR takes base's version of
conversation/waitingOn.tsand adds no change there.What changes
session.preview, the agent's last reply. Now the row shows what acpmux's session summary says the chat waits on (waitingOnandwaitingPrompt):waitingOnis no longer listed. A chat on another computer whose daemon reports neither field (an older peer) still shows from its indicator, with the plain "Waiting for your answer" line.agent-pane.needs-youlistnow has a question from another computer and a permission the page could not read. Each has a last message that must not appear in the list.The selection lives in
needsYou/model.ts(waitsOnPerson,waitingAsk). The fallback line isNeedsYou.tsxaskText,.Choices I made without asking:
atstill comes from the session'supdatedAt. Only the text and label selection changed.One new string,
needsYou.waitingPermission, is filled in for all 21 locales (machine-drafted, markedneeds_reviewlike its neighbours).Changelog
Red / green
Command (fleet):
cmux-ci run --class light --script scripts/ci/run-webviews-tests.sh --env "CMUX_WEB_TEST_FILES=test/agent-pane-needs-you.test.tsx\nsrc/agent-session/acpmux/conversation/waitingOn.test.tsx"83765d677807fc5408e491bd4ec2ffee48039253(keyneeds-you-preview-red-83765d6778): failed as intended (step340cc366e7ede02fc14e7ece): both files failed.agent-pane-needs-you.test.tsxhad 2 of 21 tests fail (the waiting-chat preview test anda chat with nothing pending is not listed as waiting), andwaitingOn.test.tsxfailed its question test1905335afa56a1aa8be36fd82da928ace45a2b26(keyneeds-you-preview-green-1905335afa): passed (stepf5d3be51e0333dff96196561): both files pass1905335afa56a1aa8be36fd82da928ace45a2b26: job16f83e818f837cf89d26f537, passed.Second round (a chat waiting on a secret, with no pending permission and no
waitingOn, must stay listed as "Waiting for your answer"):e6612852703c0652e55401a717bffc4eedf5f63d(keyneeds-you-secret-red-e661285270, stepd84fb60638f5d9dfc6643fdc): only the new secret test failed, and it failed again when run alone7ba9c8f5075b96e671d260297a4d78f46f2a6da9(keyneeds-you-secret-green-7ba9c8f507, step808d7adc4ed30e11cb64bd96): both files pass7ba9c8f5075b96e671d260297a4d78f46f2a6da9: jobfb3b5f7b666a210b45f1d27b, passed.Observed / Not run
Observed: the red and green fleet runs above,
scripts/web-lint.sh(passed),scripts/cmux-next/prepush-gate.py(no new violations), andcmux-ci compile-check --app(passed).Not run: the gallery render of the updated
agent-pane.needs-youvariants (the PR's gallery run covers it), and a live repro in a tagged build. I checked acpmux'swaitingOn/waitingPromptand the status logic by reading the code (hub/views.rsstatus_indicator,hub/subsession_send.rswaiting_cut), not by running them. The New Tab "needs you" cards (newtab/screenModel.tssessionCard) also showsession.previewfor a waiting chat. They are not this popover, so they are left for a follow-up.Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes the Needs you list showing the agent's last message for a waiting chat; it now shows the question or permission the chat actually waits on, from acpmux's
waitingOn/waitingPrompt.waiting(such as one waiting on a secret) stays listed with the plain waiting line, as does a peer chat that reports no question text.needsYou.waitingPermissionstring for all locales and updates the gallery to cover a remote question and a permission not read here.Written for commit 9afa09a. Summary will update on new commits.