From f994335cb1d259ebfac3823c79fc845fa79392f9 Mon Sep 17 00:00:00 2001 From: viettranx Date: Sun, 12 Apr 2026 11:45:06 +0700 Subject: [PATCH] fix(ui): always show Settings button for tools with dedicated forms hasEditableSettings() only checked if tool.settings was non-empty, hiding the Settings button for web_search, tts, etc. when no settings existed yet. Now tools with dedicated form components always show the button so admins can create initial settings. --- ui/web/src/pages/builtin-tools/builtin-tool-row.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ui/web/src/pages/builtin-tools/builtin-tool-row.tsx b/ui/web/src/pages/builtin-tools/builtin-tool-row.tsx index 14affdb0..232673ae 100644 --- a/ui/web/src/pages/builtin-tools/builtin-tool-row.tsx +++ b/ui/web/src/pages/builtin-tools/builtin-tool-row.tsx @@ -13,7 +13,15 @@ import type { BuiltinToolData } from "./hooks/use-builtin-tools"; /* eslint-disable @typescript-eslint/no-explicit-any */ +// Tools with dedicated settings forms always show the Settings button, +// even when settings is empty (the form lets the user create settings). +const TOOLS_WITH_DEDICATED_FORM = new Set([ + "web_search", "web_fetch", "tts", "knowledge_graph_search", + "create_image", "create_audio", "create_video", +]); + export function hasEditableSettings(tool: BuiltinToolData): boolean { + if (TOOLS_WITH_DEDICATED_FORM.has(tool.name)) return true; return tool.settings != null && Object.keys(tool.settings).length > 0; }