diff --git a/src/renderer/src/pages/home/Chat.tsx b/src/renderer/src/pages/home/Chat.tsx index 2639a06387..ac8483fc73 100644 --- a/src/renderer/src/pages/home/Chat.tsx +++ b/src/renderer/src/pages/home/Chat.tsx @@ -57,28 +57,19 @@ const Chat: FC = (props) => { const contentSearchFilter: NodeFilter = { acceptNode(node) { - if (node.parentNode) { - let parentNode: HTMLElement | null = node.parentNode as HTMLElement - while (parentNode?.parentNode) { - if (parentNode.classList.contains('MessageFooter')) { - return NodeFilter.FILTER_REJECT - } + const container = node.parentElement?.closest('.message-content-container') + if (!container) return NodeFilter.FILTER_REJECT - if (filterIncludeUser) { - if (parentNode?.classList.contains('message-content-container')) { - return NodeFilter.FILTER_ACCEPT - } - } else { - if (parentNode?.classList.contains('message-content-container-assistant')) { - return NodeFilter.FILTER_ACCEPT - } - } - parentNode = parentNode.parentNode as HTMLElement - } - return NodeFilter.FILTER_REJECT - } else { - return NodeFilter.FILTER_REJECT + const message = container.closest('.message') + if (!message) return NodeFilter.FILTER_REJECT + + if (filterIncludeUser) { + return NodeFilter.FILTER_ACCEPT } + if (message.classList.contains('message-assistant')) { + return NodeFilter.FILTER_ACCEPT + } + return NodeFilter.FILTER_REJECT } } diff --git a/src/renderer/src/pages/home/Messages/Message.tsx b/src/renderer/src/pages/home/Messages/Message.tsx index f5de966f0d..b171e65bf7 100644 --- a/src/renderer/src/pages/home/Messages/Message.tsx +++ b/src/renderer/src/pages/home/Messages/Message.tsx @@ -156,13 +156,7 @@ const MessageItem: FC = ({ {!isEditing && ( <>