From 33da5d31cf47e15e2745e551dbacf0d8de21797b Mon Sep 17 00:00:00 2001 From: beyondkmp Date: Tue, 8 Jul 2025 16:49:28 +0800 Subject: [PATCH] fix: cannot show window in mini and hide status (#7943) * feat(ProtocolClient): show main window on protocol URL handling * refactor(ProtocolClient): remove main window display logic; update handleProviders to show window on macOS * fix lint --------- Co-authored-by: rcadmin --- src/main/services/urlschema/handle-providers.ts | 6 ++++++ src/renderer/src/pages/settings/ProviderSettings/index.tsx | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/services/urlschema/handle-providers.ts b/src/main/services/urlschema/handle-providers.ts index d23f3749db..9a598fc459 100644 --- a/src/main/services/urlschema/handle-providers.ts +++ b/src/main/services/urlschema/handle-providers.ts @@ -1,3 +1,4 @@ +import { isMac } from '@main/constant' import Logger from 'electron-log' import { windowService } from '../WindowService' @@ -33,8 +34,13 @@ export async function handleProvidersProtocolUrl(url: URL) { (await mainWindow.webContents.executeJavaScript(`typeof window.navigate === 'function'`)) ) { mainWindow.webContents.executeJavaScript(`window.navigate('/settings/provider?addProviderData=${data}')`) + + if (isMac) { + windowService.showMainWindow() + } } else { setTimeout(() => { + Logger.info('handleProvidersProtocolUrl timeout', { data, version }) handleProvidersProtocolUrl(url) }, 1000) } diff --git a/src/renderer/src/pages/settings/ProviderSettings/index.tsx b/src/renderer/src/pages/settings/ProviderSettings/index.tsx index f35b6b72b9..a89719c178 100644 --- a/src/renderer/src/pages/settings/ProviderSettings/index.tsx +++ b/src/renderer/src/pages/settings/ProviderSettings/index.tsx @@ -259,7 +259,8 @@ const ProvidersList: FC = () => { window.message.error(t('settings.models.provider_key_add_failed_by_invalid_data')) window.navigate('/settings/provider') } - }, [addProvider, providers, searchParams, t, updateProvider]) + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [searchParams]) const onDragEnd = (result: DropResult) => { setDragging(false)