fix: resolve all type errors & update changelog

This commit is contained in:
ezequielnick 2025-10-04 13:07:38 +08:00
parent 7bdebcf298
commit 3aff005f81
7 changed files with 17 additions and 13 deletions

View File

@ -1,11 +1,13 @@
## 1.8.8 ## 1.8.8
### 新功能 (Feat) ### 新功能 (Feat)
- 升级内核版本
- 增加内核版本选择 - 增加内核版本选择
- 记住日志页面的筛选关键字 - 记住日志页面的筛选关键字
- Webdav增加Cron定时备份 - Webdav增加Cron定时备份
- 连接卡片纯数字显示样式 - 连接卡片纯数字显示样式
- 支持修改窗口触发行为 - 支持修改点击任务栏的窗口触发行为
- 在设置里增加 WebUI 快捷打开方式
### 修复 (Fix) ### 修复 (Fix)
- MacOS 首次启动时的 ENOENT: no such file or directory(config.yaml) - MacOS 首次启动时的 ENOENT: no such file or directory(config.yaml)

View File

@ -3,7 +3,7 @@ import { ReactNode } from 'react'
import { ErrorBoundary, FallbackProps } from 'react-error-boundary' import { ErrorBoundary, FallbackProps } from 'react-error-boundary'
import { useTranslation } from 'react-i18next' import { useTranslation } from 'react-i18next'
const ErrorFallback = ({ error }: FallbackProps): JSX.Element => { const ErrorFallback = ({ error }: FallbackProps): React.ReactElement => {
const { t } = useTranslation() const { t } = useTranslation()
return ( return (
@ -55,7 +55,7 @@ interface Props {
children?: ReactNode children?: ReactNode
} }
const BaseErrorBoundary = (props: Props): JSX.Element => { const BaseErrorBoundary = (props: Props): React.ReactElement => {
return <ErrorBoundary FallbackComponent={ErrorFallback}>{props.children}</ErrorBoundary> return <ErrorBoundary FallbackComponent={ErrorFallback}>{props.children}</ErrorBoundary>
} }

View File

@ -1,5 +1,7 @@
import { GenIcon } from 'react-icons' import { GenIcon, IconBaseProps } from 'react-icons'
function SubStoreIcon(props): JSX.Element { import React from 'react'
function SubStoreIcon(props: IconBaseProps): React.ReactElement {
return GenIcon({ return GenIcon({
tag: 'svg', tag: 'svg',
attr: { viewBox: '0 0 192 192' }, attr: { viewBox: '0 0 192 192' },

View File

@ -59,7 +59,7 @@ const ProxyItem: React.FC<Props> = React.memo((props) => {
onPress={() => onSelect(group.name, proxy.name)} onPress={() => onSelect(group.name, proxy.name)}
isPressable isPressable
fullWidth fullWidth
shadow="xs" shadow="sm"
className={`${ className={`${
fixed fixed
? 'bg-secondary/30 border-r-2 border-r-secondary border-l-2 border-l-secondary' ? 'bg-secondary/30 border-r-2 border-r-secondary border-l-2 border-l-secondary'

View File

@ -61,7 +61,7 @@ const DNS: React.FC = () => {
proxyServerNameserver, proxyServerNameserver,
directNameserver, directNameserver,
fallback, fallback,
fallbackGeoip: fallbackFilter?.geoip || true, fallbackGeoip: (fallbackFilter?.geoip || true) as string | true | string[],
fallbackGeoipCode: fallbackFilter?.['geoip-code'] || 'CN', fallbackGeoipCode: fallbackFilter?.['geoip-code'] || 'CN',
fallbackIpcidr: fallbackFilter?.ipcidr || ['240.0.0.0/4', '0.0.0.0/32'], fallbackIpcidr: fallbackFilter?.ipcidr || ['240.0.0.0/4', '0.0.0.0/32'],
fallbackDomain: fallbackFilter?.domain || ['+.google.com', '+.facebook.com', '+.youtube.com'], fallbackDomain: fallbackFilter?.domain || ['+.google.com', '+.facebook.com', '+.youtube.com'],
@ -174,7 +174,7 @@ const DNS: React.FC = () => {
'direct-nameserver': values.directNameserver, 'direct-nameserver': values.directNameserver,
fallback: values.fallback, fallback: values.fallback,
'fallback-filter': { 'fallback-filter': {
geoip: values.fallbackGeoip, ...(values.fallbackGeoip ? { geoip: values.fallbackGeoip } : {}),
'geoip-code': values.fallbackGeoipCode, 'geoip-code': values.fallbackGeoipCode,
ipcidr: values.fallbackIpcidr, ipcidr: values.fallbackIpcidr,
domain: values.fallbackDomain domain: values.fallbackDomain
@ -415,9 +415,9 @@ const DNS: React.FC = () => {
<SettingItem title={t('dns.fallbackFilter.geoip')} divider> <SettingItem title={t('dns.fallbackFilter.geoip')} divider>
<Switch <Switch
size="sm" size="sm"
isSelected={values.fallbackGeoip} isSelected={!!values.fallbackGeoip}
onValueChange={(v) => { onValueChange={(v) => {
setValues({ ...values, fallbackGeoip: v }) setValues({ ...values, fallbackGeoip: v as string | true | string[] })
}} }}
/> />
</SettingItem> </SettingItem>
@ -425,7 +425,7 @@ const DNS: React.FC = () => {
<Input <Input
size="sm" size="sm"
className="w-[100px]" className="w-[100px]"
value={values.fallbackGeoipCode} value={typeof values.fallbackGeoipCode === 'string' ? values.fallbackGeoipCode : ''}
placeholder="CN" placeholder="CN"
onValueChange={(v) => { onValueChange={(v) => {
setValues({ ...values, fallbackGeoipCode: v }) setValues({ ...values, fallbackGeoipCode: v })

View File

@ -58,7 +58,7 @@ const Logs: React.FC = () => {
localStorage.setItem(LOGS_FILTER_KEY, filter) localStorage.setItem(LOGS_FILTER_KEY, filter)
}, [filter]) }, [filter])
useEffect(() => { useEffect((): void | (() => void) => {
if (!trace) { if (!trace) {
const container = containerRef.current const container = containerRef.current
if (container) { if (container) {

View File

@ -92,7 +92,7 @@ const Override: React.FC = () => {
if (event.dataTransfer?.files) { if (event.dataTransfer?.files) {
const file = event.dataTransfer.files[0] const file = event.dataTransfer.files[0]
if (file.name.endsWith('.js') || file.name.endsWith('.yaml')) { 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 { try {
await addOverrideItem({ await addOverrideItem({
name: file.name, name: file.name,