hermes-agent/tui_gateway
kyssta-exe 2db6b8c85b fix(tui_gateway): scope secrets and MCP discovery to the active profile (#67605)
The dashboard/desktop profile switch was partial — switching to profile X
ran the launch profile's resources in two ways:

1. MCP discovery was gated on the launch profile's config having
   mcp_servers. If the launch profile had none, the background thread
   never started and zero MCP servers existed for every profile. Fix:
   always start discovery and let discover_mcp_tools() handle the
   empty-config case.

2. The profile secret scope (.env credentials) was never installed on the
   tui_gateway path. get_secret() fell through to os.environ, resolving
   secrets from the launch profile instead of the selected one. Fix:
   install set_secret_scope(build_profile_secret_scope(...)) alongside
   every set_hermes_home_override() call site:
   - compute_host.py:_ensure_server_session (build-time)
   - server.py:_build (lazy resume)
   - server.py:_handle_resume_session (_make_agent scope)
   - server.py:_handle_resume_session (_init_session scope)
   - server.py:_handle_submit_or_edit (per-turn handler)
2026-07-26 16:19:52 -07:00
..
__init__.py feat: new tui based on ink 2026-04-02 19:07:53 -05:00
_stdin_recovery.py fix: Windows guard, dedup recovery, profile-safe paths, clear SO_RCVTIMEO 2026-07-20 12:48:50 +05:30
compute_host.py fix(tui_gateway): scope secrets and MCP discovery to the active profile (#67605) 2026-07-26 16:19:52 -07:00
entry.py fix(mcp): propagate profile HERMES_HOME override into shared discovery owner; restore stdio startup + WSTransport tests 2026-07-26 14:14:03 -07:00
event_publisher.py chore: address copilot comments 2026-04-24 12:51:04 -04:00
git_probe.py fix(windows): share one bounded, tree-killing git probe across both call sites (#68997) 2026-07-21 20:18:43 -05:00
host_supervisor.py fix(windows): widen utf-8 subprocess decode guard to sibling desktop-backend sites 2026-07-24 09:48:28 -07:00
loop_noise.py fix(tui_gateway): suppress WS peer-hangup teardown error flood (#50005) (#54126) 2026-06-28 02:35:01 -07:00
project_tree.py fix(projects): don't promote a deleted workspace to a project 2026-07-26 00:57:17 -05:00
render.py tui: inherit Python-side rendering via gateway bridge 2026-04-05 18:50:41 -05:00
server.py fix(tui_gateway): scope secrets and MCP discovery to the active profile (#67605) 2026-07-26 16:19:52 -07:00
slash_worker.py fix: Windows guard, dedup recovery, profile-safe paths, clear SO_RCVTIMEO 2026-07-20 12:48:50 +05:30
synthetic_turn.py feat(dashboard): isolate turns in compute host (#65895) 2026-07-16 15:24:03 -04:00
transport.py fix(tui-gateway): harden stdio transport against half-closed pipes + SIGTERM races (#17118) 2026-04-28 17:54:06 -05:00
turn_marker.py feat(desktop): crash-survivable in-flight turn journal 2026-07-24 23:31:55 -05:00
ws.py fix(tui-gateway): scope MCP discovery to active profile 2026-07-26 14:14:03 -07:00