已合并 main,随 v0.4.13 发布。参考 OpenMausBot 当前本地版本 9d2a992c,本次只调整 Bot 模式。
/api/app/workspace/snapshot:一次读取 Bot、会话及各活跃会话最近 50 条消息,带一致的事件游标和 hasOlder。/api/app/events/stream:账号隔离的 SSE,持久事件重放、断线续接、撤销授权检查、慢连接关闭和游标重置恢复。原消息读取与事件轮询接口保留兼容。WorkspaceMessageTimeline.vue,默认挂载尾部 120 条,按需展开,保留稳定消息对象,补偿历史插入位置,并依据用户手势控制跟随底部。MessageTimeline.vue 和原实时协议。iOS、Android 同名分支接入快照、缓存和 SSE。iOS 使用系统导航推进;首次打开会话有顶部胶囊展开及头像回落,时长采用 OpenMausBot 的 40ms 起始延迟、0.5/0.55 秒弹簧、1 秒停留和 600ms 收尾;减少动态效果时跳过。旧服务器不声明新能力时,移动端继续使用兼容路径。
iOS 保留 UICollectionView 复用并缩小行更新依赖,时间分隔直接读时间戳,避免重复完整消息转换。Android 保留 LazyColumn,缓存每行正文转换,增加真正的底部锚点并区分用户上滑和内容增长。
本轮未发布或部署,也未声称已完成与 OpenMausBot 同设备同数据的帧率、耗时对照基准。验证覆盖实现行为与既有功能回归。