perf: Debounce various Database Endpoints for less Database Queries and better Backend performance (#20982)

* Update KnowledgeSelector.svelte

* Update KnowledgeSelector.svelte

* Update Users.svelte

* Update MemberSelector.svelte

* Update MemberSelector.svelte

* Update Knowledge.svelte

* Update Knowledge.svelte

* Update Notes.svelte

* Update Knowledge.svelte

* Update Prompts.svelte

* Update Tools.svelte

* Update Tools.svelte

* Update Prompts.svelte

* Update Prompts.svelte

* Update Prompts.svelte

* Update Functions.svelte

* Update UserList.svelte

* Update Functions.svelte

* Update Prompts.svelte

* Update UserList.svelte
This commit is contained in:
Classic298
2026-01-28 00:33:23 +04:00
committed by GitHub
parent 57a2024c58
commit 2c12278444
11 changed files with 139 additions and 31 deletions
@@ -1,8 +1,7 @@
<script lang="ts">
import dayjs from 'dayjs';
import { DropdownMenu } from 'bits-ui';
import { onMount, getContext, createEventDispatcher } from 'svelte';
import { onMount, onDestroy, getContext, createEventDispatcher } from 'svelte';
import { searchNotes } from '$lib/apis/notes';
import { searchKnowledgeBases, searchKnowledgeFiles } from '$lib/apis/knowledge';
@@ -26,6 +25,7 @@
let show = false;
let query = '';
let searchDebounceTimer: ReturnType<typeof setTimeout>;
let noteItems = [];
let knowledgeItems = [];
@@ -35,10 +35,17 @@
$: items = [...noteItems, ...knowledgeItems, ...fileItems];
$: if (query !== null) {
getItems();
$: if (query !== undefined) {
clearTimeout(searchDebounceTimer);
searchDebounceTimer = setTimeout(() => {
getItems();
}, 300);
}
onDestroy(() => {
clearTimeout(searchDebounceTimer);
});
const getItems = () => {
getNoteItems();
getKnowledgeItems();