Files
CipherTalk/CHANGELOG.md
ILoveBingLu bb2e6ef2ff 发布 4.2.0:优化图片解密与聊天滚动体验
本次提交将应用版本更新到 4.2.0,并同步更新 package-lock、README 版本徽标和 CHANGELOG 发布说明。

主要变更:
- 接入 CipherTalk 自研图片 DAT 原生解密模块,替换原先迁移自 WeFlow 的命名与资源落点。
- 新增 Windows x64 与 macOS arm64 的预编译 native addon 资源,并补充 manifest、检查脚本和同步脚本。
- 保留 native 优先、TypeScript 兜底的图片解密链路,兼容 V3/V4 图片、wxgf 后处理、缓存命中、高清图回退和实况照片提取。
- 优化图片解密服务的缓存校验、wxgf/HEVC 白图规避、耗时诊断和默认日志输出,减少线上噪音。
- 聊天消息列表改为动态高度虚拟列表,卸载屏幕外消息 DOM 与图片节点,降低长会话内存和渲染压力。
- 修复虚拟列表初始挂载时滚底与顶部历史预加载互相打架导致界面上下晃动的问题。
- 顶部历史消息改为接近顶部并向上滚动时提前加载,同时加强 prepend 后的滚动位置恢复。
- 解析图片 XML 中的宽高信息,并用于聊天图片骨架屏、未解密占位、已解密图片和图片查看器初始窗口尺寸。
- 打包清理逻辑改为按当前平台保留对应 native addon,避免安装包携带无关平台产物。

验证:
- 已执行 npx tsc --noEmit,通过 TypeScript 类型检查。
- 本地未执行应用构建,发布构建交由 GitHub Actions 的 tag 发布工作流完成。
2026-04-21 04:44:47 +08:00

8.1 KiB
Raw Permalink Blame History

更新日志

本文档记录了密语 CipherTalk 的所有重要更改。

格式基于 Keep a Changelog 并且本项目遵循 语义化版本

[未发布]

变更

  • 暂无

[4.2.0] - 2026-04-21

新增

  • 新增 CipherTalk 自研图片 DAT 原生解密模块接入,支持 Windows x64 与 macOS arm64 预编译 .node 资源,并在打包时按平台保留对应产物。
  • 新增图片 native 解密运行时检查与同步脚本,便于验证本机原生模块是否可加载、是否为当前平台正确产物。
  • 聊天图片消息新增 XML 宽高解析,支持从 cdnthumbwidth/cdnthumbheightcdnmidwidth/cdnmidheightcdnhdwidth/cdnhdheight 等字段提取比例信息。

优化

  • 图片 DAT 解密链路改为 native 优先、TypeScript 兜底,保留原有 V3/V4 解密兼容路径、wxgf 后处理、缓存命中、高清图回退和实况照片提取逻辑。
  • 聊天图片解密中、未解密、未配置密钥和已解密状态统一按图片比例渲染占位,减少图片加载前后的布局跳动。
  • 图片查看器打开时会参考消息中的图片宽高预设窗口尺寸,图片真实加载后继续按实际尺寸校正。
  • 聊天消息列表改为动态高度虚拟列表,屏幕外消息 DOM 和图片节点会自动卸载,降低长会话滚动时的内存与渲染压力。
  • 顶部历史消息改为接近顶部并向上滚动时提前加载,同时加入滚动锚点恢复,减少加载更早消息后的跳屏。
  • 优化聊天滚动事件更新频率,避免每次滚动都触发不必要的 React 状态更新。

修复

  • 修复虚拟列表初始挂载时被误判为滚到顶部,导致打开聊天后历史加载与滚底逻辑互相打架、界面上下晃动的问题。
  • 修复部分 wxgf/HEVC 图片解码后出现纯白图的问题,避免错误缓存影响后续显示。
  • 修复图片 native 解密调试日志和聊天表匹配日志默认过多输出的问题,改为仅在调试环境变量启用时打印。
  • 修复图片 DAT 路径搜索、缓存检查与写入耗时较高时缺少定位信息的问题,保留可按需开启的耗时诊断。

[4.1.9] - 2026-04-11

修复

  • 修复 WCDB 解密相关问题1000 和 101 错误)

变更

  • 更新 Windows 和 macOS 平台的 WCDB 原生库

[4.1.8] - 2026-04-09

新增

  • get_messagesget_session_contextsearch_messagesget_moments_timeline 等 MCP 内容工具补充更可读的文本预览,并为弱宿主保留最多 3 条正文摘要

变更

  • MCP 内容类工具补充 outputSchema,继续保留结构化 structuredContent,同时让只读 content 的宿主也能稳定获得消息和朋友圈正文线索
  • ct-mcp-copilot Skill 调整为优先消费 items[].texthits[].message.textitems[].contentDesc 等结构化字段,并固化“先解析联系人真实 contactId 再查朋友圈”的查询路线
  • scripts/mcp-probe.js 支持指定工具名和 JSON 参数,并同时输出 contentstructuredContent 便于回归验证

[4.1.7] - 2026-04-08

修复

  • 修复 Windows 独立窗口标题栏在读取原生 overlay 几何后把右侧保底安全区压缩过小的问题,避免朋友圈右上角按钮再次进入系统窗口控件区域

