diff --git a/web/src/hooks/logic-hooks.ts b/web/src/hooks/logic-hooks.ts index 80ecf018a..f72354758 100644 --- a/web/src/hooks/logic-hooks.ts +++ b/web/src/hooks/logic-hooks.ts @@ -557,6 +557,15 @@ export const useSelectDerivedMessages = () => { setDerivedMessages([]); }, [setDerivedMessages]); + const removeAllMessagesExceptFirst = useCallback(() => { + setDerivedMessages((list) => { + if (list.length <= 1) { + return list; + } + return list.slice(0, 1); + }); + }, [setDerivedMessages]); + return { scrollRef, messageContainerRef, @@ -571,6 +580,7 @@ export const useSelectDerivedMessages = () => { removeMessagesAfterCurrentMessage, removeAllMessages, scrollToBottom, + removeAllMessagesExceptFirst, }; }; diff --git a/web/src/pages/next-chats/hooks/use-send-shared-message.ts b/web/src/pages/next-chats/hooks/use-send-shared-message.ts index f4e10129c..fb287ff7d 100644 --- a/web/src/pages/next-chats/hooks/use-send-shared-message.ts +++ b/web/src/pages/next-chats/hooks/use-send-shared-message.ts @@ -60,6 +60,7 @@ export const useSendSharedMessage = () => { scrollRef, messageContainerRef, removeAllMessages, + removeAllMessagesExceptFirst, } = useSelectDerivedMessages(); const [hasError, setHasError] = useState(false); @@ -149,5 +150,6 @@ export const useSendSharedMessage = () => { scrollRef, messageContainerRef, removeAllMessages, + removeAllMessagesExceptFirst, }; }; diff --git a/web/src/pages/next-chats/share/index.tsx b/web/src/pages/next-chats/share/index.tsx index bf0b7a7a8..1b7e53dca 100644 --- a/web/src/pages/next-chats/share/index.tsx +++ b/web/src/pages/next-chats/share/index.tsx @@ -37,7 +37,7 @@ const ChatContainer = () => { stopOutputMessage, scrollRef, messageContainerRef, - removeAllMessages, + removeAllMessagesExceptFirst, } = useSendSharedMessage(); const sendDisabled = useSendButtonDisabled(value); const { data: chatInfo } = useFetchExternalChatInfo(); @@ -63,7 +63,7 @@ const ChatContainer = () => {