- 新增 GlobalExportDialog 组件,统一配置聊天记录、朋友圈和联系人导出 - 在侧边栏预留批量导出入口 - 当前入口默认隐藏,便于后续继续联调和逐步放开
- 兼容 wxdump 的 output 目录、database/ 和 media/ 结构 - 缺少 account.json 时自动推断账号信息并补充导入预览 - 导入前展示目标账号状态,并拦截源目录与目标目录重叠的情况 - 支持取消导入、已有账号自动备份,以及失败/取消后的回滚恢复 - 补充资源查找兼容逻辑,适配 wxdump 导入后的媒体文件布局
- 将开始导出与取消导出收敛为同一主操作按钮 - 精简任务状态区,仅保留导出完成后的保存操作 - 减少重复按钮与状态噪音,统一导出面板交互
- 重构检测结果页布局,补充版本/账号/数据库统计与更清晰的加载态 - 首页移除直接解密入口,/import 页面隐藏侧边栏,统一首屏使用路径 - 导入页优化预览、错误和重试体验,并补充 SSE 连接清理逻辑
- /api/get_keys 支持传入 wechat_install_path,兼容安装目录与 Weixin.exe / WeChat.exe - 解密完成后保存 db key 的来源路径与别名,避免历史密钥被错误账号复用 - 解密页按 account + db_storage_path 回填已保存密钥,并补充相关测试覆盖
- 新增 HTML/JSON/TXT 导出格式切换 - 支持选择导出目录并自动保存导出包 - 增加总进度和当前联系人进度展示
- 将 output 目录迁移改为 worker 异步执行,并补充扫描、复制、校验、回滚阶段进度 - 设置页增加迁移进度展示,支持恢复进行中的状态并展示当前文件/传输体积 - 迁移完成后自动清理旧备份目录,并同步源码/桌面端版本号到 v1.7.10
- 移除 Server-Timing/X-SNS 阶段透出与前端媒体来源标记 - 移除本地候选图与手动匹配接口及预览交互 - /api/sns/media 默认仅保留远程下载解密路径,未命中直接返回 404 - 将导出所需的本地缓存匹配逻辑下沉到 sns_export_service
- 导出弹层展示实际生成位置、浏览器目录保存进度和取消中状态\n- 导出服务补充取消检查、链路追踪与实时同步暂停恢复\n- 预建媒体索引并减少 emoji 空查找开销,补充相关测试
- 解密页新增表情下载步骤,支持开始/停止、进度展示和结果统计\n- 图片解密与表情下载接口支持并发配置,补充 SSE 进度与结果信息\n- 增加表情目录聚合、缓存校验与媒体下载相关测试
- 为会话加载、刷新和联系人初始化补充阶段性 trace - 为消息加载、归一化、状态提交和媒体刷新补充耗时日志 - 便于定位聊天页卡顿和加载异常
- 为消息图片、视频缩略图、头像和引用缩略图接入懒加载 - 新增聊天媒体性能采集插件与通用 perf logger - 优化媒体占位并补充前端资源加载耗时埋点
- 为解密页关键阶段补充调试日志 - 为图片密钥获取流程补充请求、命中和回退日志 - 为媒体密钥保存与批量解密补充有效密钥日志 - 对 AES 信息做摘要输出,便于排查且避免完整泄露
- 前端获取图片密钥时补充透传 db_storage_path / wxid_dir - 后端支持通过 db_storage_path 反推出目标 wxid_dir - 本地图片密钥匹配改为账号精确匹配,避免子串误命中 - 切换账号时重置并重新预填密钥,避免跨账号串用旧密钥 - 增加单测,覆盖精确匹配和未完成数据库解密时的远程获取场景
补充 Finder/视频号类型 app message 的 objectId、objectNonceId 解析 在聊天消息接口、搜索结果和导出链路中透传上述字段 前端消息归一化增加 objectId、objectNonceId 字段 新增对应测试,覆盖 type=51 场景
- 不再维护偏移量/特征码 - 不再hook图片密钥
Co-authored-by: Codex <noreply@openai.com>
- 优先使用更高质量的微信图片资源并回写本地缓存 - 图片接口返回 no-store,避免浏览器继续命中旧缓存 - 页面恢复前台时刷新当前会话媒体资源,并补充相关测试
- 支持在桌面端查看、选择和恢复默认 output 目录 - 安装器记录待应用目录,并在应用启动时自动迁移数据 - 后端支持 output 目录覆盖,补充桌面端与后端相关测试
服务号页接入实时模式变更监听。 支持 only_official 与 backfill_limit 参数透传。 切换服务号时直接重载本地消息,避免重复触发整页全量同步。
统一页面容器的高度计算方式。 为列表底部补充留白,修复滚动到底部时最后一项显示不完整的问题。
This reverts commit bcd8f67c25.
bcd8f67c25
- 在账号列表已加载但当前账号为空时强制刷新,避免聊天页进入无账号状态 - 为实时增量刷新补充异常兜底和日志,避免单次失败阻断后续更新 - 保留消息归一化中的原始 type/localId 字段,减少前端后续处理丢失信息
- 新增主题 store 与本地持久化能力,支持侧边栏切换浅色/深色模式 - 将聊天页、会话列表、标题栏、弹窗等配色改为 CSS 变量统一管理 - 适配定位卡片、引用气泡、系统提示等聊天消息组件在不同主题下的可读性 - 同步整理首页、解密页、联系人页、朋友圈页等页面背景与交互样式
- 修复未选中会话时导出弹窗落入无效默认范围的问题 - 支持按全部、群聊、单聊快速切换批量导出范围,并默认选中当前筛选结果 - 优化会话列表整行点击、高亮反馈和选择去重逻辑