From 9ac2b70df3ba9e8613724532386ddf5706e6842c Mon Sep 17 00:00:00 2001 From: one Date: Thu, 17 Jul 2025 09:28:13 +0800 Subject: [PATCH] fix: repect multi-model style on model mentioning (#8204) --- .../src/pages/home/Messages/MessageGroup.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/renderer/src/pages/home/Messages/MessageGroup.tsx b/src/renderer/src/pages/home/Messages/MessageGroup.tsx index 6e0da46717..30697712fe 100644 --- a/src/renderer/src/pages/home/Messages/MessageGroup.tsx +++ b/src/renderer/src/pages/home/Messages/MessageGroup.tsx @@ -25,13 +25,18 @@ const MessageGroup = ({ messages, topic, registerMessageElement }: Props) => { const { editMessage } = useMessageOperations(topic) const { multiModelMessageStyle: multiModelMessageStyleSetting, gridColumns, gridPopoverTrigger } = useSettings() const { isMultiSelectMode } = useChatContext(topic) + const messageLength = messages.length - const [multiModelMessageStyle, setMultiModelMessageStyle] = useState( - // 对于单模型消息,采用简单的样式,避免 overflow 影响内部的 sticky 效果 - messages.length < 2 ? 'fold' : messages[0].multiModelMessageStyle || multiModelMessageStyleSetting + const [_multiModelMessageStyle, setMultiModelMessageStyle] = useState( + messages[0].multiModelMessageStyle || multiModelMessageStyleSetting + ) + + // 对于单模型消息,采用简单的样式,避免 overflow 影响内部的 sticky 效果 + const multiModelMessageStyle = useMemo( + () => (messageLength < 2 ? 'fold' : _multiModelMessageStyle), + [_multiModelMessageStyle, messageLength] ) - const messageLength = messages.length const prevMessageLengthRef = useRef(messageLength) const [selectedIndex, setSelectedIndex] = useState(messageLength - 1)