unsupportedpastels
85b85f1367
fix(cli): reconnect the classic CLI after a gateway restart
...
After `hermes gateway restart` (or an idle exit or crash), the interactive
classic CLI never re-attached. GatewayConnection kept its finished loop thread,
so start() returned early and every later call raised "Gateway disconnected",
even once another client had started a new gateway. The CLI then reported
each prompt as "The model request failed. Run /model to switch...".
- GatewayConnection dials again on the next call once the gateway has hung
up. connect_gateway starts a gateway when none is running. The redial
resumes every session the viewer had open before it counts as ready, so no
frame of the new connection is missed. A failed redial is retried on the
next call; close() and a failed first connect stay final.
- Each connect bumps `epoch`, and a connection's loss is tagged with it. A
turn ignores a loss from an earlier epoch (lost_before), so a prompt that
reconnected and was accepted is never reported as "outcome unknown". That
report would invite the user to resend accepted work. A turn that was
running when the gateway went away is still reported as unknown and is
never resent.
- A lost gateway is the `gateway_connection` site failure: the CLI shows the
transport error as written instead of the model-failure copy, and the
error surface puts it on the gateway layer (no "Switch provider").
- `chat -q` whose turn a restart drain interrupted still exits 130, but now
says so on stderr with the drain's reason instead of exiting silently.
Refs #134889
2026-10-14 20:05:34 -04:00
..
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-10 15:20:13 +02:00
2026-10-10 15:20:13 +02:00
2026-10-14 12:41:58 -07:00
2026-10-10 15:20:13 +02:00
2026-10-10 15:20:13 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:36 +02:00
2026-10-08 19:54:07 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-07 10:57:32 -07:00
2026-10-14 00:29:11 +05:30
2026-10-14 05:52:49 -07:00
2026-10-07 00:07:02 -05:00
2026-10-07 18:15:29 +05:30
2026-10-10 19:22:07 -07:00
2026-09-30 20:01:49 +05:30
2026-10-12 19:19:55 +05:30
2026-10-12 19:19:55 +05:30
2026-10-10 19:22:07 -07:00
2026-10-11 03:07:37 -07:00
2026-10-10 19:22:07 -07:00
2026-10-10 19:22:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-09-29 23:54:34 +05:30
2026-10-08 17:22:54 +02:00
2026-10-03 13:38:29 -07:00
2026-10-08 17:22:54 +02:00
2026-10-14 05:52:49 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-07 13:20:42 +05:30
2026-10-08 17:22:54 +02:00
2026-10-05 23:33:41 -07:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 12:09:24 -07:00
2026-10-08 17:22:54 +02:00
2026-10-02 16:44:56 -07:00
2026-10-10 19:22:07 -07:00
2026-10-12 19:19:55 +05:30
2026-10-09 17:34:38 +02:00
2026-10-13 05:15:48 -07:00
2026-10-08 19:28:23 +02:00
2026-10-14 00:32:21 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-09-28 10:21:41 -07:00
2026-10-10 19:22:07 -07:00
2026-10-10 19:22:07 -07:00
2026-10-10 19:22:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-11 20:10:06 -07:00
2026-10-10 19:22:07 -07:00
2026-10-08 17:22:54 +02:00
2026-10-10 04:27:27 -07:00
2026-10-11 21:41:22 -07:00
2026-10-02 01:24:41 +05:30
2026-10-10 15:20:13 +02:00
2026-10-08 17:22:54 +02:00
2026-10-10 04:27:27 -07:00
2026-10-10 04:27:27 -07:00
2026-10-02 00:50:20 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-07 10:57:33 -07:00
2026-10-09 17:34:38 +02:00
2026-10-14 14:56:35 -07:00
2026-10-10 04:27:27 -07:00
2026-10-14 14:56:35 -07:00
2026-10-09 14:25:07 -07:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-10 04:27:27 -07:00
2026-10-08 17:22:54 +02:00
2026-10-10 20:18:10 +05:30
2026-10-10 19:22:07 -07:00
2026-10-09 19:31:10 -07:00
2026-10-10 17:47:35 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-10 17:59:08 -07:00
2026-10-12 16:55:20 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 19:28:23 +02:00
2026-10-09 17:34:36 +02:00
2026-10-09 17:34:36 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-12 21:17:47 -04:00
2026-10-08 17:22:54 +02:00
2026-10-10 20:44:53 -07:00
2026-10-14 20:05:34 -04:00
2026-10-09 17:34:36 +02:00
2026-10-09 17:34:38 +02:00
2026-10-11 21:41:22 -07:00
2026-10-12 03:18:48 -07:00
2026-10-13 12:44:39 -07:00
2026-10-13 12:44:39 -07:00
2026-10-08 17:22:54 +02:00
2026-10-07 03:07:33 +05:30
2026-09-28 14:16:18 -07:00
2026-10-08 19:54:07 +02:00
2026-10-08 19:54:07 +02:00
2026-10-09 15:36:14 -04:00
2026-09-28 10:21:41 -07:00
2026-10-08 19:54:07 +02:00
2026-10-08 17:22:54 +02:00
2026-10-14 00:29:11 +05:30
2026-10-08 21:35:58 +02:00
2026-10-07 19:29:35 +05:30
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-01 09:26:00 -04:00
2026-10-08 12:09:24 -07:00
2026-10-09 17:34:36 +02:00
2026-10-09 17:34:36 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-12 22:25:37 -07:00
2026-10-08 17:22:54 +02:00
2026-10-12 21:34:11 -04:00
2026-10-12 21:17:47 -04:00
2026-10-10 19:22:07 -07:00
2026-10-15 00:10:16 +05:30
2026-10-10 20:18:10 +05:30
2026-10-02 20:28:55 -05:00
2026-10-14 12:42:16 -04:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-14 00:06:58 +05:30
2026-10-08 17:22:54 +02:00
2026-10-13 22:08:20 +05:30
2026-10-14 00:06:58 +05:30
2026-10-14 00:06:58 +05:30
2026-10-14 00:06:58 +05:30
2026-10-14 00:06:58 +05:30
2026-10-14 00:29:11 +05:30
2026-10-09 02:10:47 -07:00
2026-10-08 17:22:54 +02:00
2026-10-09 10:24:04 -07:00
2026-10-09 17:34:38 +02:00
2026-10-07 03:46:20 -07:00
2026-10-14 00:06:58 +05:30
2026-10-09 17:31:52 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-11 20:10:06 -07:00
2026-10-14 12:41:58 -07:00
2026-10-09 17:34:38 +02:00
2026-10-06 12:31:21 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:31:52 +02:00
2026-10-10 19:22:07 -07:00
2026-10-13 12:04:33 -07:00
2026-10-10 19:22:07 -07:00
2026-10-06 13:01:39 +05:30
2026-09-27 02:48:48 -05:00
2026-10-14 12:42:16 -04:00
2026-10-12 03:18:48 -07:00
2026-10-10 04:27:27 -07:00
2026-10-09 17:34:38 +02:00
2026-10-10 04:27:27 -07:00
2026-09-28 10:21:41 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-10 19:22:07 -07:00
2026-09-28 11:29:49 -05:00
2026-09-27 01:10:56 +05:30
2026-10-08 19:08:58 -07:00
2026-10-08 19:08:58 -07:00
2026-10-14 06:22:10 -07:00
2026-10-08 19:08:59 -07:00
2026-09-29 14:53:00 -05:00
2026-10-09 17:34:38 +02:00
2026-10-02 13:50:23 -04:00
2026-10-08 21:38:54 -07:00
2026-10-07 06:48:09 -07:00
2026-10-09 10:24:04 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-14 14:56:35 -07:00
2026-10-09 18:18:41 -07:00
2026-10-08 12:09:24 -07:00
2026-10-09 19:31:10 -07:00
2026-10-08 17:22:54 +02:00
2026-10-02 04:09:57 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 19:54:07 +02:00
2026-10-12 13:11:06 -07:00
2026-10-08 12:09:24 -07:00
2026-10-08 17:22:54 +02:00
2026-10-12 03:18:48 -07:00
2026-10-07 18:15:29 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 19:54:07 +02:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:38 +02:00
2026-10-01 23:50:31 -07:00
2026-10-14 14:09:29 -07:00
2026-10-14 14:09:29 -07:00
2026-10-09 17:34:38 +02:00
2026-10-10 15:20:13 +02:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-09 17:34:38 +02:00
2026-09-28 10:21:41 -07:00
2026-10-08 17:22:54 +02:00
2026-09-28 10:21:41 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-09-28 12:43:03 -07:00
2026-10-08 17:22:54 +02:00
2026-10-10 06:49:02 -07:00
2026-10-14 00:06:58 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 21:29:48 +02:00
2026-10-14 20:05:34 -04:00
2026-10-08 17:22:54 +02:00
2026-10-10 04:27:27 -07:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-10 04:27:27 -07:00
2026-10-10 04:27:27 -07:00
2026-10-08 17:22:54 +02:00
2026-10-10 19:22:07 -07:00
2026-10-10 19:22:07 -07:00
2026-10-02 00:18:00 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-07 06:41:07 +05:30
2026-10-14 00:29:11 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 19:54:07 +02:00
2026-10-13 22:08:20 +05:30
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-13 12:44:39 -07:00
2026-10-08 17:22:54 +02:00
2026-10-13 12:04:33 -07:00
2026-10-09 17:34:38 +02:00
2026-10-09 17:34:36 +02:00
2026-10-09 17:34:36 +02:00
2026-09-26 23:49:25 +05:30
2026-10-13 00:56:48 -07:00
2026-10-08 17:22:54 +02:00
2026-09-28 10:21:41 -07:00
2026-10-08 21:29:48 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00
2026-10-08 17:22:54 +02:00