From 3aff005f81ae7a47ac6c0c3f75dd3b0c7ddc5632 Mon Sep 17 00:00:00 2001
From: ezequielnick <107352853+ezequielnick@users.noreply.github.com>
Date: Sat, 4 Oct 2025 13:07:38 +0800
Subject: [PATCH] fix: resolve all type errors & update changelog
---
changelog.md | 4 +++-
.../src/components/base/base-error-boundary.tsx | 4 ++--
src/renderer/src/components/base/substore-icon.tsx | 6 ++++--
src/renderer/src/components/proxies/proxy-item.tsx | 2 +-
src/renderer/src/pages/dns.tsx | 10 +++++-----
src/renderer/src/pages/logs.tsx | 2 +-
src/renderer/src/pages/override.tsx | 2 +-
7 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/changelog.md b/changelog.md
index 0dae1a8..c5d53d4 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,11 +1,13 @@
## 1.8.8
### 新功能 (Feat)
+- 升级内核版本
- 增加内核版本选择
- 记住日志页面的筛选关键字
- Webdav增加Cron定时备份
- 连接卡片纯数字显示样式
-- 支持修改窗口触发行为
+- 支持修改点击任务栏的窗口触发行为
+- 在设置里增加 WebUI 快捷打开方式
### 修复 (Fix)
- MacOS 首次启动时的 ENOENT: no such file or directory(config.yaml)
diff --git a/src/renderer/src/components/base/base-error-boundary.tsx b/src/renderer/src/components/base/base-error-boundary.tsx
index 6b389b8..a5da2bd 100644
--- a/src/renderer/src/components/base/base-error-boundary.tsx
+++ b/src/renderer/src/components/base/base-error-boundary.tsx
@@ -3,7 +3,7 @@ import { ReactNode } from 'react'
import { ErrorBoundary, FallbackProps } from 'react-error-boundary'
import { useTranslation } from 'react-i18next'
-const ErrorFallback = ({ error }: FallbackProps): JSX.Element => {
+const ErrorFallback = ({ error }: FallbackProps): React.ReactElement => {
const { t } = useTranslation()
return (
@@ -55,7 +55,7 @@ interface Props {
children?: ReactNode
}
-const BaseErrorBoundary = (props: Props): JSX.Element => {
+const BaseErrorBoundary = (props: Props): React.ReactElement => {
return {props.children}
}
diff --git a/src/renderer/src/components/base/substore-icon.tsx b/src/renderer/src/components/base/substore-icon.tsx
index 987eabd..11700bb 100644
--- a/src/renderer/src/components/base/substore-icon.tsx
+++ b/src/renderer/src/components/base/substore-icon.tsx
@@ -1,5 +1,7 @@
-import { GenIcon } from 'react-icons'
-function SubStoreIcon(props): JSX.Element {
+import { GenIcon, IconBaseProps } from 'react-icons'
+import React from 'react'
+
+function SubStoreIcon(props: IconBaseProps): React.ReactElement {
return GenIcon({
tag: 'svg',
attr: { viewBox: '0 0 192 192' },
diff --git a/src/renderer/src/components/proxies/proxy-item.tsx b/src/renderer/src/components/proxies/proxy-item.tsx
index 1caf98c..45f5831 100644
--- a/src/renderer/src/components/proxies/proxy-item.tsx
+++ b/src/renderer/src/components/proxies/proxy-item.tsx
@@ -59,7 +59,7 @@ const ProxyItem: React.FC = React.memo((props) => {
onPress={() => onSelect(group.name, proxy.name)}
isPressable
fullWidth
- shadow="xs"
+ shadow="sm"
className={`${
fixed
? 'bg-secondary/30 border-r-2 border-r-secondary border-l-2 border-l-secondary'
diff --git a/src/renderer/src/pages/dns.tsx b/src/renderer/src/pages/dns.tsx
index 9a93793..a96209b 100644
--- a/src/renderer/src/pages/dns.tsx
+++ b/src/renderer/src/pages/dns.tsx
@@ -61,7 +61,7 @@ const DNS: React.FC = () => {
proxyServerNameserver,
directNameserver,
fallback,
- fallbackGeoip: fallbackFilter?.geoip || true,
+ fallbackGeoip: (fallbackFilter?.geoip || true) as string | true | string[],
fallbackGeoipCode: fallbackFilter?.['geoip-code'] || 'CN',
fallbackIpcidr: fallbackFilter?.ipcidr || ['240.0.0.0/4', '0.0.0.0/32'],
fallbackDomain: fallbackFilter?.domain || ['+.google.com', '+.facebook.com', '+.youtube.com'],
@@ -174,7 +174,7 @@ const DNS: React.FC = () => {
'direct-nameserver': values.directNameserver,
fallback: values.fallback,
'fallback-filter': {
- geoip: values.fallbackGeoip,
+ ...(values.fallbackGeoip ? { geoip: values.fallbackGeoip } : {}),
'geoip-code': values.fallbackGeoipCode,
ipcidr: values.fallbackIpcidr,
domain: values.fallbackDomain
@@ -415,9 +415,9 @@ const DNS: React.FC = () => {
{
- setValues({ ...values, fallbackGeoip: v })
+ setValues({ ...values, fallbackGeoip: v as string | true | string[] })
}}
/>
@@ -425,7 +425,7 @@ const DNS: React.FC = () => {
{
setValues({ ...values, fallbackGeoipCode: v })
diff --git a/src/renderer/src/pages/logs.tsx b/src/renderer/src/pages/logs.tsx
index 4b4ad42..ce72fa9 100644
--- a/src/renderer/src/pages/logs.tsx
+++ b/src/renderer/src/pages/logs.tsx
@@ -58,7 +58,7 @@ const Logs: React.FC = () => {
localStorage.setItem(LOGS_FILTER_KEY, filter)
}, [filter])
- useEffect(() => {
+ useEffect((): void | (() => void) => {
if (!trace) {
const container = containerRef.current
if (container) {
diff --git a/src/renderer/src/pages/override.tsx b/src/renderer/src/pages/override.tsx
index 26c5cbe..c69b5bc 100644
--- a/src/renderer/src/pages/override.tsx
+++ b/src/renderer/src/pages/override.tsx
@@ -92,7 +92,7 @@ const Override: React.FC = () => {
if (event.dataTransfer?.files) {
const file = event.dataTransfer.files[0]
if (file.name.endsWith('.js') || file.name.endsWith('.yaml')) {
- const content = await readTextFile(file.path)
+ const content = await readTextFile((file as File & { path: string }).path)
try {
await addOverrideItem({
name: file.name,