# 每日变动 2026-10-16 ## 18:15 — TCP READ(命令 8)已读 ### 概要 - 注册 TCP 命令 8。请求带 `conversation_id` 与 `msg_id` 时更新 `last_read_msg_id`(只增不减),清 Redis 未读并把会话从 unread ZSET 挪到 read ZSET。 - 水位前进时入队通知该用户其他在线设备(不系统推送、不写 mailbox)。缺必填字段仍返回 `40001`;合法请求不再无条件 `40001`。 - 补齐当前 `main` 上会员价格按平台筛选的缺失函数,并修正广场机器人测试对 `Feed` 的调用,否则整包测试无法编译。 ### 变更范围 | 类型 | 说明 | |------|------| | 功能 | TCP READ / MarkRead | | 修复 | 客户端订阅计划编译、squarebot 测试签名 | | 文档 | README、架构、OpenAPI 写明命令 8 字段 | ### 主要文件 - `internal/module/message/logic/read.go` — 已读水位、清未读、通知其他设备 - `internal/transport/tcp/handlers.go` — 注册命令 8 - `internal/module/inbox/model/redis.go` — `ClearUnread` - `internal/module/conversation/model/conversation_member.go` — `UpdateLastRead` - `internal/module/client/logic/plans.go` — 包名归一与平台筛选 - `README.md`、`docs/architecture-v3.md`、`internal/transport/http/docs/openapi.yaml` ### 验证 - `go test ./...`:pass - logic 覆盖率均 ≥ 65%(message/logic 69.5%) - `make test`:本机无 `make`;golangci-lint v1.64.8 无法类型检查 Go 1.27 标准库,lint 未通过 ### 关联 - 修复 TCP READ 并发布到新加坡