fix(client): 自动连接门控改判生效节点就绪 + _connect 诊断日志(1.0.23)

自动连接已正确触发,但 _connect 撞 node.uuid.isEmpty 报「节点尚未就绪」:门控用的是
nodes.any(uuid),而 _connect 用 effectiveNode。改门控直接判 effectiveNode.uuid 非空(与
_connect 同一判据)。_connect 加一行日志记录 node/uuid/selected/nodes 便于确认。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-29 19:15:39 +08:00
parent 28f8e5ebcd
commit f2891ff2f9
4 changed files with 10 additions and 6 deletions
@@ -10,6 +10,7 @@ import 'dart:io';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../bridge/log.dart';
import '../bridge/vpn_bridge.dart';
import '../bridge/vpn_bridge_provider.dart';
import '../l10n/app_text.dart';
@@ -138,6 +139,8 @@ class ConnectionController extends StateNotifier<ConnectionState> {
final node = _ref.read(effectiveNodeProvider);
final zh = _ref.read(localeProvider) == AppLang.zh;
logLine('Connect', '_connect node=${node.code} uuid=${node.uuid.isEmpty ? "EMPTY" : "ok"} '
'selected=${_ref.read(selectedNodeCodeProvider)} nodes=${(_ref.read(nodesProvider).valueOrNull ?? const []).length}');
// 节点未就绪(列表加载中/为空):不连接,提示用户。
if (node.uuid.isEmpty) {