Commit Graph

14 Commits

  • fix(chat): 修复群聊置顶系统消息显示名称与导出文案
    - 解析 ChatRoomTopMsg 文本/XML 系统消息,识别置顶与取消置顶操作
    - 优先使用备注名/联系人名替换 wxid,避免实时消息、历史消息、搜索结果显示原始账号
    - 导出 JSON/TXT/HTML 时复用同一套系统消息名称解析逻辑
    - 补充系统消息解析与实时消息展示测试,覆盖多种消息载荷格式
  • improvement(voice): 语音优先转 MP3,并完善导出/接口兜底
    - 新增 _convert_silk_to_browser_audio:优先 MP3(有 ffmpeg),否则 WAV,最后回退 SILK
    
    - /chat/voice 返回浏览器可播格式,并补充 Content-Disposition 文件名后缀
    
    - HTML 导出按实际格式写入语音资源;音频缺失时仍保留语音气泡结构
    
    - 测试覆盖 MP3 优先、缺失音频兜底,并在用例结束 logging.shutdown()
  • feat(chat): 支持位置消息与小程序卡片解析展示
    - 新增位置消息解析,补充经纬度、地点名和地址字段
    - 修复小程序分享 type 识别,避免嵌套 type 干扰
    - 聊天页新增位置卡片展示,并补充小程序卡片样式
    - 导出、搜索和会话预览同步支持位置消息
    - 补充位置导出与小程序解析测试
  • improvement(chat-export): 收敛导出 CSS 打包范围,避免 Scoped 规则泄漏
    - 仅打包聊天页相关的 _nuxt/*_username_*.css,避免去 scoped 选择器后污染全局
    
    - Offline viewer CSS patch 引入 --dpr 缩放,改善不同 DPR 下的显示一致性
    
    - 移除 chatHistoryModal 的静态 HTML 输出,改由 data 标记驱动
    
    - 修正聊天记录解析正则中的空白匹配转义
    
    - 更新导出相关测试断言(移除 modal id/放宽字体资源/校验不引入 wrapped 样式)
  • feat(chat): 聊天页支持日历定位/卡片解析/HTML导出分页
    - 新增 /api/chat/messages/daily_counts 与 /api/chat/messages/anchor,用于月度热力图与按日/首条定位\n- messages/around 支持跨 message 分片定位,定位更稳定\n- 新增 /api/chat/chat_history/resolve 与 /api/chat/appmsg/resolve,合并转发/链接卡片可按 server_id 补全\n- 新增 /api/chat/media/favicon,并补齐 link 本地缩略图处理\n- HTML 导出支持分页加载(html_page_size),避免大聊天单文件卡顿\n- tests: 覆盖 heatmap/anchor、favicon 缓存、HTML 分页导出
  • feat(chat-export): 支持 HTML 导出(合并消息/远程缩略图可选下载)
    - 导出格式新增 html:生成 index.html + 会话 messages.html,离线浏览
    
    - 支持 chatHistory(合并消息)解析/渲染与弹窗查看
    
    - 图片资源解析增强:MessageResourceInfo 优先 + md5/hdmd5 兜底
    
    - HTML 导出可选下载远程缩略图(仅公网主机/图片类型/5MB 限制)
    
    - 修复拍一拍误判、公众号封面样式识别;转账过期状态与前端展示
  • feat(chat): 群聊预览补齐群名片并完善系统消息解析
    - 新增系统撤回消息解析:优先提取 replacemsg,并统一清洗文本
    
    - 群聊会话预览文本规范化([表情] -> [动画表情]),并支持发送者前缀展示名替换
    
    - 群名片解析来源扩展:contact.db ext_buffer + WCDB realtime(可选新 DLL 接口)
    
    - 图片接口增强:支持 server_id + username 反查消息提取 md5,提升引用图片命中
  • fix(chat): 链接卡片补全公众号来源并解决缩略图防盗链
    - appmsg 解析补全 from/fromUsername,并规范化 url/thumbUrl
    - contact.db 兜底反查 fromUsername(仅有 sourcedisplayname 时)
    - 新增 /api/chat/media/proxy_image,仅允许 qpic/qlogo,带 mp.weixin.qq.com Referer(10MB 限制)
    - 前端 LinkCard 增加来源头像/host 兜底,qpic/qlogo 预览图走代理;头像加载失败回退
    - 导出消息补充 from 字段
  • fix(chat): 群聊发送者解析支持 alias 并避免覆盖 sender_username
    - _split_group_sender_prefix 支持传入已知 sender(username/alias),弱特征场景避免误拆前缀
    
    - 群聊消息按需读取 contact.db 的 alias 辅助解析昵称:\n前缀(带缓存)
    
    - 仅在 sender 缺失时回填前缀,避免昵称覆盖 sender id
  • feat(chat): 合并转发聊天记录支持预览与弹窗查看
    - appmsg(type=19) 解析为 renderType=chatHistory,并透传 recordItem(recorditem 原文)
    - 修复 recorditem CDATA 内包含 <refermsg> 时误判为引用消息的问题
    
    - 列表/导出路径统一带上 recordItem,并避免已解析的 appmsg 被二次 XML 解析覆盖
    - 前端聊天页新增聊天记录卡片 + 弹窗,支持按条展示及图片/视频/引用内容预览
    - 会话列表与摘要统一显示为 [聊天记录]
  • fix(chat): 修复导出 ZIP 写入冲突并支持按消息类型导出
    - 修复导出时 ZIP entry 写句柄冲突(messages 先写临时文件再写入 ZIP)\n- 新增 message_types 过滤,进度/统计按所选类型计数\n- manifest.json 记录 messageTypes,避免导出含义歧义
  • improvement(media): 移除进程提取密钥并优化媒体解密
    - 移除 pymem/yara-python 依赖,明确仅使用 wx_key 获取密钥
    
    - 删除 media_key_finder.py,简化媒体密钥与资源定位逻辑
    
    - 更新媒体接口/脚本与导出说明,避免误导进程提取能力
  • feat(chat): 新增聊天记录离线导出接口
    - 支持批量范围(选中/全部/群聊/单聊)与时间筛选
    - 支持 json/txt 导出并打包为 zip,附带 manifest/report
    - 可选打包离线媒体与头像;隐私模式下隐藏字段并禁用媒体/头像
    - 提供任务查询/取消/下载与 SSE 进度事件流
    - 修复导出路径名清理的正则误伤