Hermes@mac13
ef2e060c95
CI / ci (pull_request) Waiting to run
CI / ci-windows (pull_request) Waiting to run
CI / plugin-mount (pull_request) Waiting to run
fix(subagent): emit an explicit mode=unknown so the aside open survives both gates
...
The `subagentchat` aside open failed silently: the host's `parseSubagentChatAddress`
(the tab type's `canOpen`) rejects a MISSING mode (`get("mode")` → `null`), so a mode
we could not stand behind — omitted to dodge the controller's 401 — made `claim` refuse
the address (`sidebarRight: tab type "subagentchat" refuses ...`), and the right column
never revealed.
Fix: the codec now normalizes an unknown/undefined mode to an EXPLICIT `mode=unknown`
instead of dropping it. That value passes both gates:
- client: `parseSubagentChatAddress` accepts `unknown` → `canOpen` true → claim accepts;
- server: `validateAddress` skips the compare when `mode === "unknown"` → no 401.
A real (one-shot/continuable) mode is still emitted when the host catalog is `ready` and
has the child; only an honest `unknown` is sent when it is not.
Drops the TEMP `diag.append` probe route + the client before/after diag fetches (their
mission is done) and rewrites the two spec cases to assert the explicit `mode=unknown`.
Verified with the host's real `parseSubagentChatAddress` pulled verbatim from the app
bundle: the old no-mode address → canOpen false (reproduces the refuse), the new
`mode=unknown` address → canOpen true. typecheck / lint / 29 subagent+sidechat specs green.
2026-11-06 14:07:33 +08:00
..
2026-10-03 22:51:09 +08:00
2026-10-03 22:51:09 +08:00
2026-09-03 20:29:50 +08:00
2026-08-27 21:44:04 +08:00
2026-09-11 16:37:03 +08:00
2026-09-10 18:21:09 +08:00
2026-09-10 21:28:22 +08:00
2026-10-13 22:27:19 +08:00
2026-08-15 00:28:59 +08:00
2026-09-09 11:15:30 +08:00
2026-09-03 12:04:35 +08:00
2026-08-21 23:49:13 +08:00
2026-08-12 18:27:28 +08:00
2026-10-11 20:01:21 +08:00
2026-08-11 19:28:48 +08:00
2026-08-11 19:28:48 +08:00
2026-10-11 20:01:21 +08:00
2026-09-11 15:28:49 +08:00
2026-09-09 23:09:48 +08:00
2026-09-01 18:23:28 +08:00
2026-09-04 14:13:34 +08:00
2026-09-03 20:00:08 +08:00
2026-09-03 20:29:59 +08:00
2026-10-03 22:51:09 +08:00
2026-08-29 15:31:13 +08:00
2026-08-21 01:28:17 +08:00
2026-09-03 12:04:35 +08:00
2026-09-07 23:51:10 +08:00
2026-09-01 23:05:26 +08:00
2026-09-07 23:51:06 +08:00
2026-09-03 17:32:04 +08:00
2026-09-09 15:18:06 +08:00
2026-08-11 11:16:36 +08:00
2026-09-09 15:18:06 +08:00
2026-09-11 15:28:49 +08:00
2026-09-03 12:04:35 +08:00
2026-09-04 20:28:35 +08:00
2026-09-02 10:55:03 +08:00
2026-09-04 22:08:02 +08:00
2026-09-03 12:04:35 +08:00
2026-08-18 18:05:01 +08:00
2026-08-22 22:50:13 +08:00
2026-09-04 22:08:02 +08:00
2026-08-23 02:50:37 +08:00
2026-08-16 23:35:57 +08:00
2026-08-16 23:35:57 +08:00
2026-08-29 15:31:08 +08:00
2026-09-03 12:04:35 +08:00
2026-10-03 22:51:09 +08:00
2026-10-03 22:51:09 +08:00
2026-10-03 23:15:44 +08:00
2026-10-03 23:15:44 +08:00
2026-08-16 23:35:57 +08:00
2026-08-12 01:16:20 +08:00
2026-10-03 22:51:09 +08:00
2026-09-02 21:43:34 +08:00
2026-09-01 16:01:34 +08:00
2026-09-09 15:18:06 +08:00
2026-09-03 12:04:35 +08:00
2026-08-15 15:05:06 +08:00
2026-09-01 16:01:34 +08:00
2026-09-11 15:28:49 +08:00
2026-10-11 20:01:21 +08:00
2026-10-11 20:01:21 +08:00
2026-09-06 21:53:49 +08:00
2026-08-24 12:05:14 +08:00
2026-08-23 22:02:47 +08:00
2026-09-09 15:18:06 +08:00
2026-09-03 10:42:56 +08:00
2026-09-03 12:04:35 +08:00
2026-09-09 15:18:06 +08:00
2026-08-18 01:22:28 +08:00
2026-09-03 12:04:35 +08:00
2026-08-18 01:22:28 +08:00
2026-10-03 22:51:09 +08:00
2026-09-03 19:59:00 +08:00
2026-09-03 10:32:34 +08:00
2026-09-02 10:27:43 +08:00
2026-08-14 14:53:03 +08:00
2026-09-03 12:04:35 +08:00
2026-08-22 23:19:17 +08:00
2026-09-09 15:18:06 +08:00
2026-09-03 20:00:08 +08:00
2026-10-04 00:08:13 +08:00
2026-08-16 23:35:57 +08:00
2026-09-09 15:18:06 +08:00
2026-08-16 23:35:57 +08:00
2026-09-03 19:59:00 +08:00
2026-10-13 22:27:19 +08:00
2026-09-09 15:18:06 +08:00
2026-08-16 23:06:44 +08:00
2026-10-03 22:51:09 +08:00
2026-09-08 21:21:30 +08:00
2026-09-06 23:46:46 +08:00
2026-09-03 10:00:13 +08:00
2026-09-09 23:09:48 +08:00
2026-10-11 20:01:21 +08:00
2026-08-13 01:39:59 +08:00
2026-09-03 12:04:35 +08:00
2026-09-09 15:18:06 +08:00
2026-09-02 23:20:17 +08:00
2026-08-16 16:24:28 +08:00
2026-09-09 11:15:30 +08:00
2026-09-03 19:59:00 +08:00
2026-09-03 12:04:35 +08:00
2026-09-09 15:18:06 +08:00
2026-09-10 17:13:21 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 11:15:30 +08:00
2026-10-11 18:25:35 +08:00
2026-10-11 18:25:35 +08:00
2026-09-09 11:15:30 +08:00
2026-09-03 20:00:08 +08:00
2026-10-13 22:27:19 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 11:15:30 +08:00
2026-11-06 14:07:33 +08:00
2026-08-22 15:34:05 +08:00
2026-09-03 12:04:35 +08:00
2026-08-13 09:06:55 +08:00
2026-09-03 12:04:35 +08:00
2026-09-02 21:43:34 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 15:18:06 +08:00
2026-09-09 15:18:06 +08:00
2026-08-26 21:40:32 +08:00
2026-10-03 22:51:09 +08:00
2026-08-29 15:49:35 +08:00
2026-08-27 21:44:32 +08:00
2026-09-09 13:37:08 +08:00
2026-09-03 12:04:24 +08:00
2026-09-11 15:28:49 +08:00
2026-08-21 01:28:17 +08:00
2026-09-09 14:29:44 +08:00
2026-09-09 11:15:30 +08:00
2026-10-03 22:51:09 +08:00
2026-08-20 18:28:57 +08:00
2026-08-21 01:28:17 +08:00