@@ -357,7 +365,7 @@
{/if}
-{#if chat.messages.length === 0 || (chat.messages.length === 1 && chat.messages[0].role === 'system')}
+{#if $currentChatId !== 0 && ($currentChatMessages.length === 0 || ($currentChatMessages.length === 1 && $currentChatMessages[0].role === 'system'))}
{/if}
diff --git a/src/lib/ChatRequest.svelte b/src/lib/ChatRequest.svelte
index 6c23fe5..6f653cc 100644
--- a/src/lib/ChatRequest.svelte
+++ b/src/lib/ChatRequest.svelte
@@ -3,12 +3,13 @@
import { mergeProfileFields, prepareSummaryPrompt } from './Profiles.svelte'
import { countMessageTokens, countPromptTokens, getModelMaxTokens } from './Stats.svelte'
import type { Chat, ChatCompletionOpts, ChatSettings, Message, Model, Request, RequestImageGeneration } from './Types.svelte'
- import { deleteMessage, getChatSettingValueNullDefault, insertMessages, saveChatStore, getApiKey, addError } from './Storage.svelte'
+ import { deleteMessage, getChatSettingValueNullDefault, insertMessages, getApiKey, addError, currentChatMessages, getMessages, updateMessages } from './Storage.svelte'
import { scrollToBottom, scrollToMessage } from './Util.svelte'
import { getRequestSettingList, defaultModel } from './Settings.svelte'
import { EventStreamContentType, fetchEventSource } from '@microsoft/fetch-event-source'
import { getApiBase, getEndpointCompletions, getEndpointGenerations } from './ApiUtil.svelte'
import { v4 as uuidv4 } from 'uuid'
+ import { get } from 'svelte/store'
export class ChatRequest {
constructor () {
@@ -317,7 +318,7 @@ export class ChatRequest {
const maxTokens = getModelMaxTokens(model) // max tokens for model
const continueRequest = async () => {
- return await _this.sendRequest(chat.messages, {
+ return await _this.sendRequest(getMessages(chatId), {
...opts,
didSummary: true
}, overrides)
@@ -358,7 +359,7 @@ export class ChatRequest {
promptSize = countPromptTokens(top.concat(rw), model) + countPadding
}
// Run a new request, now with the rolled messages hidden
- return await _this.sendRequest(chat.messages, {
+ return await _this.sendRequest(get(currentChatMessages), {
...opts,
didSummary: true // our "summary" was simply dropping some messages
}, overrides)
@@ -466,11 +467,11 @@ export class ChatRequest {
summaryResponse.summary = summarizedIds
// Disable the messages we summarized so they still show in history
rw.forEach((m, i) => { m.summarized = summaryIds })
- saveChatStore()
+ updateMessages(chatId)
// Re-run request with summarized prompts
_this.updatingMessage = 'Continuing...'
scrollToBottom(true)
- return await _this.sendRequest(chat.messages, {
+ return await _this.sendRequest(get(currentChatMessages), {
...opts,
didSummary: true
},
diff --git a/src/lib/EditMessage.svelte b/src/lib/EditMessage.svelte
index 3e4aadc..58b45ae 100644
--- a/src/lib/EditMessage.svelte
+++ b/src/lib/EditMessage.svelte
@@ -1,7 +1,7 @@
{#each messages as message, i}
{#if !((message.summarized) && $globalStorage.hideSummarized) && !(i === 0 && message.role === 'system' && !chatSettings.useSystemPrompt)}
- {#key message.uuid}