fix: v0.10.3 GB大小显示修复、主进程同步IO异步化、双进程重复逻辑收敛 - fmtSize补GB档(文件夹对比GB级文件此前显示1024.0MB)、scan-cache读盘与偏好写盘改fs.promises(IPC全异步原则补漏)、TEXT_EXTENSIONS/normDir/IGNORE_RULES_MAX收敛src/shared、安装包排除e2e与playwright配置、扫描进度E2E采样方式修稳

This commit is contained in:
2026-08-19 20:30:33 +08:00
parent 719681a366
commit 3ca18364cf
20 changed files with 267 additions and 174 deletions
+2 -9
View File
@@ -1,4 +1,5 @@
import type { ScanCacheEntry } from './folderScan'
import { normDir } from '../shared/pathNorm'
/**
* 文件夹扫描增量缓存的跨会话持久化纯数据模块(无 electron/fs 依赖,vitest 直接测试)。
@@ -34,15 +35,7 @@ export const emptyScanCacheStore = (): ScanCacheStoreData => ({
pairs: {}
})
/** 单一路径归一化:反斜杠→斜杠、去尾分隔符、盘符小写(其余保留原大小写 */
function normDir(p: string): string {
let s = p.replace(/\\/g, '/')
while (s.length > 1 && s.endsWith('/')) s = s.slice(0, -1)
if (s.length >= 2 && s[1] === ':') s = s[0].toLowerCase() + s.slice(1)
return s
}
/** 目录对键:两个归一化路径以 | 拼接(| 不出现在路径合法字符中) */
/** 目录对键:两个归一化路径(shared/pathNorm)以 | 拼接(| 不出现在路径合法字符中 */
export function pairKey(leftDir: string, rightDir: string): string {
return `${normDir(leftDir)}|${normDir(rightDir)}`
}