k88936
b0e870e7e2
前端:失败终态载荷的 message 缺字段不再打断 reducer
directThreadChat.ts:`turn.completed.failure.message` 在生成类型里是必填 string,但跨 IPC 的载荷没有运行时校验,缺字段 / null 时 `.trim()` 会在 reducer 里抛错,把这条订阅之后的所有事件一起打断;改成与兄弟函数 directTurnFailureNoticeText 一致的 typeof 判据,取不到非空字符串就按"没有原因"收口。
directThreadChat.test.ts:补一条回归用例(message 为 undefined / null 时不抛错、不补空气泡、终态照样收口);变异验证:撤掉 typeof 判据后该用例变红。
2026-09-24 13:03:53 +08:00
..
2026-09-24 13:02:41 +08:00
2026-09-21 21:09:34 +08:00
2026-09-18 14:34:10 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 11:36:02 +08:00
2026-09-16 07:09:12 +08:00
2026-08-24 21:44:44 +08:00
2026-09-21 21:09:34 +08:00
2026-09-20 14:49:57 +08:00
2026-09-20 22:49:56 +08:00
2026-09-19 01:28:27 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 01:28:27 +08:00
2026-09-22 16:59:36 +08:00
2026-09-22 16:25:51 +08:00
2026-09-16 06:03:16 +08:00
2026-09-22 16:01:54 +08:00
2026-09-23 00:09:12 +08:00
2026-09-19 16:19:28 +08:00
2026-09-21 01:52:35 +08:00
2026-09-21 01:52:35 +08:00
2026-09-14 13:56:56 +08:00
2026-08-11 14:34:42 +08:00
2026-09-13 14:48:55 +08:00
2026-08-20 19:07:25 +08:00
2026-09-19 21:59:44 +08:00
2026-09-16 16:39:15 +08:00
2026-09-12 06:41:49 +00:00
2026-09-21 22:49:21 +08:00
2026-09-17 17:56:53 +08:00
2026-09-14 21:02:08 +08:00
2026-09-19 21:59:44 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-19 15:08:31 +08:00
2026-09-22 16:45:29 +08:00
2026-09-22 14:07:07 +08:00
2026-09-22 14:06:20 +08:00
2026-09-23 00:09:12 +08:00
2026-09-24 13:03:53 +08:00
2026-09-22 14:06:20 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-09-21 21:09:34 +08:00
2026-09-07 15:17:21 +08:00
2026-08-20 19:07:25 +08:00
2026-09-17 17:56:53 +08:00
2026-09-22 17:12:04 +08:00
2026-09-20 22:19:50 +08:00
2026-09-20 22:19:50 +08:00
2026-09-22 13:51:30 +08:00
2026-09-15 12:14:03 +08:00
2026-09-23 00:09:12 +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-09-10 13:08:29 +08:00
2026-09-20 17:38:48 +08:00
2026-09-13 14:48:55 +08:00
2026-09-22 13:51:30 +08:00
2026-09-12 16:31:55 +08:00
2026-09-10 18:48:56 +08:00
2026-08-13 13:36:21 +08:00
2026-09-21 03:48:40 +08:00
2026-09-18 14:10:05 +08:00
2026-09-15 10:37:47 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 21:09:34 +08:00
2026-09-17 15:46:43 +08:00
2026-09-20 10:07:31 +08:00
2026-08-20 19:07:25 +08:00
2026-09-21 01:48:19 +08:00
2026-09-14 13:19:13 +08:00
2026-09-22 17:24:24 +08:00
2026-09-21 11:15:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:50:09 +08:00
2026-09-19 01:50:09 +08:00
2026-09-14 11:32:17 +08:00
2026-09-17 18:18:32 +08:00
2026-09-11 23:33:08 +08:00
2026-09-09 16:09:39 +08:00
2026-09-21 22:56:32 +08:00
2026-09-20 23:32:09 +08:00
2026-09-22 16:01:54 +08:00
2026-09-22 12:50:19 +08:00
2026-09-22 10:29:53 +08:00
2026-09-12 20:49:03 +08:00
2026-09-21 22:56:32 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 01:33:06 +08:00
2026-09-21 03:37:43 +08:00
2026-09-19 21:59:44 +08:00
2026-09-11 21:31:30 +08:00
2026-09-11 20:29:45 +08:00
2026-09-21 00:19:42 +08:00
2026-09-20 23:32:09 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 11:58:13 +08:00
2026-09-21 12:34:47 +08:00
2026-09-20 23:32:09 +08:00
2026-09-21 12:34:47 +08:00
2026-09-22 12:50:19 +08:00
2026-09-21 11:58:13 +08:00
2026-09-17 17:47:11 +08:00
2026-09-11 16:42:40 +08:00
2026-07-31 12:00:48 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:50:09 +08:00
2026-09-22 16:13:10 +08:00
2026-09-20 17:36:02 +08:00
2026-09-21 01:23:35 +08:00
2026-09-12 20:49:03 +08:00
2026-09-19 01:28:27 +08:00
2026-09-10 21:00:54 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-21 06:21:19 +08:00
2026-09-21 01:23:35 +08:00
2026-09-19 01:50:09 +08:00
2026-09-17 20:28:39 +08:00
2026-08-12 10:54:16 +08:00
2026-09-21 01:23:35 +08:00
2026-09-16 03:59:27 +08:00
2026-09-16 17:39:23 +08:00
2026-09-20 17:36:02 +08:00
2026-08-12 10:54:16 +08:00
2026-09-13 14:07:03 +08:00
2026-09-11 20:29:45 +08:00
2026-09-17 19:01:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-19 01:28:27 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-22 16:01:54 +08:00
2026-09-22 16:01:54 +08:00
2026-09-21 21:09:34 +08:00
2026-08-12 13:14:55 +08:00
2026-09-19 21:59:44 +08:00
2026-09-21 01:23:35 +08:00
2026-09-21 21:09:34 +08:00
2026-09-12 15:30:38 +08:00
2026-09-19 21:59:44 +08:00
2026-09-22 13:51:30 +08:00
2026-09-22 13:51:30 +08:00
2026-09-22 12:50:19 +08:00
2026-09-23 00:09:12 +08:00
2026-09-16 05:42:20 +08:00
2026-09-14 14:34:33 +08:00
2026-09-23 00:09:12 +08:00
2026-09-10 13:08:29 +08:00
2026-09-14 21:02:08 +08:00
2026-09-13 14:48:55 +08:00
2026-09-13 14:07:03 +08:00
2026-07-30 18:01:19 +08:00
2026-07-30 18:01:19 +08:00
2026-09-12 17:23:22 +08:00
2026-09-20 14:49:57 +08:00
2026-09-17 17:48:06 +08:00
2026-09-17 17:48:06 +08:00
2026-09-20 12:12:49 +08:00
2026-08-20 19:07:25 +08:00
2026-09-03 19:36:18 +08:00
2026-09-15 18:06:27 +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-23 00:09:12 +08:00
2026-09-10 13:08:29 +08:00
2026-09-10 13:08:29 +08:00
2026-08-20 19:07:25 +08:00
2026-09-10 13:08:29 +08:00
2026-09-19 12:29:27 +08:00
2026-09-10 13:08:29 +08:00
2026-09-18 13:25:18 +08:00
2026-09-19 01:28:27 +08:00
2026-09-20 17:36:02 +08:00
2026-09-20 12:12:49 +08:00
2026-08-08 10:25:02 +08:00
2026-09-16 03:39:21 +08:00
2026-09-19 15:08:31 +08:00
2026-09-21 01:23:35 +08:00
2026-09-10 15:11:29 +08:00
2026-09-22 02:24:47 +08:00
2026-09-21 21:09:34 +08:00