docs(comments): proactive 判据键在 data 内、不在帧壳顶层(安卓核对指出)

4 处注释写「帧顶」而代码放在 data[proactive](+ 测试文件 6 处同源表述)。
安卓端两层都读所以不受影响,但注释与代码相反会误导下一个按注释写的人。
零行为改动(仅注释)。
This commit is contained in:
AskaEth committed 2026-10-06 21:16:20 +08:00
1 parent f1fbc249fd
commit b36798265a
3 files changed
+10 -10

No files matched your search

+2 -2
View File
@@ -93,7 +93,7 @@ func (s *Server) SendProactive(ctx context.Context, msg adapter.UnifiedMessage)
}
// BroadcastProactivePersisted 把一条**刚落进主会话的主动消息**广播为**带结构化判据**的
// `message_persisted` 帧(切片 P0b)。判据就是帧顶的 `proactive:true`:它是「她主动说的
// `message_persisted` 帧(切片 P0b)。判据就是帧的 `data` 里的 `proactive:true`:它是「她主动说的
// 话」在线上唯一的标记,客户端据此走与 `proactive_message` **同一套**提醒逻辑(非前台才
// 补一发通知,同一条只提醒一次),于是「她该不该提醒我」**与后端走了哪条路由无关**
// (主人 2026-10-05 裁定 C)。
@@ -104,7 +104,7 @@ func (s *Server) SendProactive(ctx context.Context, msg adapter.UnifiedMessage)
// ⇒ 实际最可能发生的路径恰恰不弹。
//
// 判据为什么不会误伤普通消息:只有主动推送这条通道会调用本函数,普通消息(Web 回合 /
// IM 回复 / IM 镜像)走的仍是 BroadcastPersisted,那条路径**永不**往帧顶放该键。
// IM 回复 / IM 镜像)走的仍是 BroadcastPersisted,那条路径**永不**往帧的 `data` 里放该键。
// 帧类型仍是 `message_persisted`,因此角色门(design/11 §7.1)与普通持久化帧逐字相同。
func (s *Server) BroadcastProactivePersisted(msg history.Message) {
s.broadcastPersisted(msg, true)