suzmii
87968e3be3
布局落盘 / 读盘失败不再吞掉原因:脱敏后留一行日志
- 两处 .catch(() => {…}) 没有 message 参数,失败原因被整个吞掉:用户只看到「布局保存失败」「布局读取失败」,排障端也拿不到为什么(revision 越界 / IPC 拒绝 / 权限);
- 写回失败(update_local_project_resource_canvas_layout 的 .catch)与读盘失败(read_local_project_resource_canvas_layout 的 .catch)都补上 error 参数,并落一行 console.warn;
- 新增 describeResourceCanvasLayoutFailure:把 error.message 压成一行、截断 400 字,并复用 errorReporting 的 normalizeDiagnosticText 脱敏(路径 / token / URL / 长 id 打码);
- errorReporting 的 normalizeDiagnosticText 改为导出:脱敏口径只留一份,业务文件不再各写一套正则;
- 用户可见文案一字不改(LayoutNotice 联合类型与既有四条用例的断言原样保留),原因只进日志;日志由客户端已装的 webview→application.log 桥带进诊断日志;
- 新增两条用例:写回失败必须留下原因(并断言可见文案仍是「布局保存失败,已恢复上次布局」)、IPC 拒绝且原因里带本机绝对路径与 token 时必须脱敏成 <path> 且压成一行;
- 变异验证:把写回那处改回吞掉原因 → 写回用例红灯;把读盘那处改回吞掉原因 → 脱敏用例红灯(各自只红对应一条,既有 24 条全绿)。
2026-09-11 21:00:16 +08:00
..
2026-09-11 19:18:12 +08:00
2026-09-07 17:05:42 +08:00
2026-08-28 17:09:02 +08:00
2026-09-10 19:55:58 +08:00
2026-08-24 21:44:44 +08:00
2026-09-10 18:05:15 +08:00
2026-09-03 10:36:43 +08:00
2026-08-26 02:32:04 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 19:44:04 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 10:36:45 +08:00
2026-09-08 22:03:37 +08:00
2026-09-10 14:38:59 +08:00
2026-09-11 18:09:48 +08:00
2026-09-02 18:15:38 +08:00
2026-08-11 14:34:42 +08:00
2026-08-20 19:07:25 +08:00
2026-09-11 14:53:11 +08:00
2026-08-08 16:18:45 +08:00
2026-08-31 19:47:23 +08:00
2026-09-07 15:17:21 +08:00
2026-09-03 10:02:05 +08:00
2026-09-07 15:17:21 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 20:02:48 +08:00
2026-07-20 05:50:24 +08:00
2026-09-03 10:35:23 +08:00
2026-08-20 19:07:25 +08:00
2026-09-09 16:32:43 +08:00
2026-09-08 11:56:36 +08:00
2026-08-13 13:36:21 +08:00
2026-09-11 20:08:22 +08:00
2026-09-11 19:23:25 +08:00
2026-09-10 20:41:19 +08:00
2026-08-20 19:07:25 +08:00
2026-07-21 19:40:38 +08:00
2026-09-09 21:39:20 +08:00
2026-09-11 15:37:17 +08:00
2026-09-11 11:21:03 +08:00
2026-09-09 16:09:39 +08:00
2026-09-11 13:54:12 +08:00
2026-09-10 20:41:19 +08:00
2026-09-11 20:29:45 +08:00
2026-09-11 16:42:40 +08:00
2026-09-11 16:58:49 +08:00
2026-09-10 15:43:03 +08:00
2026-09-11 16:42:40 +08:00
2026-07-31 12:00:48 +08:00
2026-09-11 10:16:01 +08:00
2026-09-10 19:57:34 +08:00
2026-09-11 20:08:22 +08:00
2026-09-10 21:00:54 +08:00
2026-09-11 16:42:58 +08:00
2026-09-11 13:30:14 +08:00
2026-09-11 18:45:38 +08:00
2026-08-12 10:54:16 +08:00
2026-09-10 20:41:19 +08:00
2026-09-11 16:58:49 +08:00
2026-08-12 10:54:16 +08:00
2026-09-11 19:55:22 +08:00
2026-09-11 20:29:45 +08:00
2026-09-11 13:26:17 +08:00
2026-09-10 19:05:57 +08:00
2026-09-11 13:54:12 +08:00
2026-08-12 13:14:55 +08:00
2026-09-11 16:42:58 +08:00
2026-09-11 12:36:08 +08:00
2026-08-20 19:07:25 +08:00
2026-09-09 20:08:04 +08:00
2026-09-05 19:10:49 +08:00
2026-07-30 18:01:19 +08:00
2026-07-30 18:01:19 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 19:36:18 +08:00
2026-08-25 13:06:46 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-08 11:56:36 +08:00
2026-09-04 16:30:43 +08:00
2026-09-03 14:42:38 +08:00
2026-08-20 19:07:25 +08:00
2026-09-08 11:56:36 +08:00
2026-09-04 16:30:43 +08:00
2026-09-11 21:00:16 +08:00
2026-09-11 20:39:59 +08:00
2026-08-08 10:25:02 +08:00
2026-08-26 21:34:04 +08:00
2026-08-23 19:06:05 +08:00
2026-09-08 11:56:36 +08:00
2026-09-11 20:22:52 +08:00
2026-09-08 11:56:36 +08:00