This commit is contained in:
@@ -310,3 +310,29 @@ Windows内置tar解压含中文路径的完整归档曾报Invalid empty pathname
|
||||
本次独立备份为测试/var/backups/cmpp-platform/night-risk-20260907T230742和预生产/opt/cmpp-platform-backups/night-risk-20260907T231021;前一轮失败备份目录不算恢复资产。旧API依赖及dist仍在各自/opt/cmpp-night-previous-时间戳,历史logs依赖继续保留。新审核记录和预留状态需结合业务恢复,不能把应用回退当作数据回退。
|
||||
|
||||
验收需同时读journald与应用append日志;本轮预生产journal无warning不能掩盖API文件内既有日报事务超时。在线回执可在备份与验收之间自动退款,遇到余额摘要变化应核对实际业务流水、消息和服务时间,不回写余额以强行制造摘要一致。测试安全代理缺少运行目录、预生产日报刷新超时作为独立遗留问题登记。
|
||||
|
||||
|
||||
## 2026-09-08 前端候选安全门禁依赖修复
|
||||
|
||||
标准 prepare 的 security:verify 使用 createRequire(api/package.json) 读取 API 本地依赖及 brace-expansion 兼容适配器。仅安装根 node_modules 的前端候选可能向上解析到根依赖,导致安全门禁阻断。现已调整为:impact.frontend 或 impact.api 任一成立时,在独立候选依次执行 npm ci --include=dev、npm --prefix api ci --include=dev,再进入 security:verify 与 deploy:verify;不跳过安全检查,不在运行目录手工安装依赖。
|
||||
|
||||
npm run prisma:generate、API 生产构建,以及线上 api/dist、api/node_modules 的切换仍仅由 impact.api 控制。前端变更为安全检查安装的候选 API 依赖不进入线上 API;不因此停止或重启 API/Worker。依赖安装或门禁失败不生成可部署的 candidateHash,后续 deploy 拒绝进入备份和切换。
|
||||
|
||||
原测试发布编号 20260908T134432-6816f5617819-b92bbb04 已由标准 status 核验停在 prepare,backup=null,尚未备份、停服或切换。工具修复改变 toolHash,须重新生成绑定新摘要的计划并执行 fresh preflight,不修改旧计划或复用失效现场检查;原失败候选和日志保留。
|
||||
|
||||
本次补充 4 项发布工具隔离回归:Windows 共 35 项,33 通过、2 项因符号链接权限与 Linux flock 平台限制跳过;Linux 35/35 通过且临时测试夹具残留 0。Linux 日志 SHA-256 为 77106f006cf22ea33c3b744c9c7cbf43d3885b32f4c6d71d8d00b49b1578e900;日志和补丁见本机 %TEMP%/cmpp-starttime-pagination-20260908。隔离测试使用真实临时归档、文件摘要和目录切换,外部命令受控替身仅用于测试,不替代真实发布验收。
|
||||
|
||||
授权变更记录:用户随后明确授权先完成测试环境验收,再推送本轮提交并发布预生产;此前“仅测试部署、不推送、不预生产”的表述保留为历史阶段边界。本节记录时业务提交 6816f5617819546850b1188508eda37866f4ca3c 已本地提交、尚未推送;修复工具仍属受保护的未跟踪文件,不据此纳入整套既有发布工具或其他脏文件。后续两环境执行与验收分别追加。
|
||||
|
||||
|
||||
## 2026-09-08 22:35 前端正式构建模式修复
|
||||
|
||||
测试环境实际下载的 /assets/index-TLGANFcU.js(SHA-256:a8db74bfdb24ef0892ca77fee891297d492d07b979c8653d5fd7c86c186e080c)含 react_stack_bottom_frame 与 jsx-dev-runtime。标准 prepare 把全部命令 NODE_ENV 设为 test;Vite 以 NODE_ENV===production 判断 isProduction,React 插件沿用该值,因此此前名为 build 的发布产物实际包含开发版 React。必须核验最终产物,不能只凭执行 vite build 推断生产运行时。
|
||||
|
||||
本次工具最小修复仅为前端 npm run build 复制独立命令环境并显式设置 NODE_ENV=production;安装、安全/部署门禁、API 的生成/构建仍保持原环境,既有依赖前置与组件切换范围不变。vite.config.ts 同时增加 apply: build 的 configResolved 守卫:isProduction 为假立即拒绝构建,防止其他构建入口再次产出开发版发布包;serve 与 Vitest 不应用该 build 守卫。
|
||||
|
||||
真实观测的 18 次通知信号取消发生于可见、在线页面,elapsed 约 3.1~14ms,均为 AbortError 且栈落在 225:176295 的通知 effect cleanup,不是 15 秒 TimeoutError。146:26427 对应 React 的 commitPassiveUnmountEffectsInsideOfDeletedTree_begin,146:25089 对应递归 passive unmount;这是删除树清理路径,不能直接认定所有取消都是 StrictMode 双 effect,也不是另一台电脑 ERR_CONNECTION_CLOSED 的已证实根因。修正正式包后须重新验证资源模式和真实刷新/切页/通知行为。
|
||||
|
||||
截至本节,NODE_ENV=test、development 两个真实负例均被新守卫拒绝;默认构建和 lint 正在执行,尚未记为通过。工具 Windows 共 37 项,35 通过、2 项平台限制跳过;新增版本 Linux 37 项结果待返回。新工具摘要和新增 Vite 配置要求重新生成绑定精确提交的计划、执行对应证据与 fresh preflight;本节不表示新版本已部署或业务已验收。证据位于 %TEMP%/cmpp-starttime-pagination-20260908 的 live-react-mode-evidence.json、release-build-mode-fix.patch、build-mode-test.log、build-mode-development.log 及第三轮 browser 目录。
|
||||
|
||||
最终检查结果补记(2026-09-08 22:36):默认 npm run build 成功,npm run lint 退出码 0;两个真实 test/development 构建负例准确拒绝。Linux 新版工具 37/37 通过、0 失败/0 跳过,耗时 0.192s,日志 SHA-256 为 305e7df43ff9d6506a755fd8d5e0adb6926e5ee89eb719d8baa015c231a4060b,位于主 TEMP/release-linux-unit-buildmode-2026-09-08T14-34-37-205Z/linux-unittest.log。本结果补齐上文执行中的本地检查;正式候选及真实部署页面仍待验收。
|
||||
|
||||
Reference in New Issue
Block a user