Skip to content

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

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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant