xydt-tanshanshan
a2bc7ab269
[AI] fix(feishu): guard against missing inbound in channelRuntime fallback ( #93466 )
...
* [AI] fix(feishu): guard against missing inbound in channelRuntime fallback
When channelRuntime from gateway context is truthy but lacks the inbound
property, the ?? operator still selects it over getFeishuRuntime().channel,
causing TypeError at core.channel.inbound.run().
The ChannelGatewayContext types channelRuntime as ChannelRuntimeSurface
(only guarantees runtimeContexts), but channel.ts casts it to
PluginRuntimeChannel via type assertion. If a partial runtime object
without inbound is provided, the type lie becomes a runtime crash.
Fix: check channelRuntime?.inbound before using it; fall back to
getFeishuRuntime().channel when inbound is absent.
Related to #93453
* [AI] test(feishu): add regression for partial channelRuntime lacking inbound
When channelRuntime has runtimeContexts but no inbound, the guard in
bot.ts should fall back to getFeishuRuntime().channel. Add a test that
passes a partial channelRuntime and verifies dispatch does not crash.
Refs #93453
2026-06-16 13:15:08 +08:00
..
2026-06-12 15:36:49 -07:00
2026-06-13 23:38:58 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-11 11:11:22 +09:00
2026-06-11 11:11:23 +09:00
2026-06-16 01:08:51 +08:00
2026-06-12 12:59:02 +00:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-05 08:49:35 -07:00
2026-06-04 21:02:07 -04:00
2026-06-14 02:21:23 +00:00
2026-06-04 21:02:07 -04:00
2026-06-14 07:39:17 +08:00
2026-06-04 08:09:34 -04:00
2026-06-10 15:22:43 +09:00
2026-06-05 08:40:35 -07:00
2026-06-04 21:02:07 -04:00
2026-06-16 06:13:47 +02:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 00:08:57 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-07 14:16:00 -07:00
2026-06-04 21:02:07 -04:00
2026-06-06 22:56:48 -07:00
2026-06-15 19:48:43 +01:00
2026-06-04 22:06:01 -04:00
2026-06-08 21:44:57 +01:00
2026-06-04 21:02:07 -04:00
2026-06-15 21:28:53 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-14 23:01:27 +08:00
2026-06-04 21:02:07 -04:00
2026-06-11 08:25:25 +09:00
2026-06-16 13:15:08 +08:00
2026-06-09 03:53:38 +09:00
2026-06-04 21:02:07 -04:00
2026-06-12 22:48:46 -07:00
2026-06-13 19:14:16 -07:00
2026-06-04 21:02:07 -04:00
2026-06-14 22:52:18 +08:00
2026-06-04 21:33:54 -04:00
2026-06-16 06:23:07 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-16 05:56:48 +08:00
2026-06-04 21:02:07 -04:00
2026-06-10 13:05:24 +05:30
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-16 08:23:05 +08:00
2026-06-11 11:11:21 +09:00
2026-06-15 14:23:57 +08:00
2026-06-04 21:02:07 -04:00
2026-06-14 05:41:49 -07:00
2026-06-14 12:18:33 +08:00
2026-06-15 19:14:43 +10:00
2026-06-16 08:36:59 +08:00
2026-06-04 21:02:07 -04:00
2026-06-16 04:04:19 +02:00
2026-06-14 18:18:20 +05:30
2026-06-14 20:19:24 +08:00
2026-06-04 21:02:07 -04:00
2026-06-11 11:11:22 +09:00
2026-06-04 21:02:07 -04:00
2026-06-16 03:01:37 +02:00
2026-06-06 22:56:17 -07:00
2026-06-04 21:02:07 -04:00
2026-06-12 21:14:03 -07:00
2026-06-15 19:48:43 +01:00
2026-06-10 13:05:24 +05:30
2026-06-04 22:06:01 -04:00
2026-06-04 21:02:07 -04:00
2026-06-07 14:16:00 -07:00
2026-06-07 02:33:06 -07:00
2026-06-14 10:59:37 -07:00
2026-06-04 21:02:07 -04:00
2026-06-15 14:17:15 +05:30
2026-06-04 21:02:07 -04:00
2026-06-14 12:08:49 -07:00
2026-06-14 12:44:49 -04:00
2026-06-15 21:16:59 -07:00
2026-06-14 01:52:59 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 17:30:48 -07:00
2026-06-04 21:02:07 -04:00
2026-06-16 05:53:19 +02:00
2026-06-15 19:14:43 +10:00
2026-06-04 21:02:07 -04:00
2026-06-15 18:32:25 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-11 03:04:02 +09:00
2026-06-14 04:29:12 +08:00
2026-06-15 19:48:43 +01:00
2026-06-10 13:05:24 +05:30
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-14 07:43:17 +08:00
2026-06-16 08:42:48 +08:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-08 21:44:57 +01:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-08 21:44:57 +01:00
2026-06-07 14:16:00 -07:00
2026-06-07 14:16:00 -07:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 18:21:22 +10:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-04 21:02:07 -04:00
2026-06-15 20:50:22 -03:00
2026-06-16 04:34:14 +02:00
2026-06-15 00:08:57 -07:00
2026-06-04 21:02:07 -04:00
2026-06-13 14:33:28 -07:00
2026-06-10 13:05:24 +05:30
2026-06-15 19:48:43 +01:00
2026-06-06 18:34:54 +02:00
2026-06-07 14:16:00 -07:00
2026-06-06 18:34:54 +02:00