diff --git a/src/lib/apis/terminal/browser.ts b/src/lib/apis/terminal/browser.ts index be831effa4..2febed33e8 100644 --- a/src/lib/apis/terminal/browser.ts +++ b/src/lib/apis/terminal/browser.ts @@ -24,7 +24,10 @@ export const updateBrowserSession = ( connection: TerminalConnection, chatId: string | null, id: string, - fields: Partial> + fields: Partial> & { + active?: boolean; + chat_id?: string; + } ) => terminalRequest( connection, diff --git a/src/lib/components/chat/ChatTabs/Browser.svelte b/src/lib/components/chat/ChatTabs/Browser.svelte index 9519e4f338..e926fed6c5 100644 --- a/src/lib/components/chat/ChatTabs/Browser.svelte +++ b/src/lib/components/chat/ChatTabs/Browser.svelte @@ -40,6 +40,19 @@ let chromeForward = false; let frameReady = false; $: viewUrl = session && sessionConnection ? browserViewUrl(sessionConnection, session) : ''; + $: if (session && sessionConnection) { + void updateBrowserSession(sessionConnection, sessionChatId, session.id, { active }).catch( + () => {} + ); + } + $: if (session && sessionConnection && chatId && !sessionChatId) { + const savedChatId = chatId; + void updateBrowserSession(sessionConnection, sessionChatId, session.id, { + chat_id: savedChatId + }) + .then(() => (sessionChatId = savedChatId)) + .catch(() => {}); + } const persist = (url: string, title: string) => { if (session && sessionConnection) void updateBrowserSession(sessionConnection, sessionChatId, session.id, { url, title }).catch(