变更

  • 调整独立窗口标题栏安全区换算逻辑,改为平台保底值与 overlay 实测值取最大值,避免实测值异常时覆盖默认避让

[4.1.6] - 2026-04-08

修复

  • 修复 Windows 独立窗口标题栏仍与原生最小化、最大化、关闭按钮重叠的问题,改为按 windowControlsOverlay 实际可用区域实时计算右侧避让

变更

  • 渲染层新增对原生标题栏 overlay 几何变化的监听,窗口缩放或系统控件占位变化时会自动同步左右安全区
  • 移除独立窗口标题栏额外写死的 Windows 右侧补偿,统一由共享 chrome 安全区变量接管

[4.1.5] - 2026-04-08

修复

  • 进一步增大 Windows 独立窗口标题栏右侧安全区,确保朋友圈等窗口的顶部操作区始终避开原生窗口控件

变更

  • 调整共享 window chrome 配置中 Windows 平台的右侧控件预留宽度,并为独立窗口标题栏追加额外避让间距

[4.1.4] - 2026-04-08

修复

  • 修复朋友圈独立窗口标题栏收缩后右上角操作区被裁掉的问题,恢复筛选、刷新等按钮的完整显示

变更

  • 调整独立窗口标题栏在 macOS 下的列宽分配策略,改为优先保证右侧工具区完整显示,标题区按需收缩

[4.1.3] - 2026-04-08

修复

  • 修复独立朋友圈窗口顶部标题栏在 Windows 和 macOS 下的控件预留与标题布局错位问题
  • 修复聊天记录、内置浏览器、AI 摘要、协议页、图片查看器、视频播放页等独立窗口标题栏高度不一致导致的偏移和首屏抖动问题

变更

  • 为独立窗口统一引入跨平台 window chrome 安全区变量,按平台区分左侧 traffic lights / 右侧系统按钮预留
  • 通用 TitleBar 新增独立窗口布局模式,统一 Windows 左对齐标题和 macOS 居中标题策略
  • 优化朋友圈标题栏右侧操作区在 macOS 下的收缩规则,避免按钮区挤压标题

[4.1.1] - 2026-04-08

变更

  • 调整 ct-mcp-copilot Skill 分发方式,改为随应用资源内置打包
  • MCP 页面移除本机 Agent 自动探测与一键安装入口,统一改为导出 zip 后手动导入
  • Skill 导出逻辑改为优先从内置资源路径解析,提升发布包中的可用性

[4.1.0] - 2026-04-07

新增

  • MCP 新增朋友圈时间线工具 get_moments_timeline
  • HTTP 开放接口新增 /v1/sns 朋友圈时间线接口
  • 应用内新增 ct-mcp-copilot Skill 安装入口,支持检测本机 Agent 并安装
  • Skill 支持导出本地 zip 包,便于手动导入

变更

  • ct-mcp-copilot Skill 扩展到覆盖健康检查、朋友圈和统计分析路由
  • Skill 安装器支持更多 Agent 目录探测,并支持按选中目标安装
  • MCP 页面拆分为 MCP / Skill 两个小分页,优化安装和配置体验

[4.0.1] - 2026-04-07

变更

  • macOS 构建前新增原生资源校验,缺少 libWCDB.dylib 等关键文件时直接失败
  • 禁用 Windows 差分更新,统一改为全量安装包更新
  • 简化发布链路,移除 .blockmap 产物依赖与校验

[3.0.1] - 2026-04-04

修复

  • 修复自动更新流程中重复触发下载的问题
  • 修复差分更新发布链路缺少安装包哈希强校验的问题

变更

  • 优化右下角更新提醒 UI下载中状态改为持续展示进度
  • 优化顶部下载状态展示,增加实时下载速度与已下载大小
  • 优化关于页更新状态同步,避免下载中被“检查更新”状态覆盖

新增

  • 完善的项目文档和贡献指南
  • 标准化的开源项目结构
  • MIT 许可证

变更

  • 更新 README.md 以反映项目定位
  • 优化 .gitignore 配置
  • 改进代码组织结构

[1.0.1] - 2024-01-08

新增

  • 💬 现代化聊天记录查看界面
  • 🎨 多主题支持(浅色/深色模式)
  • 📊 数据可视化图表界面
  • 🔍 搜索功能界面
  • 📤 数据导出界面
  • 🌍 国际化框架

技术特性

  • 基于 Electron 39 + React 19
  • TypeScript 严格模式
  • Zustand 状态管理
  • SCSS 样式系统
  • ECharts 图表库

修复

  • 修复了界面响应性问题
  • 优化了组件渲染性能
  • 改进了错误处理机制

[1.0.0] - 2024-01-01

新增

  • 🎉 项目初始版本
  • 基础的聊天记录查看界面
  • 简单的主题切换功能
  • 基础 UI 组件库

技术栈

  • Electron + React + TypeScript
  • 基础的文件结构和构建配置

版本说明

版本号规则

  • 主版本号: 不兼容的 API 修改
  • 次版本号: 向下兼容的功能性新增
  • 修订号: 向下兼容的问题修正

更新类型

  • 新增 - 新功能
  • 变更 - 对现有功能的变更
  • 弃用 - 即将移除的功能
  • 移除 - 已移除的功能
  • 修复 - 问题修复
  • 安全 - 安全相关的修复

更多详细信息请查看 GitHub Releases