Skip to content

agentHost: dismiss question widget on other clients when answered#312919

Merged
connor4312 merged 1 commit intomainfrom
connor4312/312869
Apr 27, 2026
Merged

agentHost: dismiss question widget on other clients when answered#312919
connor4312 merged 1 commit intomainfrom
connor4312/312869

Conversation

@connor4312
Copy link
Copy Markdown
Member

When a question (input request) is answered on one client in a multi-client
AgentHost session, the question carousel now disappears on all other clients
and shows the actual answers instead of 'Skipped'.

  • Use the protocol input request id as the carousel's resolveId so the
    chat input widget can be targeted for cleanup by key.
  • Track per-entry whether completion came from shared state vs local UI.
  • Listen on onWillApplyAction for SessionInputCompleted to capture answers
    before the reducer removes the input request from state (the reducer
    deletes the request entirely, so answers are only on the action payload).
  • Convert protocol SessionInputAnswer records back to carousel-display
    format so the summary renders 'Q: ... / A: ...' instead of 'Skipped'.
  • Guard cleanup so locally-submitted carousels keep their answer data when
    the server echoes the completion back.
  • Clear the matching chat input widget via IChatWidgetService when the
    request disappears from state on passive clients.

Fixes #312869

(Commit message generated by Copilot)

Copilot AI review requested due to automatic review settings April 27, 2026 22:13
@connor4312 connor4312 enabled auto-merge (squash) April 27, 2026 22:14
roblourens
roblourens previously approved these changes Apr 27, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

When a question (input request) is answered on one client in a multi-client
AgentHost session, the question carousel now disappears on all other clients
and shows the actual answers instead of 'Skipped'.

- Use the protocol input request id as the carousel's resolveId so the
  chat input widget can be targeted for cleanup by key.
- Track per-entry whether completion came from shared state vs local UI.
- Listen on onWillApplyAction for SessionInputCompleted to capture answers
  before the reducer removes the input request from state (the reducer
  deletes the request entirely, so answers are only on the action payload).
- Convert protocol SessionInputAnswer records back to carousel-display
  format so the summary renders 'Q: ... / A: ...' instead of 'Skipped'.
- Guard cleanup so locally-submitted carousels keep their answer data when
  the server echoes the completion back.
- Clear the matching chat input widget via IChatWidgetService when the
  request disappears from state on passive clients.

Fixes #312869

(Commit message generated by Copilot)
@connor4312 connor4312 merged commit 1e23c4c into main Apr 27, 2026
25 checks passed
@connor4312 connor4312 deleted the connor4312/312869 branch April 27, 2026 23:39
@vs-code-engineering vs-code-engineering Bot added this to the 1.119.0 milestone Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

AgentHost multi-client: question widget doesn't disappear on other clients

4 participants