Mike Smith
5edc0c492b
fix(cli): skip wrapper-side MCP discovery when chat launches the TUI
...
Each TUI instance spawned three stdio MCP server copies: one in the
CLI wrapper, one in tui_gateway.entry, one in the slash worker. The
wrapper's copy is dead weight — _launch_tui blocks in subprocess.call
until the TUI exits, so its registered MCP tools are never invoked,
yet the server process (35-85 MB) lives for the whole session.
Root cause: _is_tui_chat_launch() only detected --tui / HERMES_TUI=1,
so bare `hermes` with display.interface: tui fell through to
background MCP discovery in the wrapper while the TUI gateway
(spawned moments later) ran a second discovery.
Fix: _is_tui_chat_launch() now consults _resolve_use_tui() — the exact
TUI-vs-classic decision cmd_chat makes — for chat commands only
(command in {None, "chat"}), leaving mcp serve / gateway / acp / cron
discovery behavior untouched.
Verified: unit tests (RED->GREEN); E2E with a canary stdio MCP server
in a scratch HERMES_HOME counted 2 spawned copies pre-fix vs 1
post-fix (gateway's only), and the wrapper's RSS dropped ~43 MB.
Related: #71928 (same per-process duplication class), #11115 (lazy
non-core discovery).
2026-09-03 03:48:39 +05:30
..
2026-09-02 01:15:58 -07:00
2026-09-01 16:01:53 -04:00
2026-08-28 15:22:16 +10:00
2026-09-03 01:56:32 +05:30
2026-09-02 20:16:14 +05:30
2026-09-03 01:56:47 +05:30
2026-08-31 12:29:27 -07:00
2026-08-23 01:47:26 -07:00
2026-08-23 01:47:26 -07:00
2026-08-28 05:15:06 -07:00
2026-09-01 01:30:09 -07:00
2026-08-20 03:05:46 -07:00
2026-09-02 10:33:43 -07:00
2026-09-03 03:48:31 +05:30
2026-08-27 13:27:24 +05:30
2026-08-31 11:19:05 -07:00
2026-09-02 00:58:29 -07:00
2026-09-03 03:31:54 +05:30
2026-09-01 16:01:53 -04:00
2026-09-02 12:34:26 -07:00
2026-08-29 20:07:53 -07:00
2026-08-20 21:54:25 -07:00
2026-08-19 19:34:36 -07:00
2026-09-02 06:17:10 -07:00
2026-08-16 06:32:08 -07:00
2026-09-02 05:33:13 -07:00
2026-09-02 05:33:13 -07:00
2026-08-24 15:42:58 +05:30
2026-08-23 02:14:35 -07:00
2026-09-02 05:33:13 -07:00
2026-09-03 03:15:31 +05:30
2026-09-02 06:16:54 -07:00
2026-09-02 06:19:03 -07:00
2026-08-27 13:27:24 +05:30
2026-09-02 05:34:28 -07:00
2026-09-03 02:07:05 +05:30
2026-08-31 03:37:43 -07:00
2026-09-02 20:16:14 +05:30
2026-08-31 10:08:13 -07:00
2026-08-24 15:45:52 +05:30
2026-09-01 07:00:54 -07:00
2026-08-31 13:11:41 -07:00
2026-08-29 18:10:47 -07:00
2026-09-02 06:17:25 -07:00
2026-09-01 10:56:49 -07:00
2026-09-02 06:19:03 -07:00
2026-08-20 02:06:05 -07:00
2026-08-21 14:13:28 +10:00
2026-09-01 11:43:36 -07:00
2026-09-02 06:36:16 -07:00
2026-08-26 16:45:22 -07:00
2026-09-02 10:33:43 -07:00
2026-09-01 22:09:24 -05:00
2026-08-18 16:08:29 -07:00
2026-09-01 08:30:45 -07:00
2026-08-26 11:41:04 -07:00
2026-08-30 19:46:14 -07:00
2026-09-02 20:51:07 +05:30
2026-08-27 17:45:43 -05:00
2026-09-02 05:32:10 -07:00
2026-08-28 22:38:01 -05:00
2026-09-02 05:32:01 -07:00
2026-09-01 22:09:24 -05:00
2026-09-02 05:32:01 -07:00
2026-08-28 09:05:19 +05:30
2026-09-03 03:48:39 +05:30
2026-08-31 12:50:29 -07:00
2026-08-25 04:21:37 -07:00
2026-08-25 04:21:37 -07:00
2026-09-03 03:16:04 +05:30
2026-08-26 15:48:39 -07:00
2026-09-02 06:16:54 -07:00
2026-08-29 20:39:44 +05:30
2026-08-21 14:38:19 -07:00
2026-09-01 18:20:18 -03:00
2026-09-02 20:51:07 +05:30
2026-09-02 09:46:15 -07:00
2026-09-01 16:37:36 -03:00
2026-09-02 10:22:30 -07:00
2026-09-01 10:56:49 -07:00
2026-08-14 21:35:30 -07:00
2026-09-01 12:07:35 -07:00
2026-08-15 00:32:44 -07:00
2026-09-02 06:59:11 -07:00
2026-08-31 08:41:15 -07:00
2026-08-19 19:34:36 -07:00
2026-09-02 07:00:13 -07:00
2026-08-26 17:42:58 -07:00
2026-09-02 06:36:16 -07:00
2026-08-15 00:33:11 -07:00
2026-08-16 06:24:56 -07:00
2026-08-21 00:24:32 -07:00
2026-09-01 16:01:53 -04:00
2026-08-31 10:08:48 -07:00
2026-08-19 08:52:03 -07:00
2026-09-02 09:57:39 -07:00
2026-08-15 01:55:22 -07:00
2026-08-31 12:05:07 -07:00
2026-08-15 02:04:49 -07:00
2026-08-15 02:04:49 -07:00
2026-08-31 14:40:09 -07:00
2026-09-03 03:32:18 +05:30
2026-09-03 03:32:18 +05:30
2026-08-20 02:06:05 -07:00
2026-08-19 19:34:36 -07:00
2026-09-02 08:35:36 +10:00
2026-08-24 20:25:10 -07:00
2026-08-29 19:15:32 -07:00
2026-08-18 02:27:18 -07:00
2026-09-01 10:56:49 -07:00
2026-08-16 01:54:35 -07:00
2026-08-15 18:15:18 -07:00
2026-09-02 06:17:10 -07:00
2026-08-29 19:14:15 -07:00
2026-09-01 21:49:14 -07:00
2026-08-31 10:08:31 -07:00
2026-08-31 10:08:31 -07:00
2026-08-22 13:39:04 -04:00
2026-09-01 07:00:54 -07:00
2026-09-02 12:34:26 -07:00
2026-08-26 11:41:04 -07:00
2026-09-02 00:42:53 -07:00
2026-09-01 07:00:54 -07:00
2026-09-01 07:00:54 -07:00
2026-08-15 01:05:39 -07:00
2026-09-02 10:33:43 -07:00
2026-09-01 21:43:59 -07:00
2026-09-03 01:57:09 +05:30
2026-08-19 23:55:20 -07:00
2026-08-31 07:27:50 -07:00