From 4bd00449187988ded522b03be7c3c4b38181aaa7 Mon Sep 17 00:00:00 2001 From: arkon Date: Tue, 28 Apr 2026 02:36:55 +0200 Subject: [PATCH] fix: allowlist opusContext1mEnabled in SettingsUpdateSchema MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same root cause as the thinkingEffort fix in #73: the schema is .strict(), so unknown keys in PUT /api/settings are rejected with INVALID_INPUT and the toggle never persists. Verified live: pre-fix returned {"errorCode":"INVALID_INPUT"}, post-fix accepts. The frontend has been reading and writing this key for a while (settings-ui.js:336, :1137; session-ui.js:331), so saves were silently failing — users never noticed because the load path falls back to false on missing keys. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/web/schemas.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/web/schemas.ts b/src/web/schemas.ts index bdc964f6..12283739 100644 --- a/src/web/schemas.ts +++ b/src/web/schemas.ts @@ -267,6 +267,7 @@ export const SettingsUpdateSchema = z tunnelEnabled: z.boolean().optional(), tabTwoRows: z.boolean().optional(), agentTeamsEnabled: z.boolean().optional(), + opusContext1mEnabled: z.boolean().optional(), thinkingEffort: z.string().max(20).optional(), // UI visibility showFontControls: z.boolean().optional(),