基线 main 4059a15。本次全量复审整理出 58 个工作包(critical 7、high 13、medium 29、low 9),每个工作包一个 issue,均附证据(文件与行号)、文档依据、统一方案、改动文件、冲突说明与验收测试。请负责人审核后再按下面的分工并行修复。
4059a15
最需要先处理的问题:
OnConnect
messageLoops
P0-critical
P1-high
P2-medium
P3-low
lane/*
review-2026-09-30
同一工作线内按箭头顺序合入;不同工作线可以并行开发,按"跨线依赖"合入。
跨线依赖:
PublishDown
ErrBackpressure
ErrNotSubscribed
ErrNoConnection
cmd/nixmsg/serve.go
runServe
staticFileHandler
identity.New
ConnControl
admin.Deps
SecureCookies
cmd/nixmsg/uplink.go
OnSessionEstablished
OnHandshakeComplete
OnDisconnect
HandleUplink
publishResp
internal/broker/hooks.go
OnQosPublish
OnQosComplete
OnQosDropped
OnSessionEstablish
internal/broker/session.go
fatalKick
handleHello
HandleDisconnect
internal/broker/ws.go
AttachWS
internal/app/message/push.go
internal/app/message/submit.go
internal/app/group/app.go
emit
checkAddMember
internal/app/group/void.go
identity/lifecycle.go
internal/auth/locks.go
internal/store/queue.go
internal/admin/endpoints.go
web/src/views/EndpointsView.vue
0003
completed_at
docs/DEVIATIONS.md
AllowRequest
Submit
RejectPendingTx
TryFinalizeTx
ConnectionState()
feat/fix-3-downlink-deadlock
E:\code\NixMsg-wt\fix3
feat/fix-{编号}-{简述}
task check
origin/main
InsecureSkipVerify
OnPublish
CodeSuccessIgnore
COUNT(*)
member_added
presence.watch
meta
-race
复审修复已线性合入 origin/main HEAD 0c9b459(相对 4059a15 快进 44 个提交)。未强推 main。未合 feat/fix-3-downlink-deadlock,保留工作树 E:\code\NixMsg-wt\fix3。
0c9b459
已关闭: (#3) T-01; (#8) – (#19) B-01–B-12; (#20) – (#26) L-01–L-07; (#27) – (#31) D-01–D-05; (#32) – (#38) C-01–C-07; (#39) – (#43) U-01–U-05; (#44) – (#50) H-01–H-07; (#51) – (#56) W-01–W-06; (#57) – (#62) K-00–K-05; (#63) T-02; (#64) T-03。
task check(web build + golangci-lint + go test ./...)通过。TestQ2 在 8f2ebc7 补 WakePush 后通过。迁移 0003(U-02)与 0004(C-03)均在。
8f2ebc7
本总览 issue 保持开放,供阶段 3 收尾。
origin/main 已快进到 0c9b459(0c9b459fb1828e913f39d6368eda826968cfdda2)。子 issue 已关闭。阶段 3 未做。F03/F08/F21/F22 仍部分通过。关闭本总览 (#7)。
0c9b459fb1828e913f39d6368eda826968cfdda2
No dependencies set.
The note is not visible to the blocked user.
结论
基线 main
4059a15。本次全量复审整理出 58 个工作包(critical 7、high 13、medium 29、low 9),每个工作包一个 issue,均附证据(文件与行号)、文档依据、统一方案、改动文件、冲突说明与验收测试。请负责人审核后再按下面的分工并行修复。最需要先处理的问题:
OnConnect里把发送配额置 0(6 轮×30 秒、每轮约 250 万条无卡顿)。messageLoops会被连带冻结。审查方式
编号说明
P0-critical、P1-high、P2-medium、P3-low表示严重级;lane/*表示工作线;review-2026-09-30表示本次复审。工作包清单
并行分工与合并顺序
同一工作线内按箭头顺序合入;不同工作线可以并行开发,按"跨线依赖"合入。
跨线依赖:
PublishDown签名不变为契约并行开发;消息线把ErrBackpressure、ErrNotSubscribed、ErrNoConnection一律当作发布失败处理共享文件归属(避免多人改同一处)
cmd/nixmsg/serve.gomessageLoopsrunServe末尾停机段staticFileHandleridentity.New的ConnControladmin.Deps的SecureCookies/ 审计 loggercmd/nixmsg/uplink.goOnSessionEstablished、OnHandshakeComplete、OnDisconnectHandleUplink(分发前限速)publishResp(大小上限)internal/broker/hooks.goOnConnectOnQosPublish/OnQosComplete/OnQosDroppedOnSessionEstablished/OnDisconnectOnSessionEstablish(新增)internal/broker/session.gofatalKick、logout /handleHello、HandleDisconnectinternal/broker/ws.goAttachWS前读超时 / 客户端 IPinternal/app/message/push.gointernal/app/message/submit.gointernal/app/group/app.goemit/ 校验逻辑 /checkAddMemberinternal/app/group/void.go、identity/lifecycle.gointernal/auth/locks.gointernal/store/queue.gointernal/admin/endpoints.goweb/src/views/EndpointsView.vue0003索引 / 可选外键 /completed_atdocs/DEVIATIONS.md统一取舍(多份审查方案不一致时的裁决)
AllowRequest,uplink 在分发前统一检查,Submit不再单独扣(C-05)。RejectPendingTx/TryFinalizeTx处理,group 与 identity 都改为调用(C-04)。ConnectionState()(L-04)。OnConnect置 0,不 fork mochi(B-01)。feat/fix-3-downlink-deadlock与E:\code\NixMsg-wt\fix3的 broker 改动(基于错误假设,且改变了 PUBACK 时序)。每个修复的通用要求
feat/fix-{编号}-{简述}分支上工作;补测试 →task check通过 → 提交 → 推送;合入前 rebase 到origin/main并快进合并,不强推 main。看过但判为故意设计或正确(未建 issue)
InsecureSkipVerify与子协议 mqtt、OnPublish返回CodeSuccessIgnore、InlineClient 放行;待核实(未建 issue,建议在修复过程中顺带确认)
COUNT(*)统计在千万级 pending 下的耗时(P 待核实 3;C-01 已把采样改为 10–15 秒)。member_added的 O(N²) 扇出(I 待核实 3)。presence.watch与断线的极小时序窗口(I 待核实 4)。meta是否算"正文"(A 待核实);记录保留 0 天时迟到的 ack 拿不到撤回结果,是否接受"依赖尽力发送的 revoked"并记入 DEVIATIONS(M 待核实 3)。-race全量检测(本机无 CGO,建议在 golang 官方镜像里对 broker、listener、store、cmd/nixmsg 跑一遍)。复审修复已线性合入 origin/main HEAD
0c9b459(相对4059a15快进 44 个提交)。未强推 main。未合feat/fix-3-downlink-deadlock,保留工作树 E:\code\NixMsg-wt\fix3。已关闭: (#3) T-01; (#8) – (#19) B-01–B-12; (#20) – (#26) L-01–L-07; (#27) – (#31) D-01–D-05; (#32) – (#38) C-01–C-07; (#39) – (#43) U-01–U-05; (#44) – (#50) H-01–H-07; (#51) – (#56) W-01–W-06; (#57) – (#62) K-00–K-05; (#63) T-02; (#64) T-03。
task check(web build + golangci-lint + go test ./...)通过。TestQ2 在
8f2ebc7补 WakePush 后通过。迁移 0003(U-02)与 0004(C-03)均在。本总览 issue 保持开放,供阶段 3 收尾。
origin/main 已快进到
0c9b459(0c9b459fb1828e913f39d6368eda826968cfdda2)。子 issue 已关闭。阶段 3 未做。F03/F08/F21/F22 仍部分通过。关闭本总览 (#7)。