批量导出全部、群聊、单聊时,不再只依赖 SessionTable。 导出目标会补充 contact/stranger 与消息库 Name2Id 中存在消息表的联系人或群聊,避免微信不显示会话从左侧列表消失后漏导。 同时新增自定义范围,保留当前会话列表手动勾选导出的语义,并补充对应回归测试。
- 导出弹层展示实际生成位置、浏览器目录保存进度和取消中状态\n- 导出服务补充取消检查、链路追踪与实时同步暂停恢复\n- 预建媒体索引并减少 emoji 空查找开销,补充相关测试
- 为会话加载、刷新和联系人初始化补充阶段性 trace - 为消息加载、归一化、状态提交和媒体刷新补充耗时日志 - 便于定位聊天页卡顿和加载异常
Co-authored-by: Codex <noreply@openai.com>
- 优先使用更高质量的微信图片资源并回写本地缓存 - 图片接口返回 no-store,避免浏览器继续命中旧缓存 - 页面恢复前台时刷新当前会话媒体资源,并补充相关测试
- 在账号列表已加载但当前账号为空时强制刷新,避免聊天页进入无账号状态 - 为实时增量刷新补充异常兜底和日志,避免单次失败阻断后续更新 - 保留消息归一化中的原始 type/localId 字段,减少前端后续处理丢失信息
- 修复未选中会话时导出弹窗落入无效默认范围的问题 - 支持按全部、群聊、单聊快速切换批量导出范围,并默认选中当前筛选结果 - 优化会话列表整行点击、高亮反馈和选择去重逻辑
- 为聊天右键菜单增加视口内重定位,避免菜单显示到屏幕外 - 在异步加载编辑状态后重新计算位置,并限制菜单高度支持滚动 - 补回 searchContext 状态传递,恢复上下文模式下的筛选禁用和提示横幅
- 移除聊天页 setup 阶段的服务端会话预取\n- 改为客户端挂载后再加载账号和会话数据\n- 修复 nuxt generate 在发布机构建时访问本地聊天接口导致的失败
- 将聊天页从超大单文件拆分为会话列表、会话面板、消息列表、消息项和覆盖层组件\n- 抽离会话、消息、搜索、导出、编辑、历史窗口等组合式逻辑\n- 下沉消息格式化、消息归一化、聊天记录解析与文件图标等工具模块\n- 新增 chat.css 并在 Nuxt 中注册,统一聊天页样式