hermes - ✅(Solved) Fix Status bar shows permanent "⏲ 0s" stopwatch when idle [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The status bar always shows an idle stopwatch segment (⏲ 0s) even when no prompt is actively running.

Root Cause

The status bar always shows an idle stopwatch segment (⏲ 0s) even when no prompt is actively running.

Fix Action

Fixed

PR fix notes

PR #13022: fix(cli): hide idle stopwatch (⏲ 0s) in status bar

Description (problem / solution / changelog)

Summary

When Hermes CLI is left idle (no prompt running), the status bar permanently shows ⏲ 0s stopwatch segment. This PR adds a check to skip rendering the segment when the elapsed value is zero / the idle string.

Fix

Added and prompt_elapsed != "⏲ 0s" condition at two locations in cli.py:

  • Line ~2279: _build_status_bar_text() method
  • Line ~2342: _get_status_bar_fragments() method

Testing

  • Code compiles without errors (lint passed)
  • Tested locally - Mas Gun can verify by leaving CLI idle

Closes #13020

Changed files

  • cli.py (modified, +2/-2)

Code Example

prompt_elapsed = snapshot.get("prompt_elapsed")
if prompt_elapsed and prompt_elapsed != "⏲ 0s":
    frags.append(("class:status-bar-dim", " │ "))
    frags.append(("class:status-bar-dim", prompt_elapsed))
RAW_BUFFERClick to expand / collapse

Summary

The status bar always shows an idle stopwatch segment (⏲ 0s) even when no prompt is actively running.

Reproduction

  1. Start Hermes CLI on a build that includes upstream commit 654d61ab.
  2. Let the UI sit idle at the prompt.
  3. Observe the right side of the status bar.

Actual behavior

The stopwatch segment is rendered permanently as ⏲ 0s in idle state.

Expected behavior

The stopwatch segment should be omitted entirely when elapsed time is zero / idle.

Likely location

cli.py around the status-bar fragment injection site:

  • prompt_elapsed = snapshot.get("prompt_elapsed")
  • current rendering appends the segment whenever prompt_elapsed is truthy

Suggested fix

Skip segment injection when the elapsed value is zero / the formatted string is the idle value.

Example minimal call-site guard:

prompt_elapsed = snapshot.get("prompt_elapsed")
if prompt_elapsed and prompt_elapsed != "⏲ 0s":
    frags.append(("class:status-bar-dim", " │ "))
    frags.append(("class:status-bar-dim", prompt_elapsed))

Impact

Cosmetic only; no functional behavior change expected.

extent analysis

TL;DR

The issue can be fixed by modifying the status-bar fragment injection logic in cli.py to skip appending the stopwatch segment when the elapsed time is zero.

Guidance

  • Review the cli.py file, specifically around the status-bar fragment injection site, to understand how the prompt_elapsed value is being used.
  • Modify the code to add a conditional check for the prompt_elapsed value, ensuring that the stopwatch segment is only appended when the elapsed time is non-zero.
  • Verify that the fix works by running the Hermes CLI and observing the status bar behavior when idle.
  • Consider adding additional logging or debugging statements to help identify any potential issues with the prompt_elapsed value or the rendering logic.

Example

The provided example code snippet demonstrates a possible fix:

prompt_elapsed = snapshot.get("prompt_elapsed")
if prompt_elapsed and prompt_elapsed != "⏲ 0s":
    frags.append(("class:status-bar-dim", " │ "))
    frags.append(("class:status-bar-dim", prompt_elapsed))

This code checks if the prompt_elapsed value is truthy and not equal to the idle value ("⏲ 0s"), and only appends the stopwatch segment if the condition is met.

Notes

The fix is cosmetic only and does not affect the functional behavior of the application. However, it is still important to test the change thoroughly to ensure that it does not introduce any unintended side effects.

Recommendation

Apply the suggested workaround by modifying the cli.py file as described, as it is a targeted fix that addresses the specific issue without introducing any potential compatibility risks.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The stopwatch segment should be omitted entirely when elapsed time is zero / idle.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING