From 5db71f7c536e5891e4abd28f7d45dd21d43e720a Mon Sep 17 00:00:00 2001 From: Autumn-27 <53844290+Autumn-27@users.noreply.github.com> Date: Mon, 14 Sep 2026 12:44:15 -0400 Subject: [PATCH] =?UTF-8?q?fix(evidence):=20traffic=5Fsearch=20=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E8=BF=81=E7=A7=BB=E5=87=BA=E9=94=99=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E5=90=8E=E7=BB=AD=20reporter=20=E8=BF=81?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit description UPDATE 失败时原会 return 整个 seedFindingWorkflowTools,连累 independent 的 v2_reporter 迁移一起被跳过。改为出错仅 log、不置 flag(下次 启动重试),继续执行后续迁移。 --- server/finding_workflow.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/finding_workflow.go b/server/finding_workflow.go index 5d9114b..3610753 100644 --- a/server/finding_workflow.go +++ b/server/finding_workflow.go @@ -21,10 +21,13 @@ func (s *Server) seedFindingWorkflowTools() { // authoritative and must survive upgrades. legacy := "查询记录代理已抓取的目标流量(必须指定 host,可再按 URL 子串或正文关键词过滤)。body_contains 会在已抓取的请求/响应头与正文中做全文搜索,支持任意子串和中文(至少 3 个字符),可用来找响应里的密码、密钥、报错、内网地址等。仅返回极轻量索引(id/method/url/status/resp_len),不含任何响应内容。默认只返回 3 条、每页最多 10 条;结果多时用 page 翻页(page=0 起);要看某条的请求/响应原文用 traffic_get(id)。回看已访问资源、找端点先用它,避免重复 curl 同一 URL。" if _, err := s.m.pg.Exec(`UPDATE tools SET description=$1,updated_at=now() WHERE key='traffic_search' AND system AND description=$2`, traffic.TrafficSearchDescription, legacy); err != nil { + // Log and leave the flag unset so the next startup retries; do not + // return, or a transient error here would also skip the reporter + // migration below — the two are independent. log.Printf("[evidence] upgrade traffic_search description: %v", err) - return + } else { + _ = s.m.pg.SetSetting(hostSearchDescriptionFlag, "true") } - _ = s.m.pg.SetSetting(hostSearchDescriptionFlag, "true") } const flag = "finding_workflow_tools_v2_reporter" if value, _, _ := s.m.pg.GetSetting(flag); value == "true" {