RootTab.messages · MessagingHomeView
研究会话与可信卡片索引
账户隔离的会话、未读、草稿、本地索引与 typed quant card 在同一消息一致性边界收敛
研究会话与可信卡片索引 · 研究证据级页面任务包
在账户隔离会话中可靠索引消息、未读、草稿和 typed Quant card。
Features/Messaging/Presentation/MessagingHomeView.swift
im-core /im/* · /websock/open · Quant card verifier target
communicate · K14
消息 Tab、People、策略分享或平台 signal 卡。
定位会话/消息并验证卡片 principal、object reference 与 payload hash。
Account namespace → cursor/replay → local FTS → message/card verification → object route。
会话未读、草稿、发送者、卡片类型和验证失败都有语义;Dynamic Type 不截断 hash 状态。
message_home_view · card_verify_result · replay_gap;正文、联系人与 payload 不记录。
- matrix-quant-im-ios main 与 origin/main 均为 631176e;Release 的 Quant、Social、MiniApp 与 Commerce repository 明确返回 unavailable,只有 Debug 可显式使用 fixture。
- iOS 当前有 186 个 Swift 文件、66 个 Features Swift 文件、38 个 View struct、31 个命名测试文件、24 个 AppRoute 与 1 个 Gitea workflow;这些是源码覆盖,不是 App Store 发布证明。
- EC2 未发现 quant/backtest/matrixantai 服务、容器、vhost 或 8141/8200–8205 listener;现有 im-core/Auth/日志健康不能替代 Quant 后端部署证据。
- EC2 当前运行 4 个 im-core 服务容器与 Postgres/Redis/NATS/MinIO 依赖;这证明通信 runtime,不证明 Quant card signer/fan-out 已实现。
- 会话、未读、草稿、人物和 Quant 卡片都是账户范围 fixture;未读取生产账号。
- 普通发送者不得伪造 platform signal/result card;平台 principal、payload hash 与对象可见性需要双端校验。
- IM replay/ACK 与 Quant object revoke/tombstone 的跨域一致性仍需端到端测试。
九态改变当前页面的证据、许可、数据、水位、包或回执区域,不用通用遮罩冒充真实完成
ConversationSnapshot
R13-MESSAGE-READY→ 打开可信会话ConversationSnapshot skeleton
R13-MESSAGE-LOADING→ 取消或保持当前证据query result / next step
R13-MESSAGE-EMPTY→ 调整范围或返回failed region only
R13-MESSAGE-PARTIAL→ 只重试失败区域safe diagnostic
R13-MESSAGE-ERROR→ 重新读取cached evidence
R13-MESSAGE-OFFLINE→ 查看离线证据authorization decision
R13-MESSAGE-FORBIDDEN→ 返回安全页面native confirmation
R13-MESSAGE-CONFIRM→ 确认或取消receipt / next step
R13-MESSAGE-SUCCESS→ 查看回执与下一步target-quant-messagesIMPLEMENTATION MAP
目标定义与下一轮逐页细化入口
当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。
页面区域
- 消息导航
- 同步/账户状态
- 搜索筛选
- 会话列表
- 卡片来源摘要
- 离线/重放说明
- 五 Tab
用户动作
- 搜索
- 打开会话
- 创建会话
- 打开对象卡
- 定位消息
- 重试同步
- 管理 People
必须状态
- 研究上下文已就绪
- 研究证据核对
- 当前范围为空
- 部分数据或投影失败
- 页面读取失败
- 离线证据只读
- 许可或权益拒绝
- 模拟运行确认
- 命令回执已完成
数据契约
- ConversationSnapshot
- MessageEnvelope
- MessageCursor
- QuantCardEnvelope
- QuantObjectReference
- AccountNamespace
- ReplayReceipt
TARGET MODULES
目标页面必须交付的模块
- 01账户命名空间
- 02会话搜索
- 03研究/未读筛选
- 04会话行
- 05typed quant card
- 06本地消息索引
- 07replay 状态
- 08五 Tab
PRODUCT ROUTE INDEX
Matrix Quant · Research 的 28 个稳定 Screen ID
同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。
RootTab.home · QuantSocialFeedViewRootTab.strategies · StrategyMarketViewRootTab.runtime · QuantRuntimeHomeViewRootTab.miniApps · MiniAppCatalogViewRootTab.messages · MessagingHomeViewAppRoute.strategy(id:) · StrategyDetailViewAppRoute.strategyVersion · StrategyVersionDetailViewAppRoute.backtestCreate · BacktestComposerViewAppRoute.run(id:) · RunDetailViewAppRoute.signal(id:) · SignalDetailViewAppRoute.miniApp(id:) · MiniAppDetailViewAppRoute.miniAppOpen(id:) · MiniAppRuntimeViewAppRoute.contacts · PeopleHubViewAppRoute.profile(userID:) · IdentityViewRootTab.home · QuantSocialFeedViewRootTab.strategies · StrategyMarketViewRootTab.runtime · QuantRuntimeHomeViewRootTab.miniApps · MiniAppCatalogViewRootTab.messages · MessagingHomeViewAppRoute.strategy(id:) · StrategyDetailViewAppRoute.strategyVersion · StrategyVersionDetailViewAppRoute.backtestCreate · BacktestComposerViewAppRoute.run(id:) · RunDetailViewAppRoute.signal(id:) · SignalDetailViewAppRoute.miniApp(id:) · MiniAppDetailViewAppRoute.miniAppOpen(id:) · MiniAppRuntimeViewAppRoute.contacts · PeopleHubViewAppRoute.profile(userID:) · IdentityView