Files
Nexus/docs/changelog/2026-06-07-settings-telegram-fix.md
T
Nexus Agent 540a7fce05 fix(settings): Telegram 检测/测试闭环与 8 项告警开关恢复
检测与测试前自动持久化 Token/Chat ID;getUpdates 清除 Webhook 并返回具体 API 错误;恢复 NOTIFY 分项开关与免密 reveal。
2026-06-07 19:45:07 +08:00

1.5 KiB
Raw Blame History

Changelog — 设置页 Telegram 全流程修复 + 告警开关恢复

日期2026-06-07

摘要

修复设置页 Telegram 推送相关功能:检测/测试前自动持久化配置、独立保存按钮、getUpdates Webhook 冲突处理、测试 API 返回 Telegram 具体错误;恢复 Vue 迁移遗漏的 8 项告警通知开关;API Key / Bot Token 查看免二次密码(JWT + 审计仍保留)。

动机

用户反馈「检测 Chat ID / 发送测试 / 多项功能无法正常使用」:测试按钮不保存草稿配置、告警分项开关在 SPA 中缺失、getUpdates 在 Bot 曾设 Webhook 时恒为空、错误提示过于笼统。

涉及文件

  • frontend/src/pages/SettingsPage.vuepersistTelegramConfig、保存按钮、8 项 NOTIFY 开关
  • frontend/src/types/api.tsNOTIFY_TOGGLE_ITEMS
  • server/api/settings.py — Webhook 清除、Telegram 错误详情、reveal 免密
  • tests/test_settings_telegram.py — 新增
  • docs/audit/2026-06-07-settings-telegram-fix.md

迁移 / 重启

  • 无 DB 迁移
  • 需重新构建前端并重启 API(或全量部署)

验证

.venv/bin/pytest tests/test_settings_telegram.py -q
bash scripts/local_verify.sh
bash deploy/pre_deploy_check.sh
# 设置页:填 Token → 检测 Chat ID → 测试发送 → 切换告警开关

说明

Layer-3 cronhealth_monitor.sh)仍读 NEXUS_TELEGRAM_*.env.prod),与 UI 保存的 MySQL 配置独立;应用内告警走 MySQL 热更新即可。