From 82d14d1e3c5d68b210e9c337d0af6e8281ec4b63 Mon Sep 17 00:00:00 2001 From: "paseo-bot[bot]" <266920839+paseo-bot[bot]@users.noreply.github.com> Date: Tue, 3 Nov 2026 21:42:57 +0000 Subject: [PATCH] fix(pi): preserve steer warnings with async prompt preparation Initialize foreground correlation only after prompt conversion completes and the turn still owns the session. This retains the stopped-steer warning without reading an uninitialized payload after integration with current main. Co-authored-by: YEONGUK LEE --- packages/server/src/server/agent/providers/pi/agent.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/server/src/server/agent/providers/pi/agent.ts b/packages/server/src/server/agent/providers/pi/agent.ts index 0957b6ce4f..e7539ee02e 100644 --- a/packages/server/src/server/agent/providers/pi/agent.ts +++ b/packages/server/src/server/agent/providers/pi/agent.ts @@ -1327,11 +1327,12 @@ export class PiRpcAgentSession implements AgentSession { this.pendingSettledMessages = null; this.activePromptRequestId = null; this.pendingSteerSubmissions.length = 0; - this.pendingForegroundSubmission = { text: payload.text, consumed: false }; + this.pendingForegroundSubmission = null; this.clearNoTurnBuffers(); const payload = await convertPromptInput(prompt, { model: this.state.model }); if (this.closed) throw new Error("Pi session is closed"); if (this.activeTurnId !== turnId) return { turnId }; + this.pendingForegroundSubmission = { text: payload.text, consumed: false }; this.activeNoTurnPromptText = payload.text; const shouldProbeForNoTurnPrompt = this.parseSlashCommandInput(payload.text) !== null;