style(server): gofmt 注释规范 + init.sql 补 parent_session_id + 新增 ratelimit 判据
## 主体是 gofmt
`server/` 下 20 个文件的改动里,**142/147 行是注释与缩进** ——
Go 1.19+ 的 gofmt 把块注释里的 `// x` 规范成 `//\tx`。
功能零变化。
## 一处实质:init.sql 补 parent_session_id
`ALTER TABLE sessions ADD COLUMN IF NOT EXISTS parent_session_id
TEXT REFERENCES sessions(session_id)`
远端已在 `db/migrate.go` 的 `sqliteAddColumns` 结构迁移通道里加了同一列;
init.sql 是**全新库**的建库脚本,缺这列会让新库少一个字段。
- `IF NOT EXISTS` ⇒ 与结构迁移通道幂等,两者并存无害
- 默认空 = 根节点;**不据历史数据猜父子**(猜错会让线索拓扑失真,比没有更糟)
## 新增 handler/ratelimit_test.go(162 行)
速率限制的判据。此前这一块没有独立判据。
## 验证(本机实跑,非推断)
go build ./... 通过
go vet ./internal/{handler,repo,db,sse}/ 通过
go test -count=1(handler/repo/db/sse/blob)
handler 41.3s ok
repo 101.9s ok
db 1.1s ok
sse 0.01s ok
blob 0.08s ok
`-count=1` 是刻意的:第一遍跑出来全是 `(cached)`,那种绿灯不算数。
This commit is contained in:
@ -60,17 +60,17 @@ func quoteBody(m *models.Mail, sessionWorkspace, sessionAlias string) string {
|
||||
return b.String()
|
||||
}
|
||||
|
||||
|
||||
// senderAddress 拼出转发引用里那个「转发自」地址。
|
||||
//
|
||||
// ★ 2026-09-15 用户报:「这个 zcode@zcode 转发生成的地址绝对有问题,原本是 zcode@/home…」
|
||||
//
|
||||
// 两个原因叠在一起:
|
||||
// ① **发信路径给 Agent 存 from_workspace 存的是 agent 名**,不是路径
|
||||
// (实测:zcode 近两天 10 封全是 'zcode',homeagent 'homeagent',opencode 'opencode';
|
||||
// pi/dsh 是混的:既有真实路径也有自己的名字)—— 这是历史遗留的写入侧问题;
|
||||
// ② 引用块又无脑拼 `name@from_workspace` ⇒ 两者一乘就是 `zcode@zcode`,
|
||||
// 而**那永远不是一个地址**(地址是 name@path.session)。
|
||||
//
|
||||
// ① **发信路径给 Agent 存 from_workspace 存的是 agent 名**,不是路径
|
||||
// (实测:zcode 近两天 10 封全是 'zcode',homeagent 'homeagent',opencode 'opencode';
|
||||
// pi/dsh 是混的:既有真实路径也有自己的名字)—— 这是历史遗留的写入侧问题;
|
||||
// ② 引用块又无脑拼 `name@from_workspace` ⇒ 两者一乘就是 `zcode@zcode`,
|
||||
// 而**那永远不是一个地址**(地址是 name@path.session)。
|
||||
//
|
||||
// 这里改成用**会话**的真实 workspace/alias 拼(`SessionWorkspaceOf`/`SessionAliasOf`,
|
||||
// 读不到就退化成信上记的值),并且**一旦发现 path 等于 name 就当作"不知道"丢掉** ——
|
||||
|
||||
Reference in New Issue
Block a user