fix: 推送 meta 用 UseNumber 保留超过 2^53 的整数

This commit is contained in:
Nixevol
2026-09-30 16:21:05 +08:00
parent aa24e974af
commit 2461bec3b6
3 changed files with 46 additions and 3 deletions
+9
View File
@@ -509,6 +509,15 @@
- 备选方案:把桶挪到 broker 层(B-09 范围)。
- 影响:开放注册后的非 send 请求也计入配额;直接调 `Submit` 的单测不再覆盖限速。
### 复审修复 C-06
1. **推送 meta 数字用 UseNumber 解码**
- 原条款:PRD F07 / D11 自定义键值送达应与提交一致。
- 实际做法:`decodeMetaJSON` 改用 `protocol.Unmarshal`(`UseNumber`),超过 2^53 的整数以 `json.Number` 保留原文再编码进推送帧。不改 `Msg.Meta` 类型与协议包。
- 原因:标准 `json.Unmarshal` 把数字变成 float64,雪花 ID 会被改掉。
- 备选方案:`Meta` 改为 `json.RawMessage` 原样输出(需改 protocol,牵动 SDK)。
- 影响:仅推送路径;入库仍是提交时的规范 JSON。
## 身份 I
### I1 2026-09-30