Skip to content

Commit ceeda06

Browse files
authored
Merge pull request #53 from open-webui/main
0.4.8
2 parents 6f1c04b + 574599d commit ceeda06

5 files changed

Lines changed: 15 additions & 36 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.4.8] - 2026-06-15
9+
10+
### Fixed
11+
12+
- 💬 **Clicking chats now opens them instantly.** Tapping a chat in the sidebar, clicking "View Chat" on an automation run, or following a notification toast now takes you straight to the conversation. Previously these actions could sometimes get stuck or fail to switch to the right chat.
13+
814
## [0.4.7] - 2026-06-15
915

1016
### Fixed

cptr/frontend/src/lib/components/Sidebar.svelte

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@
1111
appVersion,
1212
showChangelog,
1313
showSearch,
14-
openChatTab,
15-
setActiveTab
1614
} from '$lib/stores';
17-
import { get } from 'svelte/store';
1815
import Sortable from 'sortablejs';
1916
import Icon from './Icon.svelte';
2017
import KeyPill from './KeyPill.svelte';
@@ -106,23 +103,7 @@
106103
}
107104
108105
function handleShowMoreChats(wsPath: string) {
109-
goto(`/?workspace=${encodeURIComponent(wsPath)}`);
110-
111-
const ws = get(currentWorkspace);
112-
if (ws) {
113-
for (const group of ws.groups) {
114-
const existing = group.tabs.find(
115-
(t) => t.type === 'chat' && (t.path?.startsWith('new-') || t.path?.startsWith('pending-'))
116-
);
117-
if (existing) {
118-
setActiveTab(existing.id, group.id);
119-
if (typeof window !== 'undefined' && window.innerWidth < 768) sidebarOpen.set(false);
120-
return;
121-
}
122-
}
123-
}
124-
125-
openChatTab();
106+
goto(`/?workspace=${encodeURIComponent(wsPath)}&chatId`);
126107
if (typeof window !== 'undefined' && window.innerWidth < 768) {
127108
sidebarOpen.set(false);
128109
}

cptr/frontend/src/lib/components/automations/AutomationsPanel.svelte

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import ToggleSwitch from '../common/ToggleSwitch.svelte';
99
import Spinner from '../common/Spinner.svelte';
1010
import AutomationModal from './AutomationModal.svelte';
11-
import { openChatTab, sidebarOpen } from '$lib/stores';
11+
import { sidebarOpen } from '$lib/stores';
1212
import {
1313
getAutomations,
1414
toggleAutomation,
@@ -335,10 +335,8 @@
335335
class="text-[11px] text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors duration-75"
336336
onclick={() => {
337337
const ws = detail?.workspace;
338-
if (ws) {
339-
goto(`/?workspace=${encodeURIComponent(ws)}`);
340-
}
341-
setTimeout(() => openChatTab(run.chat_id!), 300);
338+
const wsParam = ws ? `workspace=${encodeURIComponent(ws)}&` : '';
339+
goto(`/?${wsParam}chatId=${encodeURIComponent(run.chat_id!)}`);
342340
}}
343341
>
344342
{$t('automations.viewChat')}

cptr/frontend/src/lib/stores/chat.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { writable, get } from 'svelte/store';
55
import { toast } from 'svelte-sonner';
66
import { fetchJSON } from '$lib/apis';
77
import { socketStore } from '$lib/stores/socket.svelte';
8-
import { activeTab, openChatTab } from '$lib/stores';
8+
import { activeTab } from '$lib/stores';
99

1010
export const chatEnabled = writable<boolean>(false);
1111

@@ -103,15 +103,9 @@ export function bindGlobalChatListener() {
103103
title,
104104
content: body,
105105
onClick: async () => {
106-
// Navigate to workspace page first if not already there
107-
const wsPath = data.workspace;
108-
if (wsPath && window.location.pathname !== '/') {
109-
const { goto } = await import('$app/navigation');
110-
await goto(`/?workspace=${encodeURIComponent(wsPath)}`);
111-
setTimeout(() => openChatTab(chatId), 300);
112-
} else {
113-
openChatTab(chatId);
114-
}
106+
const { goto } = await import('$app/navigation');
107+
const wsParam = data.workspace ? `workspace=${encodeURIComponent(data.workspace)}&` : '';
108+
await goto(`/?${wsParam}chatId=${encodeURIComponent(chatId)}`);
115109
toast.dismiss(toastId);
116110
},
117111
onclose: () => {

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "cptr"
3-
version = "0.4.7"
3+
version = "0.4.8"
44
description = "Your computer, from anywhere. Code, manage, and control your machine from the web."
55
license = {file = "LICENSE"}
66
readme = "README.md"

0 commit comments

Comments
 (0)