diff --git a/apps/stage-tamagotchi/src/renderer/App.vue b/apps/stage-tamagotchi/src/renderer/App.vue index cc51f7841..b5bd7a054 100644 --- a/apps/stage-tamagotchi/src/renderer/App.vue +++ b/apps/stage-tamagotchi/src/renderer/App.vue @@ -51,6 +51,7 @@ import { import { initializeElectronAuthCallbackBridge } from './bridges/electron-auth-callback' import { initializeStageThreeRuntimeTraceBridge } from './bridges/stage-three-runtime-trace' import { useLanguage } from './composables/use-language' +import { createChatSyncWindowLifecycle } from './stores/chat-sync-lifecycle' import { useTamagotchiMcpToolsStore } from './stores/mcp-tools' import { useTamagotchiPluginToolsStore } from './stores/plugin-tools' import { useServerChannelSettingsStore } from './stores/settings/server-channel' @@ -96,6 +97,7 @@ const getMainLocale = useElectronEventaInvoke(i18nGetLocale) const setLocale = useElectronEventaInvoke(i18nSetLocale) const getGodotStageStatus = useElectronEventaInvoke(electronGodotStageGetStatus) const syncArtistryConfig = useElectronEventaInvoke(artistrySyncConfig) +const chatSyncLifecycle = createChatSyncWindowLifecycle(route.path) const isChatWindowRoute = () => route.path === '/chat' const isGodotStageRoute = () => route.path === '/' || route.path.startsWith('/settings') const isWidgetsWindowRoute = () => route.path === '/widgets' @@ -196,6 +198,8 @@ context.value.on(electronGodotStageStatusChanged, (event) => { }) onMounted(async () => { + chatSyncLifecycle.initialize() + // NOTICE: Issue #1658 // When Electron restarts, renderer localStorage may not be flushed to disk. // The store's onMounted hook falls back to navigator.language, which triggers @@ -256,6 +260,10 @@ onMounted(async () => { inferencePreload.triggerPreload() }) +onUnmounted(() => { + chatSyncLifecycle.dispose() +}) + watch(themeColorsHue, () => { document.documentElement.style.setProperty('--chromatic-hue', themeColorsHue.value.toString()) }, { immediate: true }) diff --git a/apps/stage-tamagotchi/src/renderer/pages/chat.vue b/apps/stage-tamagotchi/src/renderer/pages/chat.vue index 294e0b34e..fdc032ca7 100644 --- a/apps/stage-tamagotchi/src/renderer/pages/chat.vue +++ b/apps/stage-tamagotchi/src/renderer/pages/chat.vue @@ -1,20 +1,6 @@