JianFeeeee
ef82bcdfd3
test(权限): 钉住"值没变也广播"—— 已降级会话的恢复路径靠这条否定事实
pi 2026-09-14 §3:这是一个**承重的"没有"**。我给"已降级会话怎么恢复"的答案里,
唯一"今天就能用"的手段是"人在 WebUI 里把同一个档位再选一次"——它之所以有效,
正是因为 `UpdateSessionPermission` **没有** "值没变就提前返回"。
判据是**行为**判据,不是读源码(形状判据挡不住"判断挪到 repo 层/挪到 middleware"):
起真库 + 真 SSE 客户端,连点两次同一个档位,数 `session_update` 帧 ——
第一次必须 ≥1(否则判据自己没接上,Fatal 而不是静默通过),第二次必须更多。
变异验证(先用 `db.DB` 注入 → 报的是 build failed,**不算判据红**,改用已有
`repo.SessionPermissionMode` 重注入):
--- FAIL: TestPermissionUpdateBroadcastsEvenWhenValueUnchanged (0.01s)
撤回后 ok。`go test ./...` 全绿(11 个包)。
2026-09-14 16:41:32 +08:00
..
2026-09-14 11:07:03 +08:00
2026-09-14 16:41:32 +08:00
2026-09-08 19:16:35 +08:00
2026-09-08 19:16:35 +08:00