Commit Graph

1751 Commits

Author SHA1 Message Date
clearyss
ba905a1a48 merge: 同步 dev 并解决 AI 见解冲突 2026-05-29 14:59:38 +08:00
cc
5e9e5ee597 Merge pull request #1033 from ZhongXiandou/fix/issue-996-account-dir-resolution
fix(account-dir): 修复账号目录解析导致 -3001 错误的两处缺陷 (#996)
2026-05-28 20:43:01 +08:00
aliyun8639545015
48b6b2216f fix(account-dir): 修复账号目录解析导致 -3001 错误的两处缺陷 (#996)
## 问题现象

部分用户在新版 WeFlow 配置 / 启动时持续报错:
  「数据库目录不存在: <dbPath>\<wxid>」(错误码 -3001)

复现条件之一:用户曾在微信里"自定义过微信号",dbPath 下会同时遗留两个
形似的子目录:
  - `<自定义号>`             :旧的、无后缀的目录,里面没有 db_storage
  - `<自定义号>_<4 位后缀>`  :微信 4.x 实际写入数据的目录

## 根因分析

账号目录解析有两处独立缺陷,分别命中不同人群:

1. **dbPathService.findAccountDirs / scanWxidCandidates**
   对名字以 `wxid_` 开头的目录额外要求"段数(按 `_` 切分)≥ 3"才放行,
   会让"未自定义过微信号"的普通用户(真实目录就叫 `wxid_X`)的账号
   完全消失在欢迎页扫描结果里。

2. **config.getAccountDir / accountDirResolver.resolveAccountDir**
   对非 `wxid_` 开头的输入存在错误的"短路返回"分支:
       if (!lowerWxid.startsWith('wxid_')) {
         const direct = join(root, cleanedWxid)
         if (existsSync(direct)) return direct  // ← 没校验里面有没有 db_storage
       }
   叠加 cleanAccountDirName 会把 `<自定义号>_<4 位后缀>` 清洗成 `<自定义号>`,
   于是无论用户保存的 myWxid 是哪个,都会命中旧的、无后缀的空目录,
   最终在 wcdbCore.open 阶段触发 -3001。

## 修复策略

把两个文件中"快速短路返回"的代码路径全部去掉,统一走基于"候选 + 评分"
的扫描流程:

  1) 同时接受**精确匹配**(entry == cleanedWxid) 与
     **后缀匹配**(entry.startsWith(cleanedWxid + '_')) 两种命中;
  2) 用 accountDirLooksValid 过滤掉"看起来根本不像账号目录"的项
     (没有 db_storage 也没有 FileStorage/Image[2]),从而过滤掉残留空目录;
  3) 在剩余候选中按以下优先级排序,取最优:
       - 有 session.db > 没有:区分"真正写入数据" vs "残留空目录";
       - 后缀匹配 > 精确匹配:与微信 4.x 实际写入目录命名一致;
       - 修改时间更新 > 更旧:兜底。

dbPathService 侧不再以"段数"过滤目录,改由新增的 dedupeAccountDirs 处理
"无后缀目录"与"带后缀目录"同时存在时的去重,保留"微信实际在用"那个。

## 兼容性

- 旧版本残留的 myWxid(无论用户存的是无后缀还是带后缀形式)都会被
  正确解析到带 session.db 的目录,用户无需手动修改配置;
- 未自定义微信号的普通用户(目录就叫 `wxid_X`)现在能正常被识别;
- 多账号、自定义微信号目录、绝对路径形式的 dbPath 等其它场景行为不变。

## 改动范围

- electron/services/dbPathService.ts
    findAccountDirs / scanWxidCandidates 不再按段数过滤;
    新增 dedupeAccountDirs / shouldPreferSuffixedDir / hasSessionDb 三个辅助方法。
- electron/services/config.ts
    重写 getAccountDir 扫描分支;新增 accountDirLooksValid /
    accountDirHasSessionDb 两个辅助方法。
- electron/services/accountDirResolver.ts
    与 config.ts 同步重写 resolveAccountDir,去掉错误的短路分支。

