Skip to content

fix: keep phone Hermes session alive and status readable - #53

Merged
OmarB97 merged 3 commits into
mainfrom
codex/fork-tui-phone-status-context-readable
May 31, 2026
Merged

fix: keep phone Hermes session alive and status readable#53
OmarB97 merged 3 commits into
mainfrom
codex/fork-tui-phone-status-context-readable

Conversation

@OmarB97

@OmarB97 OmarB97 commented May 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • mirrors the follow-up work from upstream PR fix(tui): make phone status readable NousResearch/hermes-agent#36095 onto the fork after the previous fork mirror PR was merged
  • replaces the phone compact status bar with fixed two-line text so fields do not wrap mid-token on mobile
  • carries rough context estimates through live thinking/status events when the provider does not return usage, so ctx no longer stays stuck at zero
  • fixes the dflash post-tool empty-response recovery path by honoring top-level stall_retry config even when the live agent has an empty per-agent retry config, preventing fall-through into stale opencode fallback providers
  • preserves the existing dflash stall-retry fixes already on fork main

Verification

  • python3 -m pytest tests/agent/test_stall_retry.py -q
  • python3 -m pytest tests/test_tui_gateway_server.py -q -k "status_callback or get_usage"
  • npm test -- appChromeStatusRule createGatewayEventHandler statusRule statusBarTicker
  • npx eslint src/components/appChrome.tsx src/app/createGatewayEventHandler.ts src/gatewayTypes.ts src/types.ts src/__tests__/appChromeStatusRule.test.tsx src/__tests__/createGatewayEventHandler.test.ts
  • npm run build
  • python3 -m py_compile tui_gateway/server.py agent/conversation_loop.py agent/stall_retry.py

Live taro was patched and restarted. Verification:

  • retry-lane canary resolved stall_retry from config and recovered through qwen3.6-27b-256k on provider taro
  • phone/TUI canary: meshctl.py onboard completed and Hermes replied ONBOARD_OK instead of falling into opencode 401
  • current phone bar shows readable two-line status and nonzero context.

@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown

🔎 Lint report: codex/fork-tui-phone-status-context-readable vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 9620 on HEAD, 9619 on base (🆕 +1)

🆕 New issues (1):

Rule Count
invalid-assignment 1
First entries
tui_gateway/server.py:445: [invalid-assignment] invalid-assignment: Invalid subscript assignment with key of type `Literal["usage"]` and value of type `dict[Unknown, Unknown]` on object of type `dict[str, str]`

✅ Fixed issues: none

Unchanged: 4998 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@OmarB97 OmarB97 changed the title fix(tui): keep phone status context readable fix: keep phone Hermes session alive and status readable May 31, 2026
@OmarB97
OmarB97 merged commit 152f550 into main May 31, 2026
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant