Commit c42ac39d authored by Danny Liu's avatar Danny Liu
Browse files

Recursively set delete=true flag for all children messages

parent 7c4d818f
......@@ -223,15 +223,18 @@
}, 100);
};
const deleteMessagePair = async (messageId) => {
history.messages[messageId].deleted = true;
history.messages[history.messages[messageId].childrenIds[0]].deleted = true;
const deleteMessageAndDescendants = async (messageId: string) => {
if (history.messages[messageId]) {
history.messages[messageId].deleted = true;
const responseId = history.messages[messageId].childrenIds[0];
if (history.messages[responseId].childrenIds.length === 0) {
await cancelChatCompletion(localStorage.token, chatId);
for (const childId of history.messages[messageId].childrenIds) {
await deleteMessageAndDescendants(childId);
}
}
};
const triggerDeleteMessageRecursive = async (messageId: string) => {
await deleteMessageAndDescendants(messageId);
await updateChatById(localStorage.token, chatId, { history });
await chats.set(await getChatList(localStorage.token));
};
......@@ -252,7 +255,7 @@
>
{#if message.role === 'user'}
<UserMessage
on:delete={() => deleteMessagePair(message.id)}
on:delete={() => triggerDeleteMessageRecursive(message.id)}
user={$user}
{message}
isFirstMessage={messageIdx === 0}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment