fix(coding-agent): expand paste markers in Ctrl+Q follow-ups

InputController.handleFollowUp read raw editor text via getText(),
bypassing the paste-store expansion the Enter path applies through
Editor.getExpandedText(). A large paste collapsed into a [Paste #N, +X
lines] marker was therefore sent verbatim to the model when queued with
Ctrl+Q / Ctrl+Enter, silently dropping the pasted content.

Switch the follow-up path to getExpandedText() so queued submissions
match the Enter path. Image markers are untouched; pendingImages
forwarding is unchanged.

Updated existing input-controller stubs (skill-queue, followup-image,
keybindings) to implement getExpandedText, matching the production
CustomEditor surface.

Fixes #3737
This commit is contained in:
roboomp
2026-06-28 16:42:39 +00:00
parent 2622ab13fe
commit 404a43e02b
6 changed files with 133 additions and 1 deletions
@@ -1145,7 +1145,7 @@ export class InputController {
/** Send editor text as a follow-up message (queued behind current stream). */
async handleFollowUp(): Promise<void> {
let text = this.ctx.editor.getText().trim();
let text = this.ctx.editor.getExpandedText().trim();
const images = this.ctx.editor.pendingImages.length > 0 ? [...this.ctx.editor.pendingImages] : undefined;
const imageLinks =
images && this.ctx.editor.pendingImageLinks.length > 0 ? [...this.ctx.editor.pendingImageLinks] : undefined;