From 7b1337aee7cc368c9c35b2e643d1c940e14aa155 Mon Sep 17 00:00:00 2001 From: NamH Date: Mon, 29 Jan 2024 14:31:17 +0700 Subject: [PATCH] fix: preserve focused thread when navigating in jan app (#1814) * fix: preserve focused thread when navigating in jan app Signed-off-by: James * Update web/hooks/useThreads.ts Co-authored-by: Louis --------- Signed-off-by: James Co-authored-by: James Co-authored-by: Louis --- web/hooks/useThreads.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/hooks/useThreads.ts b/web/hooks/useThreads.ts index b79cfea92..44be485fe 100644 --- a/web/hooks/useThreads.ts +++ b/web/hooks/useThreads.ts @@ -5,13 +5,14 @@ import { ConversationalExtension, } from '@janhq/core' -import { useAtom } from 'jotai' +import { useAtom, useAtomValue } from 'jotai' import useSetActiveThread from './useSetActiveThread' import { extensionManager } from '@/extension/ExtensionManager' import { ModelParams, + activeThreadAtom, threadModelParamsAtom, threadStatesAtom, threadsAtom, @@ -23,6 +24,7 @@ const useThreads = () => { const [threadModelRuntimeParams, setThreadModelRuntimeParams] = useAtom( threadModelParamsAtom ) + const activeThread = useAtomValue(activeThreadAtom) const { setActiveThread } = useSetActiveThread() const getThreads = async () => { @@ -84,7 +86,7 @@ const useThreads = () => { setThreadStates(localThreadStates) setThreads(allThreads) setThreadModelRuntimeParams(threadModelParams) - if (allThreads.length > 0) { + if (allThreads.length && !activeThread) { setActiveThread(allThreads[0]) } } catch (error) {