Skip to content

Typing: stabilize keepalive and suppress silent-run indicator#32573

Closed
zwright8 wants to merge 2 commits intoopenclaw:mainfrom
zwright8:codex/pr26712-typing-indicator-stability
Closed

Typing: stabilize keepalive and suppress silent-run indicator#32573
zwright8 wants to merge 2 commits intoopenclaw:mainfrom
zwright8:codex/pr26712-typing-indicator-stability

Conversation

@zwright8
Copy link
Copy Markdown

@zwright8 zwright8 commented Mar 3, 2026

Summary

Validation

  • pnpm exec vitest run src/channels/typing.test.ts src/auto-reply/reply/reply-utils.test.ts

Context

This PR is one focused slice extracted from:

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Mar 3, 2026

Greptile Summary

This PR makes two focused, targeted fixes to the typing indicator system: (1) it suppresses the tool-start typing indicator on silent message runs (where NO_REPLY is returned) in message/thinking modes by adding a pre-text guard in signalToolStart, and (2) it prevents the keepalive loop from being re-armed when onIdle/onCleanup closes the controller while a start() call is still in-flight by adding || closed to the post-fireStart guard.

Key changes:

  • src/channels/typing.ts: adds || closed check after await fireStart() in onReplyStart() — fixes the keepalive re-arm race condition
  • src/auto-reply/reply/typing-mode.ts: adds early-return in signalToolStart when mode is not instant, typing is not active, and no renderable text has been seen — suppresses typing on silent tool-only runs
  • All three test files add targeted coverage for the new behaviors with clear, well-isolated test cases

Confidence Score: 5/5

  • This PR is safe to merge — both fixes are minimal, well-scoped, and covered by new tests.
  • Both changes are single-concern fixes with clear before/after semantics. The || closed guard in typing.ts plugs a well-understood async race without touching any other logic. The guard added to signalToolStart in typing-mode.ts is additive (early return only) and its three conditions are each individually tested. New tests cover the exact race condition and the mode-specific tool-start behavior. No pre-existing tests appear to be broken by the behavioral changes.
  • No files require special attention.

Last reviewed commit: 6d46dff

@zwright8 zwright8 force-pushed the codex/pr26712-typing-indicator-stability branch from 6d46dff to e35d17d Compare March 3, 2026 05:07
@openclaw-barnacle
Copy link
Copy Markdown

This pull request has been automatically marked as stale due to inactivity.
Please add updates or it will be closed.

@openclaw-barnacle openclaw-barnacle Bot added the stale Marked as stale due to inactivity label Apr 8, 2026
@openclaw-barnacle
Copy link
Copy Markdown

Closing due to inactivity.
If you believe this PR should be revived, post in #pr-thunderdome-dangerzone on Discord to talk to a maintainer.
That channel is the escape hatch for high-quality PRs that get auto-closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: S stale Marked as stale due to inactivity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants