From 2720327aa1f8abfb736033df34ac47ecc5fe52fa Mon Sep 17 00:00:00 2001 From: Danny Avila Date: Fri, 26 Apr 2024 10:27:49 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=A9=E2=80=8D=F0=9F=92=BB=20fix:=20Mino?= =?UTF-8?q?r=20UI=20fixes=20(#2548)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(useMessageHelpers): define iconEndpoint * fix: rely on Assistant Switcher effect for defining `assistant_id`, ensure ChatRoute `newConversation` only fires once --- client/src/components/SidePanel/AssistantSwitcher.tsx | 2 ++ client/src/hooks/Messages/useMessageHelpers.ts | 3 ++- client/src/routes/ChatRoute.tsx | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/client/src/components/SidePanel/AssistantSwitcher.tsx b/client/src/components/SidePanel/AssistantSwitcher.tsx index f36d14a2e2..60bdd15bfb 100644 --- a/client/src/components/SidePanel/AssistantSwitcher.tsx +++ b/client/src/components/SidePanel/AssistantSwitcher.tsx @@ -27,6 +27,7 @@ export default function AssistantSwitcher({ isCollapsed }: SwitcherProps) { const assistant_id = localStorage.getItem(`assistant_id__${index}`) ?? assistants[0]?.id ?? ''; const assistant = assistantMap?.[assistant_id]; + if (!assistant) { return; } @@ -34,6 +35,7 @@ export default function AssistantSwitcher({ isCollapsed }: SwitcherProps) { if (endpoint !== EModelEndpoint.assistants) { return; } + setOption('model')(assistant.model); setOption('assistant_id')(assistant_id); } diff --git a/client/src/hooks/Messages/useMessageHelpers.ts b/client/src/hooks/Messages/useMessageHelpers.ts index 45378b3c5b..5d22d183d2 100644 --- a/client/src/hooks/Messages/useMessageHelpers.ts +++ b/client/src/hooks/Messages/useMessageHelpers.ts @@ -62,11 +62,12 @@ export default function useMessageHelpers(props: TMessageProps) { const assistant = conversation?.endpoint === EModelEndpoint.assistants && assistantMap?.[message?.model ?? '']; + const iconEndpoint = message?.endpoint ?? conversation?.endpoint; const icon = Icon({ ...conversation, ...(message as TMessage), iconURL: !assistant - ? getEndpointField(endpointsConfig, conversation?.endpoint, 'iconURL') + ? getEndpointField(endpointsConfig, iconEndpoint, 'iconURL') : (assistant?.metadata?.avatar as string | undefined) ?? '', model: message?.model ?? conversation?.model, assistantName: assistant ? (assistant.name as string | undefined) : '', diff --git a/client/src/routes/ChatRoute.tsx b/client/src/routes/ChatRoute.tsx index 9016d86121..622c91bc67 100644 --- a/client/src/routes/ChatRoute.tsx +++ b/client/src/routes/ChatRoute.tsx @@ -58,7 +58,7 @@ export default function ChatRoute() { modelsData: modelsQuery.data, template: conversation ? conversation : undefined, }); - hasSetConversation.current = !!assistants; + hasSetConversation.current = true; } else if ( initialConvoQuery.data && endpointsQuery.data && @@ -73,7 +73,7 @@ export default function ChatRoute() { modelsData: modelsQuery.data, keepLatestMessage: true, }); - hasSetConversation.current = !!assistants; + hasSetConversation.current = true; } else if ( !hasSetConversation.current && !modelsQuery.data?.initial &&