diff --git a/.changeset/fold-auto-approve-exceptions.md b/.changeset/fold-auto-approve-exceptions.md new file mode 100644 index 00000000000..e420831df8c --- /dev/null +++ b/.changeset/fold-auto-approve-exceptions.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Collapse the Auto-Approve Exceptions list by default when it has more than 5 entries. diff --git a/packages/kilo-vscode/webview-ui/src/components/settings/PermissionEditor.tsx b/packages/kilo-vscode/webview-ui/src/components/settings/PermissionEditor.tsx index 11da0701883..e3267f5735e 100644 --- a/packages/kilo-vscode/webview-ui/src/components/settings/PermissionEditor.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/settings/PermissionEditor.tsx @@ -1,6 +1,7 @@ import { Component, For, Show, createEffect, createMemo, createSignal } from "solid-js" import { Select } from "@kilocode/kilo-ui/select" import { IconButton } from "@kilocode/kilo-ui/icon-button" +import { Icon } from "@kilocode/kilo-ui/icon" import { useLanguage } from "../../context/language" import type { PermissionConfig, PermissionLevel, PermissionRule, PermissionRuleItem } from "../../types/messages" @@ -318,6 +319,7 @@ const GranularToolRow: Component<{ const language = useLanguage() const [adding, setAdding] = createSignal(false) const [input, setInput] = createSignal("") + const [override, setOverride] = createSignal(null) let ref: HTMLInputElement | undefined createEffect(() => { @@ -325,6 +327,8 @@ const GranularToolRow: Component<{ }) const excs = createMemo(() => permissionExceptions(props.rule)) + const expanded = createMemo(() => override() ?? excs().length <= 5) + const toggle = () => setOverride(!expanded()) const level = createMemo(() => wildcardAction(props.rule, props.fallback)) const submit = () => { @@ -384,57 +388,82 @@ const GranularToolRow: Component<{ 0}>
-
- {language.t("settings.autoApprove.exceptions")} -
- - {(exc) => ( -
+ + + + + {language.t("settings.autoApprove.exceptions")} ({excs().length}) + + + + + {(exc) => (
- {exc.pattern} -
-
- props.onExceptionChange(exc.pattern, level)} - /> - props.onExceptionRemove(exc.pattern)} - /> +
+ {exc.pattern} +
+
+ props.onExceptionChange(exc.pattern, level)} + /> + props.onExceptionRemove(exc.pattern)} + /> +
-
- )} -
+ )} + +