docs(计划): P2a/P2b 归属入册(鸿蒙侧,参照物是 WebUI 已成的形态);产物自证两条报错补"最常见的错误修法"

1. **归属弄反了**(pi 2026-09-14):联系人卡片视图 / 收件箱按会话折叠 / 删平级 tab
   **全在鸿蒙侧落地**;WebUI 的 `ContactPanel.tsx`(列表/卡片两视图)、`lib/mailGroups.ts`
   (按会话折叠)都是**参照物**,WebUI 根本没有平级会话入口。已写进计划文档,
   并写明「收件箱只取 50 封」那件事**不与 P2a 互相阻塞**(它是 WebUI 现存缺陷,单独查)。

2. **§14 落到产物自证这一族**:`build-stamp` / `packaging` 的报错原先只有「正确修法」
   (重构建 / 重打包),补上**最常见的错误修法** —— 别改 `BUILD_INFO.json` 的
   `gitRev`/`srcHash`、别改断言或塞一份手抄 dist:那是把判据废掉。
This commit is contained in:
2026-09-14 17:33:05 +08:00
parent e35ea479b5
commit 9af4fde706
3 changed files with 22 additions and 2 deletions

View File

@ -128,7 +128,10 @@ test('★ 产物必须自报来源:BUILD_INFO 精确比对(不是比时间
` 重构建:cd client/electron && npm run build(注意别把它的退出码丢在管道里)`);
if (now.gitRev && info.gitRev) {
assert.equal(info.gitRev, now.gitRev,
`产物是在另一个提交上构建的(产物记 ${info.gitRev},当前 HEAD ${now.gitRev})—— 重构建再复核`);
`产物是在另一个提交上构建的(产物记 ${info.gitRev},当前 HEAD ${now.gitRev})—— 重构建再复核。` +
`\n**别去改 BUILD_INFO.json 里的 gitRev / srcHash 了事** —— 那是把这条判据废掉` +
`(§14 说的「最常见的错误修法」):产物自证的意义就是「产物必须来自当前源码」,` +
`改记录只会让两者不一致却看不出来。正确修法只有一个:重跑构建。`);
}
/*
* `gitDirty` 只**展示**不判定:共享工作区常年是脏的(并发写作者的未提交改动),

View File

@ -87,7 +87,9 @@ test('★ 安装包里的 dist 必须与当前构建一致(否则装上去的
[],
'安装包里的 dist 与当前构建不一致(前端改了但没重打包):\n' +
` 缺:${missing.join(', ')}\n` +
' 重打:npx electron-builder --linux -c.electronDownload.isVerifyChecksum=false'
' 重打:npx electron-builder --linux -c.electronDownload.isVerifyChecksum=false\n' +
' **别去改这条断言、也别往包里塞一份手抄的 dist 了事** —— 那是把判据废掉\n' +
' (§14 说的「最常见的错误修法」):包里的 dist 必须就是当前构建的产物。'
);
});