From a4368cf26e60f4f0a7384c4feef7cfe40350bdb8 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Wed, 26 Feb 2025 09:42:31 +0700 Subject: [PATCH] enhancement: improve chat thread (#4736) * enhancement: improve chat thread * chore: fix linter * fix: linter * chore: fix linter * fix: chore failed test --- web/containers/Providers/ModelHandler.tsx | 2 + .../ThreadCenterPanel/TextMessage/index.tsx | 41 ++++++++----------- web/utils/datetime.test.ts | 1 - web/utils/datetime.ts | 2 - 4 files changed, 20 insertions(+), 26 deletions(-) diff --git a/web/containers/Providers/ModelHandler.tsx b/web/containers/Providers/ModelHandler.tsx index 42ef8afbc..786dbd4f0 100644 --- a/web/containers/Providers/ModelHandler.tsx +++ b/web/containers/Providers/ModelHandler.tsx @@ -233,6 +233,7 @@ export default function ModelHandler() { tokenSpeed: averageTokenSpeed, tokenCount: totalTokenCount, message: message.id, + model: activeModelRef.current?.name, } }) return @@ -285,6 +286,7 @@ export default function ModelHandler() { message.metadata = { ...message.metadata, token_speed: tokenSpeedRef.current?.tokenSpeed, + model: activeModelRef.current?.name, } if (message.status === MessageStatus.Error) { diff --git a/web/screens/Thread/ThreadCenterPanel/TextMessage/index.tsx b/web/screens/Thread/ThreadCenterPanel/TextMessage/index.tsx index 94d923906..684f1b0e4 100644 --- a/web/screens/Thread/ThreadCenterPanel/TextMessage/index.tsx +++ b/web/screens/Thread/ThreadCenterPanel/TextMessage/index.tsx @@ -24,6 +24,7 @@ import { tokenSpeedAtom, } from '@/helpers/atoms/ChatMessage.atom' +import { selectedModelAtom } from '@/helpers/atoms/Model.atom' import { chatWidthAtom } from '@/helpers/atoms/Setting.atom' const MessageContainer: React.FC< @@ -35,6 +36,7 @@ const MessageContainer: React.FC< const activeAssistant = useAtomValue(activeAssistantAtom) const tokenSpeed = useAtomValue(tokenSpeedAtom) const chatWidth = useAtomValue(chatWidthAtom) + const selectedModel = useAtomValue(selectedModelAtom) const text = useMemo( () => @@ -74,27 +76,11 @@ const MessageContainer: React.FC< >
{!isUser && !isSystem && } - {isUser && ( -
- - - -
- )}
- {isUser - ? props.role - : (activeAssistant?.assistant_name ?? props.role)} + {!isUser && ( + <> + {props.metadata && 'model' in props.metadata + ? (props.metadata?.model as string) + : props.isCurrentMessage + ? selectedModel?.name + : (activeAssistant?.assistant_name ?? props.role)} + + )}
+

{props.created_at && displayDate(props.created_at ?? Date.now() / 1000)} @@ -116,9 +109,11 @@ const MessageContainer: React.FC<