From 2f097790ed3678f0096d44be108653229489ed09 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Wed, 16 Sep 2026 09:13:23 +0800 Subject: [PATCH] fix(updater): downgrade manual check failure notice to warning Manual update-check failures surfaced as red error toasts that read as an app fault. Add a warning severity to the notice service and use it in both check entry points alongside a console.warn; automatic checks and install failures keep their existing behavior. --- src/components/home/system-info-card.tsx | 3 ++- src/components/setting/setting-verge-advanced.tsx | 5 +++-- src/services/notice-service.ts | 6 +++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/components/home/system-info-card.tsx b/src/components/home/system-info-card.tsx index dc7d62994..1faeef603 100644 --- a/src/components/home/system-info-card.tsx +++ b/src/components/home/system-info-card.tsx @@ -108,7 +108,8 @@ export const SystemInfoCard = () => { goToSettings() } } catch (err) { - showNotice.error(err) + console.warn('update check failed:', err) + showNotice.warning(err) } }) diff --git a/src/components/setting/setting-verge-advanced.tsx b/src/components/setting/setting-verge-advanced.tsx index 119a023db..e5049534d 100644 --- a/src/components/setting/setting-verge-advanced.tsx +++ b/src/components/setting/setting-verge-advanced.tsx @@ -54,8 +54,9 @@ const SettingVergeAdvanced = ({ onError: _ }: Props) => { } else { updateRef.current?.open() } - } catch (err: any) { - showNotice.error(err) + } catch (err) { + console.warn('update check failed:', err) + showNotice.warning(err) } } diff --git a/src/services/notice-service.ts b/src/services/notice-service.ts index 9cd96a03b..5edecfda2 100644 --- a/src/services/notice-service.ts +++ b/src/services/notice-service.ts @@ -4,7 +4,7 @@ import { ReactNode, isValidElement } from 'react' import type { FailedOperation } from '@/services/cmds' import type { TranslationKey } from '@/types/generated/i18n-keys' -type NoticeType = 'success' | 'error' | 'info' +type NoticeType = 'success' | 'error' | 'info' | 'warning' interface NoticeTranslationDescriptor { key: string @@ -47,6 +47,7 @@ type ShowNotice = (( success: NoticeShortcut error: NoticeShortcut info: NoticeShortcut + warning: NoticeShortcut } type NoticeSubscriber = () => void @@ -54,6 +55,7 @@ type NoticeSubscriber = () => void const DEFAULT_DURATIONS: Readonly> = { success: 3000, info: 5000, + warning: 6000, error: 8000, } @@ -509,6 +511,8 @@ export const showNotice: ShowNotice = Object.assign(baseShowNotice, { baseShowNotice('error', message, ...extras), info: (message: NoticeContent, ...extras: NoticeExtra[]) => baseShowNotice('info', message, ...extras), + warning: (message: NoticeContent, ...extras: NoticeExtra[]) => + baseShowNotice('warning', message, ...extras), }) export function hideNotice(id: number) {