From ddec425f5b81197f74f7f4e7baeeaa807712a475 Mon Sep 17 00:00:00 2001 From: Ammar Date: Sun, 23 Nov 2025 16:55:47 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20fix:=20restore=20LRU=20model=20d?= =?UTF-8?q?efault=20for=20new=20workspaces?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverts a regression introduced in 2c700b84 where the default model was hardcoded to Sonnet 4.5. Now defaults to the most recently used model (LRU) as expected. _Generated with `mux`_ --- src/browser/hooks/useSendMessageOptions.ts | 7 ++++--- src/browser/utils/messages/sendOptions.ts | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/browser/hooks/useSendMessageOptions.ts b/src/browser/hooks/useSendMessageOptions.ts index 875977ac5f..33472a2d1b 100644 --- a/src/browser/hooks/useSendMessageOptions.ts +++ b/src/browser/hooks/useSendMessageOptions.ts @@ -1,6 +1,7 @@ import { useThinkingLevel } from "./useThinkingLevel"; import { useMode } from "@/browser/contexts/ModeContext"; import { usePersistedState } from "./usePersistedState"; +import { getDefaultModelFromLRU } from "./useModelLRU"; import { modeToToolPolicy, PLAN_MODE_INSTRUCTION } from "@/common/utils/ui/modeUtils"; import { getModelKey } from "@/common/constants/storage"; import type { SendMessageOptions } from "@/common/types/ipc"; @@ -10,7 +11,6 @@ import type { MuxProviderOptions } from "@/common/types/providerOptions"; import { getSendOptionsFromStorage } from "@/browser/utils/messages/sendOptions"; import { enforceThinkingPolicy } from "@/browser/utils/thinking/policy"; import { useProviderOptions } from "./useProviderOptions"; -import { WORKSPACE_DEFAULTS } from "@/constants/workspaceDefaults"; /** * Construct SendMessageOptions from raw values @@ -56,9 +56,10 @@ export function useSendMessageOptions(workspaceId: string): SendMessageOptions { const [thinkingLevel] = useThinkingLevel(); const [mode] = useMode(); const { options: providerOptions } = useProviderOptions(); + const defaultModel = getDefaultModelFromLRU(); const [preferredModel] = usePersistedState( getModelKey(workspaceId), - WORKSPACE_DEFAULTS.model, // Hard-coded default (LRU is UI convenience) + defaultModel, // Default to most recently used model { listener: true } // Listen for changes from ModelSelector and other sources ); @@ -67,7 +68,7 @@ export function useSendMessageOptions(workspaceId: string): SendMessageOptions { thinkingLevel, preferredModel, providerOptions, - WORKSPACE_DEFAULTS.model + defaultModel ); } diff --git a/src/browser/utils/messages/sendOptions.ts b/src/browser/utils/messages/sendOptions.ts index 55e7ec2a5d..4e4acfb681 100644 --- a/src/browser/utils/messages/sendOptions.ts +++ b/src/browser/utils/messages/sendOptions.ts @@ -1,6 +1,7 @@ import { getModelKey, getThinkingLevelKey, getModeKey } from "@/common/constants/storage"; import { modeToToolPolicy, PLAN_MODE_INSTRUCTION } from "@/common/utils/ui/modeUtils"; import { readPersistedState } from "@/browser/hooks/usePersistedState"; +import { getDefaultModelFromLRU } from "@/browser/hooks/useModelLRU"; import type { SendMessageOptions } from "@/common/types/ipc"; import type { UIMode } from "@/common/types/mode"; import type { ThinkingLevel } from "@/common/types/thinking"; @@ -36,8 +37,8 @@ function getProviderOptions(): MuxProviderOptions { * This ensures DRY - single source of truth for option extraction. */ export function getSendOptionsFromStorage(workspaceId: string): SendMessageOptions { - // Read model preference (workspace-specific), fallback to immutable defaults - const model = readPersistedState(getModelKey(workspaceId), WORKSPACE_DEFAULTS.model); + // Read model preference (workspace-specific), fallback to LRU default + const model = readPersistedState(getModelKey(workspaceId), getDefaultModelFromLRU()); // Read thinking level (workspace-specific) const thinkingLevel = readPersistedState(