From c2b3cec3bb424b1c9f399d481a501f7429a29340 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Sun, 7 Apr 2024 09:48:03 +0900 Subject: [PATCH] Make page load chunk by 10 for performance and add id checking --- src/lib/ChatScreens/DefaultChatScreen.svelte | 22 +++++++++++++++----- src/ts/storage/database.ts | 1 + 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/lib/ChatScreens/DefaultChatScreen.svelte b/src/lib/ChatScreens/DefaultChatScreen.svelte index 86bca283..d4a238c2 100644 --- a/src/lib/ChatScreens/DefaultChatScreen.svelte +++ b/src/lib/ChatScreens/DefaultChatScreen.svelte @@ -29,7 +29,8 @@ let messageInput:string = '' let messageInputTranslate:string = '' let openMenu = false - let loadPages = 30 + let loadPages = 10 + let lastLoadedChatId = '' let autoMode = false let rerolls:Message[][] = [] let rerollid = -1 @@ -48,6 +49,17 @@ return sendMain(true) } + function getLoadPages(){ + if(!$CurrentChat.id){ + $CurrentChat.id = v4() + } + if($CurrentChat.id !== lastLoadedChatId){ + lastLoadedChatId = $CurrentChat.id + loadPages = 10 + } + return loadPages + } + async function sendMain(continueResponse:boolean) { let selectedChar = $selectedCharID if($doingChat){ @@ -374,7 +386,7 @@ mergedCanvas.remove(); } alertNormal(language.screenshotSaved) - loadPages = 15 + loadPages = 10 } catch (error) { console.error(error) alertError("Error while taking screenshot") @@ -397,7 +409,7 @@ //@ts-ignore const scrolled = (e.target.scrollHeight - e.target.clientHeight + e.target.scrollTop) if(scrolled < 100 && $CurrentChat.message.length > loadPages){ - loadPages += 15 + loadPages += 10 } }}>
@@ -517,7 +529,7 @@ )} {send}/> {/if} - {#each messageForm($CurrentChat.message, loadPages) as chat, i} + {#each messageForm($CurrentChat.message, getLoadPages()) as chat, i} {#if chat.role === 'char'} {#if $CurrentCharacter.type !== 'group'} {/if} {/each} - {#if $CurrentChat.message.length <= loadPages} + {#if $CurrentChat.message.length <= getLoadPages()} {#if $CurrentCharacter.type !== 'group'}