diff --git a/web-app/src/containers/ThreadContent.tsx b/web-app/src/containers/ThreadContent.tsx index 07e3593f9..3089a3014 100644 --- a/web-app/src/containers/ThreadContent.tsx +++ b/web-app/src/containers/ThreadContent.tsx @@ -125,10 +125,25 @@ export const ThreadContent = memo( deleteMessage(toSendMessage.thread_id, toSendMessage.id ?? '') toSendMessage = threadMessages.pop() } - if (toSendMessage) + if (toSendMessage) { + deleteMessage(toSendMessage.thread_id, toSendMessage.id ?? '') sendMessage(toSendMessage.content?.[0]?.text?.value || '') + } }, [deleteMessage, getMessages, item, sendMessage]) + const removeMessage = useCallback(() => { + if (item.role === 'assistant' || item.role === 'tool') { + const threadMessages = getMessages(item.thread_id) + let toSendMessage = threadMessages.pop() + while (toSendMessage && toSendMessage?.role !== 'user') { + deleteMessage(toSendMessage.thread_id, toSendMessage.id ?? '') + toSendMessage = threadMessages.pop() + } + } else { + deleteMessage(item.thread_id, item.id) + } + }, [deleteMessage, getMessages, item]) + const editMessage = useCallback( (messageId: string) => { const threadMessages = getMessages(item.thread_id) @@ -302,7 +317,7 @@ export const ThreadContent = memo(