Commit Graph

1709 Commits

Author SHA1 Message Date
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
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
xuncha
33bffc10bc Merge pull request #962 from hicccc77/revert-961-dev
Revert "修复 #953"
2026-05-14 22:02:31 +08:00
xuncha
a98e4af9a8 Revert "修复 #953" 2026-05-14 22:01:56 +08:00
xuncha
eaa9dbea73 Merge pull request #961 from xunchahaha/dev
修复 #953
2026-05-14 21:46:10 +08:00
xuncha
046482fccd [Bug]: 年度报告生成功能无法使用
Fixes #953
2026-05-14 21:42:41 +08:00
cc
7e6ce2e0c5 Merge pull request #957 from HaoHaoLucas/bug-account-management
fix: 无可用账号时可进入账号管理界面;删除配置后持久化隐藏已删除账号
2026-05-14 18:41:34 +08:00
HaoHaoHaoLucas
e26c0fce91 1
Remove comment about storage quota or privacy mode.
2026-05-14 05:02:04 +08:00
HaoHaoLucas
abbab85f24 bug fixed 2026-05-14 04:48:41 +08:00
cc
d4f933b715 Merge pull request #947 from Jasonzhu1207/refactor/ui-rebuild
fix: Reply Setting
v4.5.0
2026-05-13 20:22:28 +08:00
Jason
16608b2c8e fix: Reply Setting 2026-05-12 23:08:34 +08:00
cc
405a81bcbb Merge pull request #946 from Jasonzhu1207/refactor/ui-rebuild
fix: Reply Style
2026-05-11 23:30:39 +08:00
Jason
d5d64b2b50 fix: Reply Style 2026-05-11 22:57:25 +08:00
cc
cb72cc1b92 Merge pull request #945 from Jasonzhu1207/refactor/ui-rebuild
Refactor/UI rebuild
2026-05-11 22:26:19 +08:00
cc
51214ac994 Merge pull request #944 from ztdd88/fix/silk-wasm-external
修复 silk-wasm 被错误内联导致 macOS 语音转写崩溃 (#943)
2026-05-11 21:31:13 +08:00
ztdd88
7f4f3c2eb0 修复 silk-wasm 被错误内联导致 macOS 语音转写崩溃 (#943)
将 'silk-wasm' 加入主进程 vite external 列表。

silk-wasm 默认会被 rollup 内联进 main.js,CI 构建环境下其内部
import_meta_url 变量被错误优化为 {}.url(即 undefined),
触发 createRequire(undefined) 报错,SILK 解码失败,
语音转写功能完全不可用。

silk-wasm 本身已在 package.json 的 asarUnpack 中(line 184-185),
强制 external 后正常走 require() 从 unpacked 加载,与原意图对齐。

本地 macOS Apple Silicon 验证:
- 构建产物 main.js 已 0 内联(grep tencent silk = 0)
- require("silk-wasm") 动态保留
- 实测语音转写恢复正常
2026-05-11 18:18:41 +08:00
Jason
0dc5efb635 fix: Splash Page UI 2026-05-10 23:07:26 +08:00
Jason
fea00a6e36 fix: Splash Page 2026-05-10 22:50:19 +08:00
Jason
c1be9bcd52 Merge branch 'hicccc77:main' into refactor/ui-rebuild 2026-05-10 22:31:22 +08:00
Jason
af9acb4a36 Merge branch 'hicccc77:main' into main 2026-05-10 22:31:09 +08:00
Jason
b6b930ebb9 feat: enhance splash screen with dynamic theme support and improved styling 2026-05-10 22:29:39 +08:00
Jason
796515d3e8 fix: Updated Chat Page UI, & Fixed Address Book White Screen Issue & Optimized Launch Page UI 2026-05-10 21:50:46 +08:00
cc
39e527a21a 修复了全局wxid错误清洗的问题 2026-05-10 15:17:02 +08:00
cc
70aff53ef1 Update README.md 2026-05-10 12:05:31 +08:00
cc
2d5832d6a9 更新readme 2026-05-10 12:04:18 +08:00
cc
604000ae51 更新readme 2026-05-10 11:54:04 +08:00
Jason
762a2ec832 fix: Reply UI 2026-05-09 23:48:10 +08:00
cc
810a8e9761 #929 2026-05-08 19:33:37 +08:00
cc
b126f7a1db Merge pull request #933 from Jasonzhu1207/refactor/ui-rebuild
Refactor: UI Rebuild
2026-05-08 19:19:28 +08:00
Jason
e41a1197cb fix: polish splash and export settings 2026-05-08 17:33:57 +08:00
cc
3317362187 修复 #926 中错误返回0消息的问题 2026-05-07 23:10:31 +08:00
Jason
ae5d1d95ab refactor: polish UI for Export and Contacts pages 2026-05-07 23:00:24 +08:00
Jason
0bd5610cf0 refactor: modernize splash screen 2026-05-07 19:46:37 +08:00
Jason
45a4247563 ci: harden release workflow 2026-05-06 23:20:14 +08:00
Jason
ff15dc6e9f fix: polish chat page refactor 2026-05-06 22:36:11 +08:00
Jason
0f0f5abb2a refactor: modernize chat page 2026-05-06 21:45:55 +08:00
Jason
128055c4f4 Merge branch 'hicccc77:main' into refactor/ui-rebuild 2026-05-06 20:06:56 +08:00
Jason
f43005ae34 Merge branch 'hicccc77:main' into main 2026-05-06 20:06:42 +08:00
cc
a6d652eec9 同步资源文件 2026-05-06 00:06:50 +08:00
cc
abde85a900 #910 2026-05-06 00:05:11 +08:00
cc
3f908a4dd3 Merge pull request #809 from hicccc77/dependabot/npm_and_yarn/dev/react-virtuoso-4.18.5
chore(deps): bump react-virtuoso from 4.18.4 to 4.18.5
2026-05-05 22:43:32 +08:00
cc
961ae4dea8 Merge pull request #812 from hicccc77/dependabot/npm_and_yarn/dev/lucide-react-1.8.0
chore(deps): bump lucide-react from 1.7.0 to 1.8.0
2026-05-05 22:42:50 +08:00