Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
2b016adc
Commit
2b016adc
authored
Mar 06, 2024
by
Timothy J. Baek
Browse files
revert
parent
a9d74b66
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
17 deletions
+71
-17
src/lib/components/chat/Messages.svelte
src/lib/components/chat/Messages.svelte
+71
-17
No files found.
src/lib/components/chat/Messages.svelte
View file @
2b016adc
...
@@ -224,25 +224,79 @@
...
@@ -224,25 +224,79 @@
};
};
const messageDeleteHandler = async (messageId) => {
const messageDeleteHandler = async (messageId) => {
const message = history.messages[messageId];
const messageToDelete = history.messages[messageId];
const parentId = message.parentId;
const messageParentId = messageToDelete.parentId;
const childrenIds = message.childrenIds ?? [];
const messageChildrenIds = messageToDelete.childrenIds ?? [];
const grandchildrenIds = [];
const hasSibling = messageChildrenIds.some(
(childId) => history.messages[childId]?.childrenIds?.length > 0
// Iterate through childrenIds to find grandchildrenIds
for (const childId of childrenIds) {
const childMessage = history.messages[childId];
const grandChildrenIds = childMessage.childrenIds ?? [];
grandchildrenIds.push(...grandChildrenIds);
}
history.messages[parentId].childrenIds.push(...grandchildrenIds);
history.messages[parentId].childrenIds = history.messages[parentId].childrenIds.filter(
(id) => id !== messageId
);
);
messageChildrenIds.forEach((childId) => {
await updateChatById(localStorage.token, chatId, { messages, history });
const child = history.messages[childId];
if (child && child.childrenIds) {
if (child.childrenIds.length === 0 && !hasSibling) {
// if last prompt/response pair
history.messages[messageParentId].childrenIds = [];
history.currentId = messageParentId;
} else {
child.childrenIds.forEach((grandChildId) => {
if (history.messages[grandChildId]) {
history.messages[grandChildId].parentId = messageParentId;
history.messages[messageParentId].childrenIds.push(grandChildId);
}
});
}
}
// remove response
history.messages[messageParentId].childrenIds = history.messages[
messageParentId
].childrenIds.filter((id) => id !== childId);
});
// remove prompt
history.messages[messageParentId].childrenIds = history.messages[
messageParentId
].childrenIds.filter((id) => id !== messageId);
await updateChatById(localStorage.token, chatId, {
messages: messages,
history: history
});
};
};
// const messageDeleteHandler = async (messageId) => {
// const message = history.messages[messageId];
// const parentId = message.parentId;
// const childrenIds = message.childrenIds ?? [];
// const grandchildrenIds = [];
// // Iterate through childrenIds to find grandchildrenIds
// for (const childId of childrenIds) {
// const childMessage = history.messages[childId];
// const grandChildrenIds = childMessage.childrenIds ?? [];
// for (const grandchildId of grandchildrenIds) {
// const childMessage = history.messages[grandchildId];
// childMessage.parentId = parentId;
// }
// grandchildrenIds.push(...grandChildrenIds);
// }
// history.messages[parentId].childrenIds.push(...grandchildrenIds);
// history.messages[parentId].childrenIds = history.messages[parentId].childrenIds.filter(
// (id) => id !== messageId
// );
// // Select latest message
// let currentMessageId = grandchildrenIds.at(-1);
// if (currentMessageId) {
// let messageChildrenIds = history.messages[currentMessageId].childrenIds;
// while (messageChildrenIds.length !== 0) {
// currentMessageId = messageChildrenIds.at(-1);
// messageChildrenIds = history.messages[currentMessageId].childrenIds;
// }
// history.currentId = currentMessageId;
// }
// await updateChatById(localStorage.token, chatId, { messages, history });
// };
</script>
</script>
{#if messages.length == 0}
{#if messages.length == 0}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment