Skip to content

Telegram typing indicator drops mid-response, especially when message ends with colon #25836

@ajmb73

Description

@ajmb73

Platform: Telegram

Issue: The Telegram typing indicator ("...typing") disappears mid-conversation, making it appear Hermes has gone silent — even while actively generating a response or running tools.

Reproduction (100% reproducible on ai.home):

  1. Send Hermes a query that requires tool use
  2. Hermes begins responding with a message ending in a colon, e.g. "Checking:", "Scanning:", "Looking at:"
  3. The Telegram typing indicator disappears immediately after that colon
  4. Hermes continues working (tools fire, response generates) but the typing indicator never returns
  5. The final response eventually arrives — it was never actually silent

Root cause (per investigation):

  • Telegram's sendChatAction(typing) has no keepalive — it expires after ~5 seconds
  • When Hermes sends the first text token, Telegram clears the typing state
  • If Hermes is still generating the response, the indicator stays gone
  • Exacerbated when the message ends with a colon — the colon signals "action incoming" and Telegram clears the typing state exactly at that transition point

Existing related issue: Feature request for "Support explicit gateway typing indicator modes" — continuous vs thinking.

Impact: Makes Hermes appear unresponsive during normal multi-tool operations, even though all responses are being delivered correctly.

Workarounds noted:

  • Avoid ending messages with colons (workaround, not fix)
  • Periodic typing pings every ~4 seconds during active tool use (not currently implemented)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existscomp/gatewayGateway runner, session dispatch, deliveryplatform/telegramTelegram bot adaptertype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions