mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-27 17:58:07 +00:00
_set_session_context() called set_session_vars() without session_id, so the HERMES_SESSION_ID contextvar was set to "" (explicitly empty) on every prompt.submit / session bind. The subprocess-env bridge (_inject_session_context_env) treats an explicit "" as authoritative and does NOT fall back to os.environ, so terminal/execute_code commands in a dashboard/TUI/web session saw an empty $HERMES_SESSION_ID — even though agent_init had populated it via set_current_session_id(). Every other set_session_vars() call site (gateway/run.py, cron, api_server) passes session_id; tui_gateway was the only one that dropped it, affecting all three of its frontends (Ink TUI, desktop, web). Fix: derive the live id in the existing _sessions lookup loop (agent.session_id, falling back to session_key — same derivation used at session finalize) and pass it through to set_session_vars. Adds tests/tui_gateway/test_session_id_injection.py covering agent id, session_key fallback, and unknown/ephemeral key. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_auto_continue.py | ||
| test_billing_rpc.py | ||
| test_codex_app_server_live_events.py | ||
| test_compaction_status.py | ||
| test_compress_lock_skip.py | ||
| test_compute_host.py | ||
| test_compute_host_phase1.py | ||
| test_custom_provider_session_persistence.py | ||
| test_delegation_session_lifecycle.py | ||
| test_entry_sys_path.py | ||
| test_failed_turn_retention.py | ||
| test_fast_session_scope.py | ||
| test_finalize_session_persist.py | ||
| test_gateway_owned_session_reap.py | ||
| test_goal_command.py | ||
| test_image_routing_stale_model.py | ||
| test_inline_rpc_gil_starvation.py | ||
| test_interim_assistant_callback.py | ||
| test_iso_certify_seam.py | ||
| test_make_agent_provider.py | ||
| test_mcp_late_refresh_thread_owner.py | ||
| test_mcp_reload_rev.py | ||
| test_moa_reference_emit.py | ||
| test_model_switch_marker_role.py | ||
| test_pet_generate_rpc.py | ||
| test_project_tree.py | ||
| test_projects_rpc.py | ||
| test_protocol.py | ||
| test_reasoning_config_per_model.py | ||
| test_reasoning_session_scope.py | ||
| test_render.py | ||
| test_review_summary_callback.py | ||
| test_session_id_injection.py | ||
| test_session_platform_resolution.py | ||
| test_slash_worker_ansi.py | ||
| test_slash_worker_mcp_discovery.py | ||
| test_slash_worker_profile_home.py | ||
| test_slash_worker_sys_path.py | ||
| test_subagent_child_mirror.py | ||
| test_subprocess_encoding.py | ||
| test_undo_command.py | ||
| test_wait_for_mcp_discovery.py | ||