diff options
| author | Adam Malczewski <[email protected]> | 2026-05-21 20:26:07 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-21 20:26:07 +0900 |
| commit | 13b670e5e93dc0243f970832673385e9855a1df6 (patch) | |
| tree | 0d252be4410b04e28867efa569064bf9608840d3 /packages/frontend/src/lib/components/ChatMessage.svelte | |
| parent | 4ba2673557c7cfd0bc31b03e2c35ab5e1efe60e7 (diff) | |
| download | dispatch-13b670e5e93dc0243f970832673385e9855a1df6.tar.gz dispatch-13b670e5e93dc0243f970832673385e9855a1df6.zip | |
feat: tool permission toggles, settings improvements, UI polish
- Tool permissions (read, edit, bash) stored in DB and control Agent tool registration
- Agent invalidated when permissions change; cache warning in Permissions panel
- Default: read=allow, edit=ask, bash=ask (matches UI checkboxes)
- Settings: auto-save title model on selection (removed save button)
- Settings: auto-expand thinking checkbox with shared reactive store
- Permissions panel: renamed from Permission Log, shows tool toggles + collapsible log
- Sidebar: renamed Current Model to Model Choice
- Chat input: allow typing while agent runs (just disable send)
- Chat cursor: fix doubled rectangle (removed unicode char)
- Generic GET/PUT /tabs/settings/:key endpoints for key-value settings
Diffstat (limited to 'packages/frontend/src/lib/components/ChatMessage.svelte')
| -rw-r--r-- | packages/frontend/src/lib/components/ChatMessage.svelte | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/packages/frontend/src/lib/components/ChatMessage.svelte b/packages/frontend/src/lib/components/ChatMessage.svelte index c8b3f6e..4db57c3 100644 --- a/packages/frontend/src/lib/components/ChatMessage.svelte +++ b/packages/frontend/src/lib/components/ChatMessage.svelte @@ -1,5 +1,6 @@ <script lang="ts"> import type { ChatMessage } from "../types.js"; +import { appSettings } from "../settings.svelte.js"; import MarkdownRenderer from "./MarkdownRenderer.svelte"; import ToolCallDisplay from "./ToolCallDisplay.svelte"; @@ -24,7 +25,7 @@ const isSystem = $derived(message.role === "system"); <div class="chat-bubble max-w-[80%] break-words {isUser ? 'chat-bubble-primary' : 'bg-transparent'}"> {#if message.thinking} <div class="collapse collapse-arrow mb-2 p-1"> - <input type="checkbox" /> + <input type="checkbox" checked={appSettings.autoExpandThinking} /> <div class="collapse-title text-sm opacity-60 italic py-0 pl-0 pr-8 min-h-0">Thinking...</div> <div class="collapse-content text-sm opacity-60 italic p-0"> <p class="whitespace-pre-wrap mt-1">{message.thinking}</p> @@ -39,7 +40,7 @@ const isSystem = $derived(message.role === "system"); {/if} {/each} {#if message.isStreaming} - <span class="inline-block w-2 h-4 bg-current animate-pulse ml-0.5 align-middle">▌</span> + <span class="inline-block w-1.5 h-4 bg-current animate-pulse ml-0.5 align-middle rounded-sm"></span> {/if} </div> </div> |
