diff --git a/apps/desktop/src/app/shell/model-edit-submenu.tsx b/apps/desktop/src/app/shell/model-edit-submenu.tsx
index 417edd4d222..6fca3997a0c 100644
--- a/apps/desktop/src/app/shell/model-edit-submenu.tsx
+++ b/apps/desktop/src/app/shell/model-edit-submenu.tsx
@@ -150,7 +150,7 @@ function ModelEditSubmenuBody({
// Preset-only without a session: `isActive` holds for the global/default
// row pre-session, and the gateway's `config.set` falls back to global
// config when none matches — so don't reach it (preset + optimistic store
- // are the whole effect). Same guard in applyModelPreset / toggleFast.
+ // are the whole effect). Same guard in applyModelPreset / setFast.
if (!activeSessionId) {
return
}
@@ -169,7 +169,7 @@ function ModelEditSubmenuBody({
}
}
- const toggleFast = (enabled: boolean) => {
+ const setFast = (enabled: boolean) => {
if (fastControl.kind === 'variant') {
// Fast is a separate model id. Record the choice on the base model's
// preset (selectFamily picks the `-fast` sibling later when set), and
@@ -245,7 +245,7 @@ function ModelEditSubmenuBody({
{hasFast ? (
event.preventDefault()}>
{copy.fast}
-
+
) : null}
{reasoning ? (
diff --git a/apps/desktop/src/app/skills/index.test.tsx b/apps/desktop/src/app/skills/index.test.tsx
index 0c05bec75ad..2477f0c7746 100644
--- a/apps/desktop/src/app/skills/index.test.tsx
+++ b/apps/desktop/src/app/skills/index.test.tsx
@@ -10,8 +10,8 @@ import { queryClient } from '@/lib/query-client'
const getSkills = vi.fn()
const getToolsets = vi.fn()
-const toggleSkill = vi.fn()
-const toggleToolset = vi.fn()
+const setSkillEnabled = vi.fn()
+const setToolsetEnabled = vi.fn()
const getToolsetConfig = vi.fn()
const selectToolsetProvider = vi.fn()
const getUsageAnalytics = vi.fn()
@@ -23,8 +23,8 @@ vi.mock('@/hermes', async importOriginal => ({
...(await importOriginal()),
getSkills: () => getSkills(),
getToolsets: () => getToolsets(),
- toggleSkill: (name: string, enabled: boolean) => toggleSkill(name, enabled),
- toggleToolset: (name: string, enabled: boolean) => toggleToolset(name, enabled),
+ setSkillEnabled: (name: string, enabled: boolean) => setSkillEnabled(name, enabled),
+ setToolsetEnabled: (name: string, enabled: boolean) => setToolsetEnabled(name, enabled),
getToolsetConfig: (name: string) => getToolsetConfig(name),
selectToolsetProvider: (toolset: string, provider: string) => selectToolsetProvider(toolset, provider),
getUsageAnalytics: (days: number) => getUsageAnalytics(days)
@@ -78,7 +78,7 @@ async function renderSkills() {
beforeEach(() => {
getSkills.mockResolvedValue([])
getToolsets.mockResolvedValue([toolset()])
- toggleToolset.mockResolvedValue({ ok: true, name: 'web', enabled: false })
+ setToolsetEnabled.mockResolvedValue({ ok: true, name: 'web', enabled: false })
getToolsetConfig.mockResolvedValue({ has_category: true, active_provider: null, providers: [] })
getUsageAnalytics.mockResolvedValue({ tools: [] })
})
@@ -101,7 +101,7 @@ describe('SkillsView toolset management', () => {
fireEvent.click(sw)
})
- await waitFor(() => expect(toggleToolset).toHaveBeenCalledWith('web', false))
+ await waitFor(() => expect(setToolsetEnabled).toHaveBeenCalledWith('web', false))
})
it('renders toolset titles without leading emoji', async () => {
diff --git a/apps/desktop/src/app/skills/mcp-tab.tsx b/apps/desktop/src/app/skills/mcp-tab.tsx
index cc7c335f3cd..c3041448601 100644
--- a/apps/desktop/src/app/skills/mcp-tab.tsx
+++ b/apps/desktop/src/app/skills/mcp-tab.tsx
@@ -730,7 +730,7 @@ export function McpTab({ gateway }: { gateway: HermesGateway | null }) {
return next
}
- const toggleServer = async (serverName: string, enabled: boolean) => {
+ const setServerEnabled = async (serverName: string, enabled: boolean) => {
if (profilePending) {
return
}
@@ -978,7 +978,7 @@ export function McpTab({ gateway }: { gateway: HermesGateway | null }) {
onBack={() => setCursor(0)}
onProbe={() => void runProbe(selected)}
onRemove={() => void removeServer(selected)}
- onToggle={checked => void toggleServer(selected, checked)}
+ onToggle={checked => void setServerEnabled(selected, checked)}
onToggleTool={toolName => void toggleTool(selected, toolName)}
probe={probes[selected]}
saved={savedEntry !== undefined}
@@ -1019,7 +1019,7 @@ export function McpTab({ gateway }: { gateway: HermesGateway | null }) {
onProbe={() => void runProbe(serverName)}
onRemove={() => void removeServer(serverName)}
onSelect={() => focusServer(serverName)}
- onToggle={checked => void toggleServer(serverName, checked)}
+ onToggle={checked => void setServerEnabled(serverName, checked)}
status={status}
statusText={statusLine(m, status, probes[serverName], server)}
/>
diff --git a/apps/desktop/src/components/model-visibility-dialog.tsx b/apps/desktop/src/components/model-visibility-dialog.tsx
index cc4d58bd11d..7c4a47c534e 100644
--- a/apps/desktop/src/components/model-visibility-dialog.tsx
+++ b/apps/desktop/src/components/model-visibility-dialog.tsx
@@ -67,7 +67,7 @@ export function ModelVisibilityDialog({
setVisibleModels(toggleModelVisibility($visibleModels.get(), providers, provider.slug, model))
}
- const toggleProvider = (provider: ModelOptionProvider, next: boolean) => {
+ const setProviderVisible = (provider: ModelOptionProvider, next: boolean) => {
setVisibleModels(setProviderVisibility($visibleModels.get(), providers, provider.slug, next))
}
@@ -135,7 +135,7 @@ export function ModelVisibilityDialog({
size="0.625rem"
/>
- toggleProvider(provider, next !== false)} />
+ setProviderVisible(provider, next !== false)} />
{!collapsed &&
models.map(family => {
diff --git a/apps/desktop/src/components/pane-shell/tree/renderer/tree-group.tsx b/apps/desktop/src/components/pane-shell/tree/renderer/tree-group.tsx
index 8c480dbefcd..a4ccc783cba 100644
--- a/apps/desktop/src/components/pane-shell/tree/renderer/tree-group.tsx
+++ b/apps/desktop/src/components/pane-shell/tree/renderer/tree-group.tsx
@@ -46,7 +46,7 @@ import {
SESSION_TILE_DRAG,
setTreeGroupHeaderHidden,
splitTreeZone,
- toggleTreeGroupMinimized
+ setTreeGroupMinimized
} from '../store'
import { type DoubleTapContext, startPaneDrag } from './drag-session'
@@ -110,7 +110,7 @@ function ZoneMenu({
{headerHidden ? t.zones.showHeader : t.zones.hideHeader}
{minimizable && (
- toggleTreeGroupMinimized(nodeId, !minimized)}>
+ setTreeGroupMinimized(nodeId, !minimized)}>
{minimized ? t.zones.restore : t.zones.minimize}
)}
@@ -250,7 +250,7 @@ export function TreeGroup({
const hideHeaderDoubleTap: DoubleTapContext = {
key: `hide-header-${node.id}`,
onDoubleTap: () => {
- toggleTreeGroupMinimized(node.id, false)
+ setTreeGroupMinimized(node.id, false)
setTreeGroupHeaderHidden(node.id, true)
}
}
diff --git a/apps/desktop/src/components/pane-shell/tree/store.ts b/apps/desktop/src/components/pane-shell/tree/store.ts
index cf09dde33e0..bda6280ba39 100644
--- a/apps/desktop/src/components/pane-shell/tree/store.ts
+++ b/apps/desktop/src/components/pane-shell/tree/store.ts
@@ -798,7 +798,7 @@ export function revealTreePane(paneId: string) {
// just front its tab behind a collapsed rail. Without this, a tool panel
// (terminal/logs) in a shared zone stays minimized after its toggle opens
// it: setPaneCollapsed's shared-zone branch calls revealTreePane instead
- // of toggleTreeGroupMinimized, so the zone never un-minimizes and the
+ // of setTreeGroupMinimized, so the zone never un-minimizes and the
// pane appears to "close but not open" on ctrl-` / tab click.
let next = tree
@@ -1217,7 +1217,7 @@ export function splitTreeZone(groupId: string, side: RootEdge, movePaneId: strin
}
}
-export function toggleTreeGroupMinimized(groupId: string, minimized: boolean) {
+export function setTreeGroupMinimized(groupId: string, minimized: boolean) {
const tree = $layoutTree.get()
if (tree) {
@@ -1256,7 +1256,7 @@ export function setPaneCollapsed(paneId: string, collapsed: boolean) {
activateTreePane(group.id, group.panes[at - 1] ?? group.panes[at + 1])
} else {
- toggleTreeGroupMinimized(group.id, true) // pure tool zone folds as a unit
+ setTreeGroupMinimized(group.id, true) // pure tool zone folds as a unit
}
} else if (!collapsed) {
revealTreePane(paneId)
@@ -1266,7 +1266,7 @@ export function setPaneCollapsed(paneId: string, collapsed: boolean) {
}
if (Boolean(group.minimized) !== collapsed) {
- toggleTreeGroupMinimized(group.id, collapsed)
+ setTreeGroupMinimized(group.id, collapsed)
if (!collapsed) {
revealTreePane(paneId)
@@ -1290,7 +1290,7 @@ export function restoreTreePane(paneId: string) {
const group = paneGroup(paneId)
if (group?.minimized) {
- toggleTreeGroupMinimized(group.id, false)
+ setTreeGroupMinimized(group.id, false)
}
revealTreePane(paneId)
@@ -1301,7 +1301,7 @@ export function restoreTreePane(paneId: string) {
const group = paneGroup(paneId)
if (group) {
- toggleTreeGroupMinimized(group.id, false)
+ setTreeGroupMinimized(group.id, false)
activateTreePane(group.id, paneId)
}
}
@@ -1321,7 +1321,7 @@ export function collapseTreePane(paneId: string) {
const group = paneGroup(paneId)
if (group) {
- toggleTreeGroupMinimized(group.id, true)
+ setTreeGroupMinimized(group.id, true)
}
}
diff --git a/apps/desktop/src/hermes.ts b/apps/desktop/src/hermes.ts
index 9b85e04c277..71cb6efe6f9 100644
--- a/apps/desktop/src/hermes.ts
+++ b/apps/desktop/src/hermes.ts
@@ -960,7 +960,7 @@ export function editLearningNode(id: string, content: string): Promise<{ message
})
}
-export function toggleSkill(name: string, enabled: boolean): Promise<{ ok: boolean; name: string; enabled: boolean }> {
+export function setSkillEnabled(name: string, enabled: boolean): Promise<{ ok: boolean; name: string; enabled: boolean }> {
return window.hermesDesktop.api<{ ok: boolean; name: string; enabled: boolean }>({
...profileScoped(),
path: '/api/skills/toggle',
@@ -1034,7 +1034,7 @@ export function getToolsets(): Promise {
})
}
-export function toggleToolset(
+export function setToolsetEnabled(
name: string,
enabled: boolean
): Promise<{ ok: boolean; name: string; enabled: boolean }> {