Skip to content

[Fix] Subtasks process queued feedback before returning - #1318

Draft
zoomote[bot] wants to merge 24 commits into
mainfrom
fix/queued-input-approval-1k43hlevwo6pk
Draft

zoomote[bot] wants to merge 24 commits into
mainfrom
fix/queued-input-approval-1k43hlevwo6pk

Conversation

@zoomote

@zoomote zoomote Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

​Created by Roomote. Follow up by mentioning @roomote, in the web UI, or in Discord.

What changed

Streaming API input is normalized and enqueued directly in the extension host so it cannot race child completion through an asynchronous webview round trip. Text is trimmed, supplied images receive synchronous count/type/deduplication/size validation, and callers get a rejected promise when normalization leaves no usable input instead of a silently dropped message.

The VS Code e2e queues input while a child is completing, verifies the child processes it, and only then allows the parent to resume. Focused tests cover streaming validation, rejection and logging, image budgets, headless delivery, and the child-only request boundary. The MCP fixture still launches the VS Code Electron executable in Node mode because the inherited pnpm executable emits non-JSON output and prevents the MCP e2e suite from starting.

Why this change was made

Queued instructions could be lost when a delegated child reached completion while the API/webview path was still delivering the message. Direct synchronous queue delivery closes that race without weakening image validation or silently accepting unusable input. This addresses #1308 within the task-lifecycle work tracked by #355.

Impact

Subtasks process validated queued steering feedback before returning control to their parent. Streaming API callers can handle rejected empty/invalid payloads explicitly. The branch is rebased onto current main; full unit tests, complete mocked VS Code e2e, lint, type checks, formatting, docs checks, and changed-line mutation testing pass locally.

Linked work items

Closes #1308
Tracked under #355

Related PRs

@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Review status

This PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging.

Current step: Mark the PR ready. Required CI must pass before CodeRabbit starts.

Review-state labels are managed by this workflow; do not edit them manually.

@github-actions github-actions Bot added has-conflicts PR has merge conflicts with the base branch and removed has-conflicts PR has merge conflicts with the base branch labels Aug 30, 2026
@zoomote
zoomote Bot force-pushed the fix/queued-input-approval-1k43hlevwo6pk branch from 0cc0096 to a83534e Compare September 5, 2026 00:50
@zoomote zoomote Bot changed the title [Fix] Queued messages no longer approve pending actions [Fix] Subtasks process queued feedback before returning Sep 5, 2026
@edelauna

edelauna commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

@CodeRabbit review

@coderabbitai

coderabbitai Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Sep 12, 2026
@github-actions github-actions Bot added the awaiting-ready CodeRabbit approved; waiting for the draft to be marked ready label Sep 13, 2026
@zoomote
zoomote Bot force-pushed the fix/queued-input-approval-1k43hlevwo6pk branch from 4aedd69 to a6b8d5f Compare September 15, 2026 03:38
@github-actions github-actions Bot removed the awaiting-ready CodeRabbit approved; waiting for the draft to be marked ready label Sep 15, 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.

[BUG] Queued messages interfere with tool responses that require user interaction

2 participants