webtecnica
c9c9b17d98
fix(web): resolve per-profile gateway state for ?profile= in /api/status
...
When ?profile=<name> was passed to /api/status, the handler used
_config_profile_scope to set the HERMES_HOME contextvar override, but the
gateway liveness check (get_running_pid_cached) and runtime status read
(read_runtime_status) both resolve _get_process_hermes_home(), which
deliberately ignores contextvar overrides (issue #56986 ) — it always reads
os.environ['HERMES_HOME'] or the platform default. A named profile's
gateway identity files (~/.hermes/profiles/<name>/gateway.pid,
gateway_state.json) were therefore never found and the endpoint always
reported the profile's gateway as stopped.
Fix: when ?profile=<name> is requested, resolve the profile directory and
pass explicit profile-scoped paths:
- get_running_pid_cached(pid_path=profile_dir / 'gateway.pid')
- read_runtime_status(path=profile_dir / 'gateway_state.json')
- get_runtime_status_running_pid(..., expected_home=profile_dir)
This is the same explicit-path pattern _collect_profile_gateway_topology
already uses for per-profile gateway state, and it works within the #56986
constraint (no HERMES_HOME env mutation; read-only cross-profile access).
Plain /api/status without ?profile= keeps the exact zero-arg calls, so its
behavior — including the pid-cache signature and runtime-status fallback —
is byte-for-byte unchanged.
Fixes #69143
2026-07-24 16:02:39 -07:00
..
2026-07-22 06:50:50 -07:00
2026-07-22 16:51:01 -04:00
2026-07-23 12:01:24 -07:00
2026-07-20 11:35:21 -07:00
2026-07-24 15:53:38 -07:00
2026-07-12 05:08:13 -04:00
2026-07-23 18:20:24 -07:00
2026-06-24 00:54:18 +05:30
2026-07-17 11:37:25 +05:30
2026-07-23 16:55:41 -07:00
2026-07-11 12:28:55 +05:30
2026-07-24 15:59:32 -07:00
2026-07-24 09:48:28 -07:00
2026-06-11 10:49:47 -07:00
2026-07-18 02:49:28 -07:00
2026-05-28 22:26:25 -07:00
2026-07-22 23:25:13 -05:00
2026-07-24 16:01:06 -07:00
2026-07-24 11:45:57 -07:00
2026-07-23 14:46:24 -04:00
2026-07-22 08:11:09 +05:30
2026-07-23 14:46:24 -04:00
2026-07-24 11:45:57 -07:00
2026-07-21 05:27:13 -07:00
2026-07-01 23:51:54 +05:30
2026-07-24 11:45:57 -07:00
2026-06-01 19:51:03 -07:00
2026-07-24 16:02:08 -07:00
2026-07-22 16:51:01 -04:00
2026-07-16 14:30:05 +10:00
2026-07-22 21:17:21 -07:00
2026-07-24 11:45:57 -07:00
2026-07-19 03:02:21 -07:00
2026-07-24 15:52:13 -07:00
2026-07-06 12:26:21 -07:00
2026-07-22 16:47:06 -04:00
2026-06-27 21:30:37 -07:00
2026-07-05 13:42:46 -07:00
2026-06-24 18:56:26 -07:00
2026-06-27 20:45:31 -07:00
2026-06-30 17:29:23 -07:00
2026-07-07 04:09:35 -07:00
2026-07-24 16:00:03 -07:00
2026-07-24 11:45:57 -07:00
2026-07-24 16:02:08 -07:00
2026-07-16 07:19:36 -07:00
2026-07-08 16:55:32 +10:00
2026-07-24 11:45:57 -07:00
2026-07-24 15:49:29 -07:00
2026-07-20 05:38:25 -07:00
2026-06-06 18:22:38 -07:00
2026-06-30 00:59:29 -05:00
2026-07-15 07:39:42 -07:00
2026-07-24 11:20:07 -07:00
2026-07-01 16:25:48 -05:00
2026-07-24 11:45:57 -07:00
2026-07-15 07:39:17 -07:00
2026-07-09 16:13:59 -05:00
2026-07-15 07:39:17 -07:00
2026-06-21 17:06:48 -07:00
2026-07-23 07:33:36 -07:00
2026-07-05 13:42:46 -07:00
2026-07-24 16:00:03 -07:00
2026-06-19 07:46:33 -07:00
2026-07-24 16:00:03 -07:00
2026-07-15 04:56:25 -07:00
2026-07-17 04:50:47 -07:00
2026-06-21 19:05:27 -07:00
2026-07-21 12:43:27 -07:00
2026-06-22 19:16:47 -05:00
2026-07-24 13:00:53 +05:30
2026-06-06 23:07:25 +05:30
2026-07-23 18:11:57 -07:00
2026-07-23 21:07:18 -07:00
2026-07-15 00:10:31 -07:00
2026-06-10 00:24:06 -07:00
2026-06-13 13:47:08 -07:00
2026-07-16 04:24:14 -07:00
2026-07-23 16:55:41 -07:00
2026-07-24 13:00:15 -07:00
2026-06-12 08:51:10 +00:00
2026-06-21 22:43:48 -07:00
2026-07-21 12:20:25 +05:30
2026-06-24 00:14:49 -07:00
2026-07-24 11:45:57 -07:00
2026-07-23 17:57:33 +05:30
2026-07-02 05:10:31 -07:00
2026-06-24 13:48:38 -05:00
2026-07-24 11:45:57 -07:00
2026-07-13 02:00:09 -07:00
2026-07-05 13:42:46 -07:00
2026-07-15 07:39:17 -07:00
2026-06-27 15:59:00 -07:00
2026-07-24 11:45:57 -07:00
2026-06-25 16:40:26 -05:00
2026-07-21 10:09:31 -04:00
2026-07-05 19:13:20 -07:00
2026-06-25 13:52:06 -07:00
2026-07-23 16:55:41 -07:00
2026-07-24 09:49:00 -07:00
2026-05-29 00:31:44 -07:00
2026-06-08 07:03:12 -07:00
2026-07-07 15:15:37 -07:00
2026-06-27 15:59:00 -07:00
2026-07-22 11:19:37 +05:30
2026-07-24 10:47:32 -07:00
2026-06-17 01:04:26 +08:00
2026-07-24 11:45:57 -07:00
2026-05-29 13:24:12 -07:00
2026-06-21 19:05:27 -07:00
2026-05-28 22:26:25 -07:00
2026-06-19 07:46:33 -07:00
2026-07-24 11:45:57 -07:00
2026-07-09 19:54:02 -07:00
2026-07-07 12:36:41 -07:00
2026-07-07 13:29:58 -07:00
2026-07-05 22:04:52 -07:00
2026-07-03 13:44:00 -07:00
2026-07-17 04:53:38 -07:00
2026-06-11 07:51:01 -07:00
2026-07-24 11:45:57 -07:00
2026-07-09 19:57:54 -07:00
2026-07-17 04:52:02 -07:00
2026-07-21 21:00:43 -05:00
2026-07-21 21:00:43 -05:00
2026-07-23 12:01:24 -07:00
2026-07-24 16:00:03 -07:00
2026-06-25 16:40:26 -05:00
2026-07-18 02:31:20 -07:00
2026-05-28 22:26:25 -07:00
2026-07-05 13:42:46 -07:00
2026-06-05 03:20:10 -07:00
2026-07-23 07:33:07 -07:00
2026-07-24 11:45:57 -07:00
2026-06-26 14:07:43 +05:30
2026-07-24 11:45:57 -07:00
2026-07-11 12:28:55 +05:30
2026-07-24 11:45:57 -07:00
2026-07-24 16:02:39 -07:00
2026-07-24 11:45:57 -07:00
2026-06-08 11:32:43 -07:00
2026-07-24 11:45:57 -07:00
2026-06-09 23:21:14 -07:00
2026-07-05 23:00:34 +05:30