From dfa5cff1b75f97d2a3f6602683204410fd390a03 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Wed, 10 Dec 2025 10:04:20 +0800 Subject: [PATCH] feat(proxy-groups): filter available groups to show only Selector types in chain mode --- Changelog.md | 1 + src/components/proxy/proxy-groups.tsx | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Changelog.md b/Changelog.md index 6acf9948f..b6f32fdfa 100644 --- a/Changelog.md +++ b/Changelog.md @@ -61,6 +61,7 @@ - 优化前端 WebSocket 连接机制 - 改进旧版 Service 需要重新安装检测流程 - 优化 macOS, Linux 和 Windows 系统信号处理 +- 链式代理仅显示 Selector 类型规则组 diff --git a/src/components/proxy/proxy-groups.tsx b/src/components/proxy/proxy-groups.tsx index d103e06dd..19b93b7ee 100644 --- a/src/components/proxy/proxy-groups.tsx +++ b/src/components/proxy/proxy-groups.tsx @@ -27,8 +27,8 @@ import { ScrollTopButton } from "../layout/scroll-top-button"; import { ProxyChain } from "./proxy-chain"; import { - ProxyGroupNavigator, DEFAULT_HOVER_DELAY, + ProxyGroupNavigator, } from "./proxy-group-navigator"; import { ProxyRender } from "./proxy-render"; import { useRenderList } from "./use-render-list"; @@ -64,7 +64,13 @@ export const ProxyGroups = (props: Props) => { const { verge } = useVerge(); const { proxies: proxiesData } = useProxiesData(); const groups = proxiesData?.groups; - const availableGroups = useMemo(() => groups ?? [], [groups]); + const availableGroups = useMemo(() => { + if (!groups) return []; + // 在链式代理模式下,仅显示支持选择节点的 Selector 代理组 + return isChainMode + ? groups.filter((g: any) => g.type === "Selector") + : groups; + }, [groups, isChainMode]); const defaultRuleGroup = useMemo(() => { if (isChainMode && mode === "rule" && availableGroups.length > 0) {