Closes #996
2026-05-28 11:04:09 +08:00
clearyss
f0fc25b6c6 style: 优化自身发送强度图表样式 2026-05-27 20:59:44 +08:00
cc
4a36a32a0a Merge pull request #1022 from J1amo/codex/macos-close-fallback
fix: allow macOS close fallback when tray is unavailable
2026-05-27 20:26:10 +08:00
clearyss
a67959dc2a feat: 优化足迹总结与自身消息强度分析 2026-05-27 19:59:48 +08:00
cc
cfed07a03b Merge pull request #1020 from Jasonzhu1207/main
feat: Add User Persona By AI For Insight
2026-05-26 23:35:57 +08:00
xuncha
c4ef716527 修复api导出图片已有缩略图时 再次导出不会被高清图替代的问题
fix(api): refresh image export cache when larger file is available
2026-05-26 18:58:16 +08:00
xuncha
7c408f253b Merge pull request #805 from chadblur/listbytime
导出页面的聊天列表新增最近活跃时间,并支持按记录数&聊天排序。新增AI生成的项目架构分析文档
2026-05-26 18:43:24 +08:00
xuncha
a667201ccf Merge dev into PR 805 2026-05-26 18:27:52 +08:00
J1amo
cb497d83c7 fix: allow macOS close fallback without tray 2026-05-26 03:45:37 +09:00
Jason
b8f210a859 fix: Insight Setting UI 2026-05-25 23:15:31 +08:00
Jason
d83546bf47 feat: Add AI User Persona 2026-05-24 23:31:41 +08:00
Jason
6a7031217e feat: Add AI User Persona 2026-05-24 23:24:15 +08:00
cc
305bdcb629 Merge pull request #1014 from Jasonzhu1207/fix/Get-SecretKey
fix: Failed to retrieve secret key after WeChat login
2026-05-24 21:46:57 +08:00
Jason
5991850002 Merge pull request #41 from Jasonzhu1207/fix/Get-SecretKey
fix: Failed to retrieve secret key after WeChat login
2026-05-24 21:31:28 +08:00
Jason
147c329fbb fix: Failed to retrieve secret key after WeChat login 2026-05-24 21:18:31 +08:00
cc
b0eab6ab35 Merge pull request #1012 from Jasonzhu1207/main
fix: WelcomePage
2026-05-24 13:55:45 +08:00
Jason
0552cefb90 fix: WelcomePage 2026-05-24 13:40:49 +08:00
cc
e3441e03e1 Merge pull request #1008 from Jasonzhu1207/main
feat: AI Summaries for Group Chats
2026-05-23 22:23:23 +08:00
Jason
fbd3b78b87 fix: Group Chat Summary 2026-05-23 17:57:24 +08:00
cc
90b309064b Merge branch 'dev' of https://github.com/hicccc77/WeFlow into dev 2026-05-23 09:58:09 +08:00
cc
5f8b27de80 修复朋友圈图片正则匹配 2026-05-23 09:58:04 +08:00
cc
738ea01f5d Merge pull request #1003 from Moxiaoyuan1003/fix/sns-thumb-and-backup-v2
fix: 修复朋友圈图片显示"已删除"和数据库备份卡住的两个 Bug
2026-05-23 02:03:14 +08:00
Moxiaoyuan1003
9cb6f04674 Merge branch 'dev' into fix/sns-thumb-and-backup-v2 2026-05-23 00:32:06 +08:00
Jason
87b39196c1 feat: Add AI Summaries for Group Chats 2026-05-22 23:50:49 +08:00
墨洛洛
89eef5a922 fix: 修复朋友圈图片显示"已删除"和数据库备份卡住的两个 Bug
1. snsService.ts: fixSnsUrl 正则只处理 /150 缩略图路径,
   实际 CDN 返回 /200 导致 HTTP 400,改为支持 /150|200|480

2. backupService.ts: inspectBackup 缺少完成事件导致界面卡死,
   ensureConnected 中 accountDirName 变量名未定义
2026-05-22 22:14:53 +08:00
cc
2e7d6ae62b Merge pull request #998 from Jasonzhu1207/main
feat: Add manually trigger AI insights in conversations
2026-05-22 17:47:45 +08:00
Jason
52ba55ee80 feat: Add manually trigger AI insights in conversations 2026-05-21 00:10:17 +08:00
cc
628bcdd90a 修复导出页函数传参错误 2026-05-20 23:02:52 +08:00
cc
95a9d04afe Merge pull request #989 from Jasonzhu1207/main
fix: ExportDate Page
2026-05-20 21:41:17 +08:00
Jason
9ca6581643 fix: ExportDate Page 2026-05-19 23:07:50 +08:00
Jason
4424d9d205 fix: ExportDate Page 2026-05-19 00:04:02 +08:00
H3CoF6
75136ad834 Merge pull request #977 from TMYTiMidlY/fix/linux-key-service-packaged-build
fix(linux): initialize key service in packaged builds
2026-05-18 02:03:11 +08:00
cc
1d7bed8434 Merge pull request #979 from Jasonzhu1207/main
feat: Add Chat Analysis
2026-05-17 23:30:20 +08:00
Jason
0cf338b94c fix: Chat Analysis 2026-05-17 23:17:34 +08:00
Jason
a07a6de645 fix: Mailbox Message Location 2026-05-17 22:45:27 +08:00
Jason
a300d3c5d3 fix: Chat Analysis 2026-05-17 21:32:31 +08:00
Jason
1df4f0e523 feat: Add Chat Analysis 2026-05-17 21:04:14 +08:00
TMYTiMidlY
7eeec7d930 fix(linux): initialize key service in packaged builds 2026-05-17 14:11:55 +08:00
cc
d008359d70 修复:足迹页面分段失效的问题;#972 #974 所提到的问题;数据库备份中目录错误的问题;
优化:足迹页面的索引扫描性能;导出页面的消息缓存逻辑
2026-05-17 11:54:42 +08:00
cc
ca6c479496 Merge pull request #971 from hicccc77/dev
Dev
2026-05-15 21:41:08 +08:00
cc
6d419dbe9e Merge pull request #966 from Jasonzhu1207/main
feat: Disable AI Output Truncation & Optimize max_tokens Settings
v4.5.1
2026-05-15 06:32:00 +08:00
Jason
ca1ef91bff Merge pull request #40 from Jasonzhu1207/refactor/ui-rebuild
Refactor/UI rebuild
2026-05-14 23:35:18 +08:00
Jason
482259953c feat: Disable AI Output Truncation & Optimize max_tokens Settings 2026-05-14 23:32:23 +08:00
xuncha
26eac85908 Merge pull request #963 from xunchahaha/dev
Dev
2026-05-14 23:06:42 +08:00
xuncha
9cd5947401 fix:缺一行 2026-05-14 22:46:21 +08:00
xuncha
e9e3844e3b Merge branch 'dev' into dev 2026-05-14 22:23:18 +08:00
xuncha
8129c1227b [Question]: 从v4.3.1升级到v4.4.5后,通过/api/v1/messages获取到的content是xml格式
Fixes #958
2026-05-14 22:16:12 +08:00
xuncha
aa4e3388fc [Bug]: 年度报告生成功能无法使用
Fixes #953
2026-05-14 22:11:32 +08:00