diff --git a/packages/types/src/providers/openai.ts b/packages/types/src/providers/openai.ts index b05185402d..8e38472ea1 100644 --- a/packages/types/src/providers/openai.ts +++ b/packages/types/src/providers/openai.ts @@ -51,9 +51,8 @@ export const openAiNativeModels = { maxTokens: 128000, contextWindow: 400000, supportsImages: true, - supportsPromptCache: true, + supportsPromptCache: false, supportsReasoningEffort: false, - reasoningEffort: "high", inputPrice: 15.0, outputPrice: 120.0, description: diff --git a/src/api/providers/__tests__/openai-native.spec.ts b/src/api/providers/__tests__/openai-native.spec.ts index fa872db425..b3500763c9 100644 --- a/src/api/providers/__tests__/openai-native.spec.ts +++ b/src/api/providers/__tests__/openai-native.spec.ts @@ -1510,26 +1510,6 @@ describe("OpenAI Native background mode behavior", () => { expect(requestBodyWithOptionFalse.stream).toBe(true) }) - it("auto-enables background mode for gpt-5-pro when no override is specified", async () => { - const handler = new OpenAiNativeHandler({ - apiModelId: "gpt-5-pro-2025-10-06", - openAiNativeApiKey: "test", - // no openAiNativeBackgroundMode provided - }) - - mockResponsesCreate.mockResolvedValueOnce(createMinimalIterable()) - - const chunks: any[] = [] - for await (const chunk of handler.createMessage(systemPrompt, baseMessages, metadataStoreFalse)) { - chunks.push(chunk) - } - - expect(chunks).not.toHaveLength(0) - const requestBody = mockResponsesCreate.mock.calls[0][0] - expect(requestBody.background).toBe(true) - expect(requestBody.stream).toBe(true) - expect(requestBody.store).toBe(true) - }) it("forces store:true and includes background:true when falling back to SSE", async () => { const handler = new OpenAiNativeHandler({ apiModelId: "gpt-5-pro-2025-10-06", diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index b2a0da548e..66ebffe699 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -2627,9 +2627,6 @@ export class Task extends EventEmitter implements TaskLike { ;(apiReqMsg as any).metadata.responseId = chunk.responseId } // Temporary debug to confirm UI metadata updates - console.log( - `[BackgroundMode] status update -> ${chunk.status} (resp=${chunk.responseId ?? "n/a"})`, - ) await this.updateClineMessage(apiReqMsg) // Force state refresh to ensure UI recomputes derived labels/memos const provider = this.providerRef.deref() diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index 2d93005d68..c7743985a2 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -340,11 +340,7 @@ export const ChatRowContent = ({ ) ) : bgDone ? ( bgStatus === "completed" ? ( - isExpanded ? ( - - ) : ( - - ) + ) : ( getIconSpan("error", bgStatus === "canceled" ? cancelledColor : errorColor) ) @@ -383,7 +379,17 @@ export const ChatRowContent = ({ default: return [null, null] } - }, [type, isCommandExecuting, message, isMcpServerResponding, apiReqCancelReason, cost, apiRequestFailedMessage, t]) + }, [ + type, + isCommandExecuting, + message, + isExpanded, + isMcpServerResponding, + apiReqCancelReason, + cost, + apiRequestFailedMessage, + t, + ]) const headerStyle: React.CSSProperties = { display: "flex",