- { - autoScroll.enable(); - autoScroll.scrollToBottom(); - }} - /> +
+ { + autoScroll.enable(); + autoScroll.scrollToBottom(); + }} + /> -
- +
+ - {#if hasPropsError} -
- - - - Server unavailable - - - {serverError()} - + {#if hasPropsError} +
+ + + + Server unavailable + + + {serverError()} + +
+ {/if} + +
+ chatStore.stopGeneration()} + onSystemPromptAdd={handleSystemPromptAdd} + showHelperText={false} + bind:uploadedFiles + />
- {/if} - -
- chatStore.stopGeneration()} - onSystemPromptAdd={handleSystemPromptAdd} - showHelperText={false} - bind:uploadedFiles - />
diff --git a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte index 2730d5e73..0a920be6f 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte @@ -1,16 +1,11 @@
chatSettingsDialog.open()} class="rounded-full backdrop-blur-lg" >
- - (settingsOpen = open)} /> diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index 44d59e2b3..995dd1fdd 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -296,6 +296,11 @@ label: 'Disable reasoning content parsing', type: SettingsFieldType.CHECKBOX }, + { + key: SETTINGS_KEYS.EXCLUDE_REASONING_FROM_CONTEXT, + label: 'Exclude reasoning from context', + type: SettingsFieldType.CHECKBOX + }, { key: SETTINGS_KEYS.SHOW_RAW_OUTPUT_SWITCH, label: 'Enable raw output toggle', diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte index b2c0baebb..1d05ea727 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte @@ -1,13 +1,18 @@ - +

llama.cpp UI

@@ -118,7 +147,7 @@
- + {#if (filteredConversations.length > 0 && isSearchModeActive) || !isSearchModeActive} {isSearchModeActive ? 'Search results' : 'Conversations'} @@ -127,15 +156,17 @@ - {#each filteredConversations as conversation (conversation.id)} - + {#each conversationTree as { conversation, depth } (conversation.id)} + {/each} - {#if filteredConversations.length === 0} + {#if conversationTree.length === 0}

{searchQuery.length > 0 @@ -177,35 +208,40 @@ showDeleteDialog = false; selectedConversation = null; }} -/> +> + {#if selectedConversationHasDescendants} +

+ - - - - Edit Conversation Name - - { - if (e.key === 'Enter') { - e.preventDefault(); - handleConfirmEdit(); - } - }} - placeholder="Enter a new name" - type="text" - bind:value={editedName} - /> - - - - { - showEditDialog = false; - selectedConversation = null; - }}>Cancel - Save - - - + +
+ {/if} + + + { + showEditDialog = false; + selectedConversation = null; + }} + onKeydown={(e) => { + if (e.key === 'Enter') { + e.preventDefault(); + e.stopImmediatePropagation(); + handleConfirmEdit(); + } + }} +> + + diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarActions.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarActions.svelte index 30d1f9d4b..e0d379f6d 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarActions.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarActions.svelte @@ -3,6 +3,9 @@ import { KeyboardShortcutInfo } from '$lib/components/app'; import { Button } from '$lib/components/ui/button'; import { Input } from '$lib/components/ui/input'; + import { McpLogo } from '$lib/components/app'; + import { SETTINGS_SECTION_TITLES } from '$lib/constants'; + import { getChatSettingsDialogContext } from '$lib/contexts'; interface Props { handleMobileSidebarItemClick: () => void; @@ -18,6 +21,8 @@ let searchInput: HTMLInputElement | null = $state(null); + const chatSettingsDialog = getChatSettingsDialogContext(); + function handleSearchModeDeactivate() { isSearchModeActive = false; searchQuery = ''; @@ -30,7 +35,7 @@ }); -
+
{#if isSearchModeActive}
@@ -50,13 +55,14 @@
{:else} + + {/if}
diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarConversationItem.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarConversationItem.svelte index 5c48909cd..e22cb4f82 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarConversationItem.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarConversationItem.svelte @@ -1,13 +1,23 @@