审计 — 设置页 Telegram 全流程修复
范围
| 文件 |
变更 |
frontend/src/pages/SettingsPage.vue |
persist/save/test/detect、8 NOTIFY 开关、reveal 免密 |
frontend/src/types/api.ts |
NOTIFY_TOGGLE_ITEMS |
server/api/settings.py |
Webhook 清除、错误详情、reveal 免密 |
tests/test_settings_telegram.py |
6 用例 |
deploy/gate_log.jsonl |
门控记录(自动生成) |
Step 3 规则扫描
| H |
规则 |
结论 |
| H1 |
测试/检测前持久化 Token+Chat ID |
FIXED — persistTelegramConfig |
| H2 |
getUpdates Webhook 冲突 |
FIXED — deleteWebhook before poll |
| H3 |
Telegram API 错误可见 |
FIXED — ok:false / sendMessage description |
| H4 |
8 项 NOTIFY 开关 UI |
FIXED — Vue v-switch + PUT |
| H5 |
reveal 免密(用户确认) |
FIXED — JWT + 审计保留 |
Closure
| H |
判定 |
依据 |
| H1–H5 |
FIXED |
代码 + pytest 6/6 |
DoD
验证
.venv/bin/pytest tests/test_settings_telegram.py -q