Xichang(Seacen) Zhao
671a1a0c21
fix(server): read the chat's channel from its binding instead of guessing ( #6330 )
...
A claim reported chat_channel_type by trying the binding lookup once per
channel it knew the name of. The list was Slack alone, then {Slack, Feishu}
after MUL-4899. Any channel added later — WeCom is the first — fell off the
end and claimed as a web chat, so the runtime brief told the agent to deliver
files with `multica attachment upload` into a conversation that cannot carry
an attachment. That is the same failure MUL-4899 fixed, reintroduced by the
shape of the fix.
Every channel writes the same channel_chat_session_binding row and differs
only in channel_type, and UNIQUE (chat_session_id) allows at most one, so the
row already holds the answer. Read it by session id and take channel_type off
what comes back. chat_in_thread stays Slack-only, now keyed on the row's own
channel_type: the two commands it picks between are hardwired to the Slack
history reader, and no other channel has one.
The channel_type-scoped query stays for the outbound senders, which are
per-platform by construction and must not deliver into a foreign channel.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
2026-08-04 14:04:01 +08:00
..
2026-07-31 14:40:16 +08:00
2026-07-15 03:09:56 +08:00
2026-07-15 03:09:56 +08:00
2026-08-03 12:39:27 +08:00
2026-07-29 13:08:48 +08:00
2026-07-29 15:39:18 +08:00
2026-08-03 19:00:00 +08:00
2026-08-03 19:00:00 +08:00
2026-07-29 12:47:14 +08:00
2026-07-29 14:01:09 +08:00
2026-07-29 15:39:18 +08:00
2026-08-03 12:39:27 +08:00
2026-07-22 15:38:38 +08:00
2026-07-29 15:39:18 +08:00
2026-07-29 15:39:18 +08:00
2026-07-29 14:28:44 +08:00
2026-07-23 15:40:18 +08:00
2026-07-29 12:47:14 +08:00
2026-08-03 17:43:03 +08:00
2026-07-29 18:25:14 +08:00
2026-07-29 15:20:13 +08:00
2026-07-29 18:25:14 +08:00
2026-07-15 03:09:56 +08:00
2026-07-29 15:39:18 +08:00
2026-07-15 03:09:56 +08:00
2026-07-17 16:44:31 +08:00
2026-07-17 16:44:31 +08:00
2026-07-16 15:23:56 +08:00
2026-07-15 03:09:56 +08:00
2026-07-15 03:09:56 +08:00
2026-08-03 12:39:27 +08:00
2026-07-29 15:39:18 +08:00
2026-07-29 15:39:18 +08:00
2026-08-03 15:40:33 +08:00
2026-07-29 15:54:51 +08:00
2026-08-03 12:39:27 +08:00
2026-07-31 15:59:50 +08:00
2026-07-30 15:37:13 +08:00
2026-07-24 11:30:27 +08:00
2026-07-31 12:04:01 +08:00
2026-08-03 19:00:00 +08:00
2026-07-22 16:52:34 +08:00
2026-07-22 16:52:34 +08:00
2026-07-31 14:40:16 +08:00
2026-07-15 03:09:56 +08:00
2026-07-27 14:26:23 +08:00
2026-07-31 14:40:16 +08:00
2026-07-27 14:26:23 +08:00
2026-07-16 15:23:56 +08:00
2026-08-03 13:35:04 +08:00
2026-07-20 15:38:31 +08:00
2026-07-15 03:09:56 +08:00
2026-07-30 18:42:14 +08:00
2026-08-03 13:35:04 +08:00
2026-07-31 14:41:05 +08:00
2026-07-24 16:39:22 +08:00
2026-07-27 15:44:39 +08:00
2026-08-04 14:04:01 +08:00
2026-07-27 13:12:06 +08:00
2026-07-15 03:09:56 +08:00
2026-08-03 17:43:03 +08:00
2026-08-04 14:04:01 +08:00
2026-07-29 13:08:48 +08:00
2026-07-31 12:54:25 +08:00
2026-08-03 17:43:03 +08:00
2026-07-31 14:41:05 +08:00
2026-07-29 18:25:14 +08:00
2026-07-29 18:25:14 +08:00
2026-07-28 16:19:35 +08:00
2026-07-28 16:19:35 +08:00
2026-07-30 14:22:13 +08:00
2026-07-31 15:59:50 +08:00
2026-07-30 19:18:36 +08:00
2026-07-29 15:39:18 +08:00
2026-07-15 03:09:56 +08:00
2026-07-15 03:09:56 +08:00
2026-07-22 20:33:15 +08:00
2026-07-29 15:54:51 +08:00
2026-07-22 20:33:15 +08:00
2026-07-22 22:43:34 +08:00
2026-07-16 13:31:06 +08:00
2026-08-03 14:29:47 +08:00
2026-07-23 15:58:25 +08:00
2026-07-23 15:58:25 +08:00
2026-08-03 14:29:47 +08:00
2026-07-17 19:21:27 +08:00
2026-07-31 13:04:42 +08:00
2026-07-17 19:21:27 +08:00
2026-07-23 15:58:25 +08:00
2026-07-23 17:54:52 +08:00
2026-07-23 17:54:52 +08:00
2026-07-23 15:58:25 +08:00
2026-07-31 13:04:42 +08:00
2026-07-15 03:09:56 +08:00
2026-08-03 12:39:27 +08:00
2026-07-31 14:41:05 +08:00
2026-07-31 14:41:05 +08:00
2026-08-03 17:43:03 +08:00
2026-07-15 03:09:56 +08:00
2026-07-15 17:52:10 +08:00
2026-07-15 17:52:10 +08:00
2026-07-29 15:39:18 +08:00
2026-07-23 01:57:44 +08:00
2026-07-29 15:39:18 +08:00
2026-07-24 11:30:27 +08:00
2026-07-15 22:37:57 +08:00
2026-08-03 14:29:47 +08:00
2026-07-30 21:01:48 +08:00
2026-07-30 21:01:48 +08:00
2026-07-30 21:01:48 +08:00
2026-07-17 11:11:52 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 17:43:03 +08:00
2026-08-03 17:43:03 +08:00
2026-08-03 17:43:03 +08:00
2026-08-03 17:43:03 +08:00
2026-07-30 20:34:01 +08:00
2026-07-29 16:03:26 +08:00
2026-07-30 20:34:01 +08:00
2026-07-30 20:34:01 +08:00
2026-07-30 20:34:01 +08:00
2026-07-30 20:34:01 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 12:39:27 +08:00
2026-08-03 12:39:27 +08:00
2026-07-16 13:54:01 +08:00
2026-08-03 13:35:04 +08:00
2026-07-16 13:54:01 +08:00
2026-07-16 13:54:01 +08:00
2026-07-16 13:54:01 +08:00
2026-08-03 13:35:04 +08:00
2026-08-03 12:39:27 +08:00
2026-07-22 15:38:38 +08:00
2026-07-22 14:38:31 +08:00
2026-07-22 14:38:31 +08:00
2026-07-22 20:33:15 +08:00
2026-07-22 20:33:15 +08:00
2026-07-15 03:09:56 +08:00
2026-07-22 20:33:15 +08:00
2026-07-15 03:09:56 +08:00
2026-07-15 03:09:56 +08:00
2026-08-03 12:39:27 +08:00
2026-07-31 16:52:17 +08:00
2026-07-31 16:52:17 +08:00
2026-07-31 16:52:17 +08:00
2026-07-15 03:09:56 +08:00
2026-07-31 14:40:16 +08:00
2026-07-16 15:23:56 +08:00
2026-07-24 16:39:22 +08:00
2026-07-24 16:39:22 +08:00
2026-07-24 18:30:20 +08:00
2026-07-24 16:39:22 +08:00
2026-08-03 19:00:00 +08:00
2026-07-31 16:52:17 +08:00
2026-08-03 12:39:27 +08:00
2026-07-31 16:09:19 +08:00