diff --git a/Changelog.md b/Changelog.md index a37b4132c..310e376f8 100644 --- a/Changelog.md +++ b/Changelog.md @@ -3,8 +3,9 @@
🐞 修复问题 -- 修复通过 URL 导入订阅时,即使导入的订阅并非当前使用的订阅,也会重新加载当前配置的问题 -- 修复「首页」网站测速失败后卡片一直显示测试中的问题 +- 修复通过 URL 导入订阅时,即使导入的订阅并非当前使用的订阅,也会重新加载当前配置 +- 修复 首页 网站测速失败后卡片一直显示测试中 +- 修复 代理 页展开分组后不显示最新测速结果,需切换节点才刷新 **🐧 Linux** diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index 0b4fa96b1..ac86975c5 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -44,6 +44,7 @@ import { ProxyGroupNavigator, } from './proxy-group-navigator' import { ProxyRender } from './proxy-render' +import type { HeadState } from './use-head-state' import { PROXY_GROUP_HEADER_SENSORS, useProxyGroupHeaderLayout, @@ -90,11 +91,11 @@ function useProxyRenderState( ) { const { verge } = useVerge() const { proxyView } = useProxiesData() - const { renderList, onProxies, onHeadState } = useRenderList( - mode, - isChainMode, - activeSelectedGroup, - ) + const { + renderList, + onProxies, + onHeadState: setListHeadState, + } = useRenderList(mode, isChainMode, activeSelectedGroup) const scrollPositionKey = useMemo( () => isChainMode @@ -103,6 +104,14 @@ function useProxyRenderState( [activeSelectedGroup, isChainMode, mode], ) + const onHeadState = useCallback( + (groupName: string, patch: Partial) => { + if (patch.open) onProxies() + setListHeadState(groupName, patch) + }, + [onProxies, setListHeadState], + ) + const timeout = verge?.default_latency_timeout || 10000 const handleCheckAll = useStableCallback(