# 成员加入侧边栏预览

插件 Host 消费 Chat 已有的 `latest_activity`，与移动端一致区分邀请、直接添加、会员页自助入群、官方群和 DSH 内测群入群。只使用服务端名称快照；当前用户按来源显示“你”或昵称，不回退到用户 ID。

| 能力面 | 入口与边界 | 验证 |
| --- | --- | --- |
| Host owner | SourceService 同时生成首次目录和实时会话投影，活动时间独立于消息序号 | source-service、chat-activity-preview 测试 |
| Tools | 既有 arkme_sources_list，结果复用 Host；不新增授权或命令 | 目录结果一致性测试与制品运行检查 |
| SDK | 既有 listSources()；新增可选活动时间、种类，旧 Consumer 继续读取 latestPreview | SDK Consumer 测试 |
| UI | 继续读取 latestPreview；保留草稿优先、未读装饰和单行预览 | directory-store、navigation-cache 测试 |
| Client/Harness | 继续通过公开插件 Browser module 承载，无原生桥和安装协议变化 | 独立 App Data 的正式服配置客户端 |

`t=24` 只携带刷新提示，不能直接形成显示事实。它触发已有的按会话合并调度器读取 detail，不拉取消息正文、不伪造未读或发送桌面通知。使用 join_at 校验返回活动的覆盖范围，落后快照交由原有有限重试恢复。去重窗口上限 1024；账号切换、停止和卸载清空，异步结果受账号和生命周期保护。

目录缓存和浏览器缓存携带 latestActivityAtMillis/latestActivityKind，避免同消息序号的旧快照覆盖新成员活动。后续消息按服务端最新活动或已确认正文替换提示。未知类型和不完整名称沿用移动端普通消息回退。

范围为成员加入。退群、踢人、解散等不在本次新增活动类型中。客户端开发运行和不可变插件包安装分别验收，不将本地运行视为生产发布。

## 本次验证记录

- 插件源码基线：`e1010513e8cce7d631e5b9a33918c608623dab57`；客户端运行基线：`4b5658a748da7091c3aa108f3b795f032bf71018`。执行期间上游只追加了版本发布提交，本任务保留启动时基线与版本。
- `pnpm run typecheck` 与 `pnpm run build` 通过；macOS arm64 的客户端构建和原生依赖准备通过。
- `.tgz` 经未修改的官方 DSH `0.1.5-rc.2` CLI 安装进全新且带空格的 Profile；公开 SDK Consumer 在仓外编译、调用及取消通过。DSH SessionStore/ToolRuntime 中可发现并调用既有目录工具，结果与 SDK 一致。
- 真实浏览器使用隔离 HTTPS 上游 fixture：侧边栏停留时，经真实 SSE 输入 `t=24`，预览从普通消息自动变为“你 添加 李四 加入群聊”；Host 本地目录返回 `member_joined` 且未读数为 0，页面重载仍能恢复。无生产账号变更或入群写入。
- 运行时代码和构建产物没有本机工作区路径。包内既有历史性能文档包含旧本机路径，本任务未扩大该文档改动。
- 最终全量命令：`NODE_OPTIONS=--no-experimental-webstorage pnpm test --maxWorkers=4 --testTimeout=30000 --hookTimeout=30000`。关闭 Node 25 的原生 Web Storage，让 jsdom 正常提供存储；未过滤或跳过用例。最初默认 Node 25 运行的旧 UI 测试存在存储初始化失败，该开发运行已停止，不能作为全量门禁证据。

生产发布与已安装客户端升级不在本轮范围；本轮交付是任务插件制品与独立数据目录的正式服配置客户端。真实账号的成员加入事件及 Windows/Linux 待验收。

- 已启动并保留 macOS 正式服配置客户端，实际加载本次官方 CLI 安装的插件；正式服历史会话列表已确认邀请入群、自主入群预览。此次没有创建真实入群事件，实时场景的证据来自隔离 fixture。
- 全量中的录音长列表 UI 文件触及其自设 15 秒超时；保持代码不变单独复验，4 项均通过。

## 最终全量结果

最终源码与测试提交 `01e949c3` 上完整执行结束：1107 个文件通过、16 个文件跳过；13006 项通过、21 项跳过，无失败，耗时 388.94 秒。未过滤或人为跳过测试。此前使用 2 个 worker 的完整运行有 2 项录音 UI 超时，单独复验 4/4 项通过；本次最终提交的完整运行也覆盖该文件并通过。后续仅补录本文档结果。

任务新增的成员加入测试、SDK/Tools 一致性、缓存恢复和实时刷新场景均通过；`git diff --check` 通过。正式服 macOS 客户端保持运行，客户端源码无改动。
