Make page load chunk by 10 for performance and add id checking

This commit is contained in:
kwaroran
2024-04-07 09:48:03 +09:00
parent 1b868ca579
commit c2b3cec3bb
2 changed files with 18 additions and 5 deletions

View File

@@ -29,7 +29,8 @@
let messageInput:string = '' let messageInput:string = ''
let messageInputTranslate:string = '' let messageInputTranslate:string = ''
let openMenu = false let openMenu = false
let loadPages = 30 let loadPages = 10
let lastLoadedChatId = ''
let autoMode = false let autoMode = false
let rerolls:Message[][] = [] let rerolls:Message[][] = []
let rerollid = -1 let rerollid = -1
@@ -48,6 +49,17 @@
return sendMain(true) 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) { async function sendMain(continueResponse:boolean) {
let selectedChar = $selectedCharID let selectedChar = $selectedCharID
if($doingChat){ if($doingChat){
@@ -374,7 +386,7 @@
mergedCanvas.remove(); mergedCanvas.remove();
} }
alertNormal(language.screenshotSaved) alertNormal(language.screenshotSaved)
loadPages = 15 loadPages = 10
} catch (error) { } catch (error) {
console.error(error) console.error(error)
alertError("Error while taking screenshot") alertError("Error while taking screenshot")
@@ -397,7 +409,7 @@
//@ts-ignore //@ts-ignore
const scrolled = (e.target.scrollHeight - e.target.clientHeight + e.target.scrollTop) const scrolled = (e.target.scrollHeight - e.target.clientHeight + e.target.scrollTop)
if(scrolled < 100 && $CurrentChat.message.length > loadPages){ if(scrolled < 100 && $CurrentChat.message.length > loadPages){
loadPages += 15 loadPages += 10
} }
}}> }}>
<div class="flex items-end mt-2 mb-2 w-full"> <div class="flex items-end mt-2 mb-2 w-full">
@@ -517,7 +529,7 @@
)} {send}/> )} {send}/>
{/if} {/if}
{#each messageForm($CurrentChat.message, loadPages) as chat, i} {#each messageForm($CurrentChat.message, getLoadPages()) as chat, i}
{#if chat.role === 'char'} {#if chat.role === 'char'}
{#if $CurrentCharacter.type !== 'group'} {#if $CurrentCharacter.type !== 'group'}
<Chat <Chat
@@ -561,7 +573,7 @@
/> />
{/if} {/if}
{/each} {/each}
{#if $CurrentChat.message.length <= loadPages} {#if $CurrentChat.message.length <= getLoadPages()}
{#if $CurrentCharacter.type !== 'group'} {#if $CurrentCharacter.type !== 'group'}
<Chat <Chat
character={$CurrentSimpleCharacter} character={$CurrentSimpleCharacter}

View File

@@ -873,6 +873,7 @@ export interface Chat{
isStreaming?:boolean isStreaming?:boolean
scriptstate?:{[key:string]:string|number|boolean} scriptstate?:{[key:string]:string|number|boolean}
modules?:string[] modules?:string[]
id?:string
} }
export interface Message{ export interface Message{