Fix errors for RangeErrors, Fix for accessing undefined objects in Chat.svelte

This commit is contained in:
Vojtěch Šiler 2025-01-07 08:54:42 +01:00
parent 1dfb479d36
commit 70a6a0d9e8
2 changed files with 21 additions and 17 deletions

View File

@ -839,6 +839,7 @@
if (res !== null && res.messages) { if (res !== null && res.messages) {
// Update chat history with the new messages // Update chat history with the new messages
for (const message of res.messages) { for (const message of res.messages) {
if (message && message.id) { // Add null check for message and message.id
history.messages[message.id] = { history.messages[message.id] = {
...history.messages[message.id], ...history.messages[message.id],
...(history.messages[message.id].content !== message.content ...(history.messages[message.id].content !== message.content
@ -848,6 +849,7 @@
}; };
} }
} }
}
await tick(); await tick();
@ -1348,7 +1350,7 @@
history.currentId = responseMessageId; history.currentId = responseMessageId;
// Append messageId to childrenIds of parent message // Append messageId to childrenIds of parent message
if (parentId !== null) { if (parentId !== null && history.messages[parentId]) { // Add null check before accessing childrenIds
history.messages[parentId].childrenIds = [ history.messages[parentId].childrenIds = [
...history.messages[parentId].childrenIds, ...history.messages[parentId].childrenIds,
responseMessageId responseMessageId
@ -1526,7 +1528,7 @@
: undefined : undefined
}, },
files: files.length > 0 ? files : undefined, files: (files?.length ?? 0) > 0 ? files : undefined,
tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined, tool_ids: selectedToolIds.length > 0 ? selectedToolIds : undefined,
features: { features: {
web_search: webSearchEnabled web_search: webSearchEnabled

View File

@ -158,6 +158,7 @@ export const AIAutocompletion = Extension.create({
if ( if (
view.state.selection.$head.pos === view.state.selection.$head.end() view.state.selection.$head.pos === view.state.selection.$head.end()
) { ) {
if (view.state === newState) {
view.dispatch( view.dispatch(
newState.tr.setNodeMarkup(currentPos, null, { newState.tr.setNodeMarkup(currentPos, null, {
...newNode.attrs, ...newNode.attrs,
@ -168,6 +169,7 @@ export const AIAutocompletion = Extension.create({
); );
} }
} }
}
}) })
.finally(() => { .finally(() => {
loading = false; loading = false;