Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
9fccf72b
Unverified
Commit
9fccf72b
authored
Feb 07, 2024
by
Timothy Jaeryang Baek
Committed by
GitHub
Feb 07, 2024
Browse files
Merge pull request #675 from HenryHolloway/ollama-webui-full-search
feat: full-context search
parents
47203a70
5beff6d5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
11 deletions
+28
-11
src/lib/components/layout/Sidebar.svelte
src/lib/components/layout/Sidebar.svelte
+28
-11
No files found.
src/lib/components/layout/Sidebar.svelte
View file @
9fccf72b
...
...
@@ -11,6 +11,7 @@
import {
deleteChatById,
getChatList,
getChatById,
getChatListByTagName,
updateChatById
} from '$lib/apis/chats';
...
...
@@ -31,16 +32,24 @@
if (window.innerWidth > 1280) {
show = true;
}
await chats.set(await getChatList(localStorage.token));
tags.subscribe(async (value) => {
if (value.length === 0) {
await chats.set(await getChatList(localStorage.token));
}
});
});
// Helper function to fetch and add chat content to each chat
const enrichChatsWithContent = async (chatList) => {
const enrichedChats = await Promise.all(
chatList.map(async (chat) => {
const chatDetails = await getChatById(localStorage.token, chat.id).catch((error) => null); // Handle error or non-existent chat gracefully
if (chatDetails) {
chat.chat = chatDetails.chat; // Assuming chatDetails.chat contains the chat content
}
return chat;
})
);
await chats.set(enrichedChats);
};
const loadChat = async (id) => {
goto(`/c/${id}`);
};
...
...
@@ -271,6 +280,9 @@
class="w-full rounded-r py-1.5 pl-2.5 pr-4 text-sm text-gray-300 bg-gray-950 outline-none"
placeholder="Search"
bind:value={search}
on:focus={() => {
enrichChatsWithContent($chats);
}}
/>
<!-- <div class="self-center pr-3 py-2 bg-gray-900">
...
...
@@ -323,11 +335,16 @@
let title = chat.title.toLowerCase();
const query = search.toLowerCase();
if (title.includes(query)) {
return true;
} else {
return false;
let contentMatches = false;
// Access the messages within chat.chat.messages
if (chat.chat && chat.chat.messages && Array.isArray(chat.chat.messages)) {
contentMatches = chat.chat.messages.some((message) => {
// Check if message.content exists and includes the search query
return message.content && message.content.toLowerCase().includes(query);
});
}
return title.includes(query) || contentMatches;
}
}) as chat, i}
<div class=" w-full pr-2 relative">
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment