2977094657
|
f5f3e85e31
|
Revert "fix(decrypt): 修复数据库原始密钥解密与设备绑定提示"
This reverts commit bcd8f67c25.
|
2026-03-24 12:14:18 +08:00 |
|
2977094657
|
dc7ac0a5e4
|
Revert "fix(decrypt): 修复 SQLCipher 密钥兼容性回归"
This reverts commit 22399f4110.
|
2026-03-24 12:14:13 +08:00 |
|
2977094657
|
22399f4110
|
fix(decrypt): 修复 SQLCipher 密钥兼容性回归
- 解密时同时兼容 raw enc_key 与 SQLCipher 派生密钥两种输入形态
- 通过首页 HMAC 自动识别可用密钥模式,避免真实账号密钥被误判为不匹配
- 后续页面解密统一使用识别出的有效密钥,恢复数据库解密流程
- 补充 SQLCipher passphrase 场景回归测试,覆盖此次回归问题
|
2026-03-23 15:36:39 +08:00 |
|
2977094657
|
11d31ac022
|
fix(chat): 修复 realtime 同步下 Name2Id 映射缺失
- 将 Name2Id 从随新消息顺带补写调整为按 live WCDB 整表同步\n- 修复输出库中 real_sender_id 无法稳定反查 sender_username 的问题\n- 消除必须删除当前项目数据并重新加载后 Name2Id 才能补全的问题\n- 增加 Name2Id 自愈同步回归测试,覆盖无新消息时的修复场景
|
2026-03-23 14:38:32 +08:00 |
|
2977094657
|
bcd8f67c25
|
fix(decrypt): 修复数据库原始密钥解密与设备绑定提示
|
2026-03-22 19:52:04 +08:00 |
|
2977094657
|
a01dba4a93
|
fix(chat): 修复群聊置顶系统消息显示名称与导出文案
- 解析 ChatRoomTopMsg 文本/XML 系统消息,识别置顶与取消置顶操作
- 优先使用备注名/联系人名替换 wxid,避免实时消息、历史消息、搜索结果显示原始账号
- 导出 JSON/TXT/HTML 时复用同一套系统消息名称解析逻辑
- 补充系统消息解析与实时消息展示测试,覆盖多种消息载荷格式
|
2026-03-22 15:34:05 +08:00 |
|
2977094657
|
4afdbe20b1
|
fix(wcdb): 修复dll选择路径
|
2026-03-17 11:40:25 +08:00 |
|
2977094657
|
a4acd32bb3
|
fix(logging): 完善服务端错误日志记录并支持设置页打开日志
- 为后端增加 5xx 请求与未处理异常日志记录
- 新增前端服务端错误上报工具与管理接口
- 在聊天导出、朋友圈信息加载、通用 API 请求中补充错误上报
- 设置页新增日志文件路径展示与一键打开能力
- 增加服务端错误日志相关测试
|
2026-03-12 19:01:47 +08:00 |
|
2977094657
|
052c6245d1
|
improvement(voice): 语音优先转 MP3,并完善导出/接口兜底
- 新增 _convert_silk_to_browser_audio:优先 MP3(有 ffmpeg),否则 WAV,最后回退 SILK
- /chat/voice 返回浏览器可播格式,并补充 Content-Disposition 文件名后缀
- HTML 导出按实际格式写入语音资源;音频缺失时仍保留语音气泡结构
- 测试覆盖 MP3 优先、缺失音频兜底,并在用例结束 logging.shutdown()
|
2026-03-10 11:50:43 +08:00 |
|
2977094657
|
16a13af18a
|
feat(chat): 支持位置消息与小程序卡片解析展示
- 新增位置消息解析,补充经纬度、地点名和地址字段
- 修复小程序分享 type 识别,避免嵌套 type 干扰
- 聊天页新增位置卡片展示,并补充小程序卡片样式
- 导出、搜索和会话预览同步支持位置消息
- 补充位置导出与小程序解析测试
|
2026-03-06 21:19:15 +08:00 |
|
2977094657
|
d48ba3b9aa
|
fix(logging): 日志写入改用 output_dir 并避免重复初始化
- 日志目录改为 get_output_dir()/logs/...(兼容 WECHAT_TOOL_DATA_DIR)
- 清理/关闭旧 handlers,避免重复输出和 Windows 文件锁
- get_logger/get_log_file_path 未初始化时自动 setup_logging
- 新增 tests/test_logging_config_data_dir.py
|
2026-03-02 19:04:19 +08:00 |
|
2977094657
|
f19779fe35
|
improvement(wrapped): Bento 总览补齐 topEmoji 与回复统计字段
- Bento summary 新增 topEmoji:在 unicode emoji 与微信内置表情(topWechatEmojis/topTextEmojis)中统一择优
- 回复速度统计补充 replyStats(p50/p90),并为 bestBuddy 增加最长连续互动天数/高峰时段等摘要字段
- bump wrapped cache version,避免旧缓存导致前后端字段不一致
- 增加 topEmoji 选择逻辑单测覆盖(wechat vs unicode / text emoji / none)
|
2026-02-26 20:01:44 +08:00 |
|
2977094657
|
3072297769
|
feat(wrapped): 新增便当总览卡片(Card #7)
- 增加 Card07BentoSummary 前端渲染与加载/失败重试交互(注入 wrappedRetryCard)
- 后端新增 card_07_bento_summary:基于已实现卡片聚合生成 snapshot,保证渲染稳定
- Wrapped manifest/implemented_upto 升级到 7,并支持按卡片 id 单独构建
- 新增 manifest 末尾卡片校验测试
|
2026-02-26 18:29:48 +08:00 |
|
2977094657
|
108b0b18ab
|
improvement(chat-export): 收敛导出 CSS 打包范围,避免 Scoped 规则泄漏
- 仅打包聊天页相关的 _nuxt/*_username_*.css,避免去 scoped 选择器后污染全局
- Offline viewer CSS patch 引入 --dpr 缩放,改善不同 DPR 下的显示一致性
- 移除 chatHistoryModal 的静态 HTML 输出,改由 data 标记驱动
- 修正聊天记录解析正则中的空白匹配转义
- 更新导出相关测试断言(移除 modal id/放宽字体资源/校验不引入 wrapped 样式)
|
2026-02-26 18:29:19 +08:00 |
|
2977094657
|
236d0ae703
|
feat(wrapped): 年度关键词卡升级为年度常用语词云
- 新增常用语短句过滤与统计,按重复短句(非分词)生成词云数据。
- 引入常用语扫描元数据(scannedCandidates/matchedCandidates/uniquePhrases 等)。
- 示例语句抽样改为唯一优先,不足补齐重复,提升短句命中率。
- wrapped cache version 升级到 24,并补充常用语相关单元测试。
|
2026-02-22 22:18:43 +08:00 |
|
2977094657
|
2dd103814a
|
feat(wrapped): 新增年度关键词词云卡片(Card #6)
- 新增关键词词云后端计算:消息采样、jieba 分词、关键词权重与例句回看数据。
- Wrapped 年度卡片接入 Card #6,并对该卡片改为按请求重算(不走单卡缓存)。
- 前端新增 storm->cloud 词云动效卡片,支持词点击查看例句及动画阶段隐藏 deck 顶部 UI。
- 统一 wrapped 消息表名解码逻辑,兼容 sqlite text_factory=bytes。
- 新增关键词词云测试并加入 jieba 依赖。
|
2026-02-22 18:59:30 +08:00 |
|
2977094657
|
9acbfa7582
|
feat(sns): 支持外部分享卡片并增强媒体阶段识别
- 增强朋友圈 XML 解码与容错清洗,支持 bytes/hex/base64/zstd 场景。
- 补充外部分享(Type 5/42)字段提取与展示,新增 sourceName、链接卡片与导出渲染。
- 通过 Server-Timing + Timing-Allow-Origin 暴露 SNS 媒体阶段信息,前端改为从 ResourceTiming 读取,避免额外探测请求。
- 新增 XML 容错解析与 Server-Timing 注入测试。
|
2026-02-22 18:59:17 +08:00 |
|
2977094657
|
13febebee7
|
fix(chat): 修复 list_chat_messages 中 re 作用域遮蔽
- 移除函数内局部 import re,避免遮蔽模块级 re。
- 保持 emojiUrl 处理后续正则逻辑可稳定执行。
- 新增回归测试,覆盖模板解析路径,防止同类作用域问题复发。
|
2026-02-22 18:59:08 +08:00 |
|
2977094657
|
d5927156f7
|
feat(chat-edit-backend): 新增消息编辑快照、回滚与修复接口
- 新增 message_edits 存储,记录首次快照、编辑次数与已修改字段
- 新增消息编辑链路:raw 查询、编辑、修改状态、按消息/会话恢复
- 新增发送者修复与 packed_info_data 方向反转能力
- 编辑流程支持 output/db_storage 双写与失败回滚
- path_fix 改为按需校验 db_storage_path,并缓存 body 避免重复读取问题
- 补充 chat_edit_store 单元测试覆盖核心行为
|
2026-02-22 11:55:47 +08:00 |
|
2977094657
|
ffa6491ed4
|
feat(wrapped): 增加月度好友墙卡片
- 新增月度好友墙卡片(chat/monthly_best_friends_wall):按月评选聊天搭子并输出评分维度
- 前端新增拍立得墙展示 12 个月获胜者与指标条,支持头像失败降级
- Wrapped deck 插入新卡片;emoji 卡片 id 顺延为 5,并同步更新测试
- Wrapped 页面默认展示上一年;切换年份时保持当前页并按需懒加载卡片
- WrappedCardShell(slide)支持 wide 布局;更新 wrapped cache version
|
2026-02-19 20:01:11 +08:00 |
|
2977094657
|
1dca69a797
|
improvement(sns-media): 统一朋友圈远程媒体下载/解密/缓存逻辑
- 新增 sns_media 模块:CDN URL 归一化、远程下载、图片 wcdb_api 解密、视频 WxIsaac64(WeFlow WASM)/ISAAC64 兜底解密与缓存
- routers/sns 与 sns_export_service 复用该模块,收敛重复实现
- 调整 ISAAC64 兜底实现:明确 keystream 生成与字节序格式,作为 WASM 不可用时的 best-effort
- 增加单测覆盖:URL 改写、视频异或解密、缓存命中/升级、解密失败
|
2026-02-18 16:55:00 +08:00 |
|
2977094657
|
3d989e4a17
|
feat(decrypt): 解密支持 SSE 实时进度
- 新增 /api/decrypt_stream(GET + SSE):扫描 db_storage,逐库解密并推送 start/progress/complete/error
- 前端解密页优先使用 SSE 展示实时进度,不支持时回退到原 POST(无进度)
- 增加流式接口单测:验证事件序列与输出落盘
|
2026-02-18 16:54:25 +08:00 |
|
2977094657
|
c6cbb933e7
|
feat(contacts): 联系人支持拼音分组并补充性别/签名
- 解析 extra_buffer 补齐 gender/signature\n- 返回 pinyinKey/pinyinInitial,前端按 A-Z/# 分组排序展示\n- tests: 更新联系人导出用例覆盖新增字段
|
2026-02-15 14:33:28 +08:00 |
|
2977094657
|
fcfea031e3
|
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 分页导出
|
2026-02-15 14:32:47 +08:00 |
|
2977094657
|
616778bf1a
|
feat(wrapped): 新增梗图年鉴(Emoji Universe)卡片
- 后端新增 card_04_emoji_universe:统计表情包/emoji 使用与画像
- 前端新增 Card04EmojiUniverse + VueBits Stack/ImageTrail 交互展示
- 更新 Wrapped manifest/Hero 预览与用例覆盖
|
2026-02-13 22:40:39 +08:00 |
|
2977094657
|
d3034b1fe0
|
feat(chat-export): 支持 HTML 导出(合并消息/远程缩略图可选下载)
- 导出格式新增 html:生成 index.html + 会话 messages.html,离线浏览
- 支持 chatHistory(合并消息)解析/渲染与弹窗查看
- 图片资源解析增强:MessageResourceInfo 优先 + md5/hdmd5 兜底
- HTML 导出可选下载远程缩略图(仅公网主机/图片类型/5MB 限制)
- 修复拍一拍误判、公众号封面样式识别;转账过期状态与前端展示
|
2026-02-13 22:39:48 +08:00 |
|
2977094657
|
d8d21395ee
|
improvement(chat): 完善会话置顶与消息卡片解析展示
- 后端:会话列表支持置顶识别(isTop)并按置顶优先排序
- 后端:修正群聊 XML 发送者提取,避免 refermsg 嵌套误识别
- 后端:完善转账状态后处理与视频缩略图 MD5 回填(packed_info_data)
- 后端:补充 quoteThumbUrl/linkType/linkStyle 字段链路
- 前端:新增置顶会话背景态、引用链接缩略图预览与 LinkCard cover 样式
- 测试:新增转账、置顶、引用解析与视频缩略图相关回归用例
|
2026-02-11 21:57:43 +08:00 |
|
2977094657
|
3c8ee26f15
|
test(chat): 覆盖系统撤回/群名片/实时会话同步相关用例
- 新增系统撤回消息 replacemsg 解析与导出语义测试
- 新增群聊会话预览格式化与群名片 ext_buffer 解析测试
- 新增 realtime 会话列表与 sync_all 落库 last_sender_display_name 测试
|
2026-02-09 18:31:47 +08:00 |
|
2977094657
|
a38d99aa0b
|
improvement(chat): 优化导出筛选与目录选择体验
|
2026-02-09 00:15:47 +08:00 |
|
2977094657
|
5901b8ae2a
|
feat(contacts): 新增联系人列表与导出能力
|
2026-02-09 00:15:07 +08:00 |
|
2977094657
|
1091f9b4f5
|
feat(chat-media): 新增头像缓存并统一头像出口
|
2026-02-09 00:14:32 +08:00 |
|
2977094657
|
e43afd7c01
|
improvement(chat): 增强 realtime 增量同步并补充消息搜索索引接口
- 新增后台 autosync:监听 db_storage 变化后触发 realtime -> decrypted 增量同步(去抖/限频)\n- 优化 WCDB realtime 关闭:支持锁超时,避免 busy 时强行 shutdown\n- 新增消息搜索索引相关接口(status/build/senders)\n- 前端关闭 realtime 前改为 sync_all,减少切回解密库后的列表/消息落后\n- 增加解密库消息表/索引创建相关单测
|
2026-02-03 16:31:31 +08:00 |
|
2977094657
|
011903ed2c
|
feat(wrapped): 新增回复速度卡片 #3(秒回置顶关心)
- 新增年度总结卡片 #3:回复速度/置顶关心统计与排行\n- 前端新增 Card03 渲染与交互(含抽奖揭晓/Top 列表)\n- 更新年度总结卡片清单并加入评分单测
|
2026-02-03 16:31:04 +08:00 |
|