AskaEth
b4d55f412e
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled
fix(channel): 连接动作不再乐观 —— 适配器自报连接态三态 + 面板如实呈现
根因:adminChannelOpen 在 ch.Connect 返回 nil 后硬编码 connected=true。而 Connect 返回 nil 只说明「这次调用没有致命失败」—— ws+client 首连失败刻意非致命(OneBot 实现可能比 Cyrene 后启动),ws+server 则只需监听就绪,两种情况 IsConnected() 都是 false。前端又只按「请求成功」写死「已连接」,于是管理面把「后端受理了」说成「渠道连上了」。
改法:三态口径落在适配器自己身上(connected/pending/ready,internal/channel/adapter 的纯函数 ConnectStateOf 判定 + ConnectSignals 结构化入参,避免两个 bool 接反),qq_obv11 实现 ConnectOutcome 并记住脱敏后的失败原因;网关经类型断言探测(与 accountStatusAware/rescanAware 同套路,核心 sdk.Channel 契约刻意不扩展),只做映射不猜 transport/mode。
线上投影:open/close 响应与 GET /admin/channels 的平台行/账号行各新增 pending/ready/reason 三个可选键(零值即整键缺席,同 NeedsRescan/LastError 口径);既有四键逐字不变,未实现该状态面的平台输出逐字节不变。close 报真实 IsConnected(),断开也不乐观。
凭据边界:reason 三层脱敏(形状级 → 已知明文替换 → 剥 access_token= 查询参数),日志同样只用脱敏串。
验收:主会话亲自复跑 go build/vet 全绿、全树 go test 无 FAIL、目标三包 test 全绿、前端 tsc --noEmit 干净、esbuild 逻辑测试 34+46 checks 全过;主会话亲自变异摘掉第 3 层脱敏实现,发现原两条脱敏用例其实钉不住它(值恰好等于已知明文/被形状级顺带吃掉)⇒ 补一条钉住它独有窗口的用例(短值+紧邻空白),变异下必红、还原后绿。
2026-10-13 19:38:56 +08:00
..
2026-10-04 12:30:16 +08:00
2026-10-04 12:30:16 +08:00
2026-10-06 21:48:49 +08:00
2026-10-06 21:48:49 +08:00
2026-10-04 14:21:41 +08:00
2026-10-06 21:48:49 +08:00
2026-10-05 14:15:55 +08:00
2026-10-05 14:15:55 +08:00
2026-10-05 13:29:53 +08:00
2026-10-05 10:37:56 +08:00
2026-10-05 10:37:56 +08:00
2026-10-04 13:42:37 +08:00
2026-10-13 19:38:56 +08:00
2026-10-13 19:38:56 +08:00
2026-10-05 14:01:52 +08:00
2026-10-05 14:38:37 +08:00
2026-10-05 14:38:37 +08:00
2026-10-06 09:03:53 +08:00
2026-10-03 22:28:25 +08:00
2026-10-13 19:38:56 +08:00
2026-10-13 19:38:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 09:03:44 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 09:03:44 +08:00
2026-10-05 13:54:56 +08:00
2026-10-06 09:03:32 +08:00
2026-10-06 08:04:12 +08:00
2026-10-05 10:37:56 +08:00
2026-10-04 14:00:25 +08:00
2026-10-05 16:19:32 +08:00
2026-10-05 15:38:53 +08:00
2026-10-06 08:16:03 +08:00
2026-10-06 21:16:21 +08:00
2026-10-06 21:16:21 +08:00
2026-10-06 08:16:03 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 18:11:43 +08:00
2026-10-04 13:06:54 +08:00
2026-10-04 18:11:43 +08:00
2026-10-04 22:16:26 +08:00
2026-10-05 14:38:37 +08:00
2026-10-06 14:12:27 +08:00
2026-10-06 14:12:27 +08:00
2026-10-07 09:49:57 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 22:39:35 +08:00
2026-10-07 11:07:00 +08:00
2026-10-07 11:07:00 +08:00
2026-10-06 22:39:35 +08:00
2026-10-06 08:04:12 +08:00
2026-10-06 08:04:12 +08:00
2026-10-04 10:46:51 +08:00
2026-10-04 13:07:52 +08:00
2026-10-06 14:12:23 +08:00
2026-10-06 14:12:23 +08:00
2026-10-04 14:21:41 +08:00
2026-10-06 18:46:58 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 14:21:41 +08:00
2026-10-04 12:30:16 +08:00
2026-10-13 19:38:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 19:44:53 +08:00
2026-10-04 19:44:53 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-13 19:38:56 +08:00
2026-10-04 18:57:58 +08:00
2026-10-13 19:38:56 +08:00
2026-10-04 21:33:11 +08:00
2026-10-04 21:33:11 +08:00
2026-10-04 21:33:11 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:07:52 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 12:07:51 +08:00
2026-10-04 13:07:52 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 14:21:41 +08:00
2026-10-03 22:28:25 +08:00
2026-10-13 19:38:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 10:37:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 07:58:42 +08:00
2026-10-06 21:16:20 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 17:59:28 +08:00
2026-10-04 19:46:36 +08:00
2026-10-04 14:37:37 +08:00
2026-10-05 09:18:50 +08:00
2026-10-06 09:03:55 +08:00
2026-10-05 22:06:54 +08:00
2026-10-04 19:46:36 +08:00
2026-10-04 17:07:20 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 14:37:37 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 08:16:03 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 17:42:16 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 21:50:08 +08:00
2026-10-04 21:50:08 +08:00
2026-10-06 15:59:14 +08:00
2026-10-06 09:03:55 +08:00
2026-10-06 09:03:55 +08:00
2026-10-05 10:56:39 +08:00
2026-10-06 14:12:27 +08:00
2026-10-06 14:12:27 +08:00
2026-10-03 22:07:56 +08:00
2026-10-04 14:13:27 +08:00
2026-10-06 14:12:27 +08:00
2026-10-06 14:12:27 +08:00
2026-10-04 14:21:52 +08:00
2026-10-04 14:21:52 +08:00
2026-10-06 14:12:27 +08:00
2026-10-06 14:12:27 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:58:03 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-05 11:36:18 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 21:16:20 +08:00
2026-10-05 16:02:36 +08:00
2026-10-05 16:02:36 +08:00
2026-10-05 16:02:36 +08:00
2026-10-06 21:16:20 +08:00
2026-10-05 14:38:37 +08:00
2026-10-04 16:27:35 +08:00
2026-10-05 09:18:50 +08:00
2026-10-07 11:07:00 +08:00
2026-10-05 22:06:54 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 17:42:16 +08:00
2026-10-04 21:50:08 +08:00
2026-10-05 11:36:18 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:53:08 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 12:21:24 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 12:21:24 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:53:08 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 12:21:24 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:46:10 +08:00
2026-10-03 22:28:25 +08:00
2026-10-06 07:58:42 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 17:25:35 +08:00
2026-10-05 11:36:18 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:46:10 +08:00
2026-10-07 10:07:13 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 09:18:50 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:10:33 +08:00
2026-10-05 10:56:39 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:38:11 +08:00
2026-10-06 21:48:48 +08:00
2026-10-06 09:03:53 +08:00
2026-10-06 09:03:53 +08:00
2026-10-06 09:03:53 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:10:33 +08:00
2026-10-04 17:59:28 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-05 09:38:11 +08:00
2026-10-06 09:03:53 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-04 17:59:28 +08:00
2026-10-04 11:26:35 +08:00
2026-10-07 09:34:45 +08:00