Introduce ConfigProvider to stabilize preference saves

- move config state into a dedicated context provider that eagerly hydrates disk state before any write
- update App, folder selection, message rendering, and advanced settings to consume the context instead of globals
- wrap the renderer entry in ConfigProvider so every view shares the same initialized config data
This commit is contained in:
Shantur Rathore
2025-11-14 20:42:13 +00:00
parent 6fa41d51be
commit efe7af6f77
9 changed files with 136 additions and 37 deletions

View File

@@ -29,7 +29,7 @@ import {
showFolderSelection,
setShowFolderSelection,
} from "./stores/ui"
import { toggleShowThinkingBlocks, preferences, addRecentFolder, setDiffViewMode } from "./stores/preferences"
import { useConfig } from "./stores/preferences"
import {
createInstance,
instances,
@@ -350,6 +350,7 @@ const ContextUsagePanel: Component<{ instanceId: string; sessionId: string }> =
const App: Component = () => {
const { isDark } = useTheme()
const { preferences, addRecentFolder, toggleShowThinkingBlocks, setDiffViewMode } = useConfig()
const commandRegistry = createCommandRegistry()
const [escapeInDebounce, setEscapeInDebounce] = createSignal(false)
const [paletteCommands, setPaletteCommands] = createSignal<Command[]>([])