Commit Graph

36 Commits

  • feat(account-data): 新增账号信息查询与项目数据删除能力
    新增 /api/chat/account_info 与 DELETE /api/chat/account
    
    删除账号时清理编辑记录、账号密钥缓存与导出/数据库目录
    
    桌面端新增 app:getAccountInfo、app:deleteAccountData IPC 能力
    
    前端 API 层新增 getChatAccountInfo、deleteChatAccount
  • feat(chat-edit-ui): 新增聊天编辑入口与修改记录页面
    - 聊天右键菜单新增修改消息、字段编辑、恢复原消息、修复发送者、反转微信气泡位置
    
    - 新增 /edits 页面,支持会话维度浏览修改记录与原/现对比
    
    - 新增 EditedMessagePreview 组件复用聊天气泡样式
    
    - 侧边栏新增修改记录入口
    
    - useApi 增加 chat edits 相关接口,nuxt 配置支持可配置 API base
    
    - 增加会话级反转消息位置前端显示开关(本地存储)
  • improvement(wrapped): 清理主题系统,Wrapped 固定 Modern
    - 移除 useWrappedTheme 与主题切换入口(仅保留 Modern 视觉)
    
    - 封面/卡片/年份选择器/热力图等组件去掉 Win98/Gameboy/DOS 分支与样式
    
    - 删除 themedHeatColor、CRT/像素字体相关样式,降低维护成本
  • improvement(wrapped): 年度总结仅保留 Modern 主题
    - 移除复古主题切换入口(控制面板/左上角按钮)与 Win98/CRT 相关 UI
    
    - 简化 useWrappedTheme:仅保留 off(Modern),历史主题值自动回退
    
    - Modern 下也展示 LuckyBlock 占位图,并同步更新 README 说明
  • feat(app-shell): 桌面端集成自动更新(electron-updater)
    - 集成 electron-updater:检查更新/下载/安装/忽略此版本,并推送下载进度到前端
    
    - 打包版启动后自动检查更新;托盘菜单支持手动检查
    
    - preload 暴露 updater IPC + __brand 标记;前端新增更新弹窗与设置页版本/检查更新入口
    
    - 补全发布配置:artifactName/publish;release workflow 增加上传 latest.yml
  • feat(sns): 朋友圈页支持联系人侧栏、导出与 Live Photo
    - 左侧新增朋友圈联系人列表(按发圈数),支持搜索与“全部/单人”筛选
    - 新增“导出全部/导出此人”,展示导出状态并支持下载 ZIP(SSE 优先,轮询兜底)
    - Live Photo/实况:悬停播放、静音切换与预览弹窗
    - 媒体请求统一透传 use_cache;关闭缓存时追加时间戳避免浏览器缓存
  • 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 限制)
    
    - 修复拍一拍误判、公众号封面样式识别;转账过期状态与前端展示
  • improvement(wrapped-ui): 下线 DOS 主题并优化 Wrapped 多主题体验
    - 移除 DOS 主题入口、切换器组件与相关样式逻辑,统一主题为 Modern / GameBoy / Win98。
    
    - 新增 WrappedGameboyDither 组件,并在背景与 CRT 叠加层中引入 GameBoy 噪点效果。
    
    - 优化 wrapped 页面视口高度与背景同步逻辑(含 ResizeObserver 与 100dvh 适配),提升桌面容器显示稳定性。
    
    - 调整封面标题与预览位移、回复速度卡片滚动行为等细节,提升主题下视觉与交互一致性。
  • improvement(chat): 增强 realtime 增量同步并补充消息搜索索引接口
    - 新增后台 autosync:监听 db_storage 变化后触发 realtime -> decrypted 增量同步(去抖/限频)\n- 优化 WCDB realtime 关闭:支持锁超时,避免 busy 时强行 shutdown\n- 新增消息搜索索引相关接口(status/build/senders)\n- 前端关闭 realtime 前改为 sync_all,减少切回解密库后的列表/消息落后\n- 增加解密库消息表/索引创建相关单测
  • feat(wrapped-ui): 新增 Win98 主题与桌面化外观
    - 主题系统新增 win98(显示名 Windows 98,快捷键扩展到 F1-F4),并区分 retro(pixel/CRT) 与桌面 GUI 主题
    - 年度总结页新增 Win98 桌面背景与底部任务栏(背景色/视口高度适配)
    - 封面与卡片 slide 形态支持 Win98 窗口外观(title bar/icon/controls)
    - 主题切换器补充 Win98 选项并新增 Win98 专属切换器
    - 新增 Win98 图标资源(Start + 桌面图标)
  • improvement(wrapped-ui): 移除 VHS 主题并优化 DOS/CRT 视觉效果
    - 主题系统收敛为 Modern/Game Boy/DOS(快捷键改为 F1-F3)
    - 删除 VHS 切换器与相关样式(卡片/控件/年份选择/图表等)
    - DOS 主题统一使用像素字体,减弱发光强度并细化扫描线/闪烁参数
    - DOS 闪烁光标改由 WrappedCRTOverlay 渲染,避免全局样式副作用
    - 移除热力图 vhs 配色分支
  • feat(wrapped-ui): 引入多主题系统与切换器(Modern/Game Boy/DOS/VHS)
    - 新增 useWrappedTheme:主题状态全局共享、localStorage 持久化,支持 F1-F4 快捷键与循环切换
    
    - 新增主题切换器组件(Modern/Game Boy/DOS/VHS)与主题化年份选择器
    
    - 年度总结页接入 themeClass/currentBg;CRT 叠加层支持 VHS 效果(REC/时间戳/跟踪线)
    
    - 补充主题全局样式与卡片/控制面板主题适配
  • feat(wrapped-ui): 年度总结页支持懒加载与复古模式,新增概览/字数卡片
    - wrapped 页面改为:先拉 meta/年份列表,再按页请求单张卡片,首屏更快
    - 新增 Card#0 全局概览页(含图表)
    - 新增 Card#2 消息字数页(含键盘敲击统计与图表)
    - 新增复古模式:像素字体资源 + CRT Overlay,支持一键开关
    - 调整 shared 组件、types/useApi,更新前端依赖与 lock
  • feat(wrapped-ui): 新增年度总结页面与热力图卡片
    - 新增 /wrapped PPT 风格滑动浏览(封面 + 卡片页)
    
    - 新增 Card#1 组件与 24×7 周-小时热力图可视化
    
    - 首页新增年度总结入口;useApi 增加 getWrappedAnnual;补充 wrapped 背景纹理
  • feat(sns): 前端新增朋友圈页面并接入候选匹配
    - 新增 /sns 页面:时间线列表、账号切换、隐私模式、复制动态 JSON
    
    - 图片预览支持候选匹配切换并保存(localStorage + /api/sns/media_picks)
    
    - 聊天页侧边栏增加头像/朋友圈入口,隐私模式开关持久化(chat/sns 共用)
    
    - app.vue 增加 --dpr 与 sidebar rail CSS 变量,并在 resize 时刷新
    
    - useApi 补充 sns 相关接口封装
  • feat(chat): 前端增加实时开关并自动刷新会话/消息
    - 聊天页新增实时开关,自动探测 realtime 可用性
    
    - 监听 /api/chat/realtime/stream,变更时触发增量同步并刷新会话/消息
    
    - useApi 增加 realtime 接口,sessions/messages 支持 source 参数
  • feat(keys): 自动保存密钥并支持前端回填
    - 新增 output/account_keys.json 账号密钥存储(db_key / image_xor_key / image_aes_key)
    - 新增 /api/keys 查询已保存密钥;缺失时兜底从账号目录 _media_keys.json 读取图片密钥
    
    - 数据库解密成功后按账号写入 db_key;保存图片密钥时同步写入 store(失败静默不影响主流程)
    - 前端解密页进入图片密钥步骤自动回填;进入下一步/跳过时自动保存一次
  • feat(chat): 前端增加消息类型筛选与按类型导出
    - 聊天页新增消息类型筛选下拉框(render_types)
    
    - 导出弹窗新增“消息类型(导出内容)”多选与快捷项,并明确离线媒体不影响消息条数
    
    - createChatExport 透传 message_types;图片本地 URL 可同时携带 md5+file_id
    
    - 增加 message-filter-select 样式
  • feat(chat): 前端聊天页支持消息搜索与筛选
    - 新增搜索侧边栏:会话内/全局搜索、时间范围、发送者与类型筛选
    
    - 支持搜索结果高亮与上下文定位
    
    - 对接后端索引构建状态与错误提示
  • feat(chat): 聊天页增加导出弹窗与进度展示
    - 导出弹窗支持范围/格式/时间范围/媒体开关/文件名等参数
    - 批量会话列表展示头像,提供 全部/群聊/单聊 tab 与搜索
    - 导出进度使用 SSE 实时更新(失败回退轮询),提供进度条展示
    - 支持任务取消与 ZIP 下载
    - 隐私模式下导出同步隐私策略,且 hover 不再保持模糊
  • improvement(media): 聊天媒体支持 file_id 兜底定位
    - 图片/视频消息无 MD5 时,解析并下发 file_id,用于本地资源兜底定位与展示
    - 后端 chat_media/open_folder 支持 md5/file_id;视频优先可 Range 的文件响应,并在需要时解密落盘
    - 前端聊天页与 API 调用适配 file_id;补充媒体 URL 可用性判断
    - 解密页补充“获取密钥”提示,支持手动输入/保存密钥;README 同步说明;更新音频图标资源
  • improvement(chat): 表情消息支持一键下载并优化渲染
    useApi 增加 downloadChatEmoji,对接后端表情下载接口
    
    聊天页识别远程表情地址并提供下载入口;下载成功后切换为本地表情 URL
    
    修正文本混排表情的渲染结构并微调选中态颜色
  • feat(media): 添加图片资源解密与SSE进度
    - 后端新增图片解密密钥获取/保存接口(/api/media/keys)
    
    - 新增批量解密接口与输出结构:resource/{md5前2位}/{md5}.{ext}
    
    - 新增资源直读接口(/api/media/resource/{md5}),自动识别媒体类型返回
    
    - 新增SSE实时进度接口(/api/media/decrypt_all_stream),前端可实时展示进度
    
    - 前端解密页增加图片解密步骤与进度条/统计/失败说明,并对接相关API
    
    - README 补充图片资源解密使用说明
  • feat(chat): 添加聊天记录查看功能
    - 新增聊天记录页面,支持联系人列表和消息展示
    
    - 支持文本、图片、语音、文件、链接等消息类型
    
    - 添加语音消息直接播放功能(SILK转WAV)
    
    - 添加隐私模式(模糊头像和消息内容)
    
    - 新增pilk依赖用于语音转换