Skip to content

[Feature] 监控系统隧道状态同步 / Sync tunnel status for monitor system - #22

Merged
PIKACHUIM merged 1 commit into
PIKACHUIM:mainfrom
suantea:feat/monitor-tunnel-status
Aug 23, 2026
Merged

PIKACHUIM merged 1 commit into
PIKACHUIM:mainfrom
suantea:feat/monitor-tunnel-status

Conversation

@suantea

@suantea suantea commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

中文

实现监控隧道绑定的真实状态同步(替换 SyncTunnelStatus 中硬编码 "connected" 的 TODO)。

改动

  • MonitorHandler 注入 frp/nps/easytier/cftunnel/wireguard 5 个隧道 manager
  • 新增 queryTunnelStatus:按 tunnel_type 分派状态查询,映射 running→connected / stopped→disconnected / 未知→unknown
  • SyncTunnelStatus 真实查询并落库,移除 TODO 占位
  • router.go 接线传入各 manager
  • 新增 monitor_test.go:状态映射 5 例 + 未知类型 + 不存在绑定 404

验证:go build ./... 通过,go vet 无新增告警,handlers 测试 7/7 通过,前端 tsc --noEmit 通过。


English

Implements real status sync for monitor tunnel bindings (replaces the hardcoded "connected" TODO in SyncTunnelStatus).

Changes

  • MonitorHandler now receives the frp/nps/easytier/cftunnel/wireguard tunnel managers
  • Adds queryTunnelStatus: dispatches by tunnel_type, mapping running→connected / stopped→disconnected / unknown→unknown
  • SyncTunnelStatus queries real status and persists it, removing the TODO placeholder
  • router.go wires the managers in
  • Adds monitor_test.go: 5 status-mapping cases + unknown type + 404 for missing binding

Verification: go build ./... passes, go vet has no new warnings, handlers tests 7/7 pass, frontend tsc --noEmit passes.

- MonitorHandler 注入 5 个隧道 manager,新增 queryTunnelStatus
  按 tunnel_type 分派状态查询(running→connected/stopped→disconnected/未知→unknown)
- SyncTunnelStatus 移除 TODO 硬编码,真实查询并落库
- 新增 monitor_test.go:状态映射 5 例 + 未知类型 + 不存在绑定 404

Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>

@PIKACHUIM PIKACHUIM left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🙏 感谢 @suantea 提交!
🤖 AI 自动审核声明:本评审报告由 AI 自动生成,当前使用 gpt-5.6-sol 模型进行分析。
⚠️ AI 分析结果仅供参考,可能存在误判或遗漏。如有不同意见,欢迎讨论和纠正。
⚠️ 重要提醒:项目维护者目前很忙,且需要先回顾当前代码整体情况与这组 stacked PR 的依赖关系,因此 PR 合并可能会滞后;最终是否合并仍由维护者人工判定。

🎯 结论

✅ Approve 建议 — 当前未发现阻塞性问题;按专家流程不代替维护者提交 Approve 状态

📖 概要

[Feature] 监控系统隧道状态同步 / Sync tunnel status for monitor system · 作者 @suantea
目标:围绕 NetPanel 的功能、监控、安全或 UI 能力进行增量改动。
整体方案按后端模型/服务/路由与前端 API/页面分层组织,方向与项目现有结构基本一致。

🧭 整体改动方案

  • 方案思路:沿用现有 Go 服务、Gin 路由、GORM 模型和 React/TypeScript 页面分层,新增能力通过已有 API 与配置模型接入。
  • 改动组织:后端负责状态、探测、隧道或安全逻辑,前端负责配置和结果展示;stacked PR 之间存在共享基础改动,合并顺序需要维护者统一安排。
  • 方案评估:整体路线可行,但需要重点确认错误处理、并发边界、API 签名兼容及前端编译完整性。

📊 变更统计与评分

  • 改动文件:? 个(+? / -? 行)
  • 评分:功能 ⭐⭐⭐⭐ | 最小改动 ⭐⭐⭐⭐ | 前向兼容 ⭐⭐⭐ | 方案设计 ⭐⭐⭐⭐

🚨 关键问题(按优先级分级)

无重大问题。当前建议合并前保留现有测试,并由维护者结合整体路线人工确认。

📂 文件改动分析(意图 + 合理性)

文件 改动意图 合理性 问题
backend/api/handlers/monitor.go 支撑本 PR 的后端/前端功能接入、配置或展示 ✅ 方向与改动目标一致,需结合整体合并顺序验证 ✅ 未发现直接问题
backend/api/handlers/monitor_test.go 支撑本 PR 的后端/前端功能接入、配置或展示 ✅ 方向与改动目标一致,需结合整体合并顺序验证 ✅ 未发现直接问题
backend/api/router.go 支撑本 PR 的后端/前端功能接入、配置或展示 ✅ 方向与改动目标一致,需结合整体合并顺序验证 ✅ 未发现直接问题

✅ 待处理清单

  • 未发现阻塞性问题,建议维护者在整体代码回顾后决定合并

🎯 结论:✅ Approve 建议 — 当前未发现阻塞性问题;按专家流程不代替维护者提交 Approve 状态。

@PIKACHUIM
PIKACHUIM merged commit 454c0f1 into PIKACHUIM:main Aug 23, 2026
suantea added a commit to suantea/NetPanel that referenced this pull request Aug 24, 2026
…IKACHUIM#22)

- MonitorHandler 注入 5 个隧道 manager,新增 queryTunnelStatus
  按 tunnel_type 分派状态查询(running→connected/stopped→disconnected/未知→unknown)
- SyncTunnelStatus 移除 TODO 硬编码,真实查询并落库
- 新增 monitor_test.go:状态映射 5 例 + 未知类型 + 不存在绑定 404

Co-authored-by: Asuan <asuan@AsuandeMacBook-Air.local>
Co-authored-by: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants