This commit is contained in:
Timothy Jaeryang Baek
2026-04-20 09:11:38 +09:00
parent f246a66810
commit dc6df52a91
2 changed files with 11 additions and 8 deletions
+5 -2
View File
@@ -2413,8 +2413,11 @@
taskIds = newTaskIds;
}
// Backend returns chat_id for new chats — set store + URL
if (res.chat_id && $chatId !== res.chat_id) {
// Backend returns chat_id for new chats — set store + URL.
// Only update if the user hasn't navigated to a different chat
// while the request was in flight (prevents overwriting $chatId
// and causing spurious toast notifications / state duplication).
if (res.chat_id && $chatId !== res.chat_id && $chatId === _chatId) {
await chatId.set(res.chat_id);
if (!$temporaryChatEnabled) {
window.history.replaceState(history.state, '', `/c/${res.chat_id}`);
+6 -6
View File
@@ -425,13 +425,13 @@
return;
}
let isFocused = document.visibilityState !== 'visible';
let isInBackground = document.visibilityState !== 'visible';
if (window.electronAPI) {
const res = await window.electronAPI.send({
type: 'window:isFocused'
});
if (res) {
isFocused = res.isFocused;
isInBackground = !res.isFocused;
}
}
@@ -471,7 +471,7 @@
return;
}
if ((event.chat_id !== $chatId && !$temporaryChatEnabled) || isFocused) {
if ((event.chat_id !== $chatId && !$temporaryChatEnabled) || isInBackground) {
if (type === 'chat:completion') {
const { done, content, title } = data;
const displayTitle = title || $i18n.t('New Chat');
@@ -639,17 +639,17 @@
// check url path
const channel = $page.url.pathname.includes(`/channels/${event.channel_id}`);
let isFocused = document.visibilityState !== 'visible';
let isInBackground = document.visibilityState !== 'visible';
if (window.electronAPI) {
const res = await window.electronAPI.send({
type: 'window:isFocused'
});
if (res) {
isFocused = res.isFocused;
isInBackground = !res.isFocused;
}
}
if ((!channel || isFocused) && event?.user?.id !== $user?.id) {
if ((!channel || isInBackground) && event?.user?.id !== $user?.id) {
await tick();
const type = event?.data?.type ?? null;
const data = event?.data?.data ?? null;