openclaw - 💡(How to fix) Fix [Feature] Make typing indicator timeout configurable by users [1 participants]

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…
GitHub stats
openclaw/openclaw#61992Fetched 2026-04-08 03:10:25
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
0
Author
Participants

Code Example

// reply-CxEVitwF.js
const typingIntervalSeconds = 6;  // 每6秒刷新
const typingTtlMs = 2 * 6e4;      // 2分钟超时(硬编码)

---

{
  "channels": {
    "feishu": {
      "typingIndicator": {
        "enabled": true,
        "timeoutMs": 120000,  // 可配置,默认为 2 分钟
        "refreshIntervalMs": 6000  // 可选,刷新间隔
      }
    }
  }
}

---

{
  "gateway": {
    "typingIndicator": {
      "timeoutMs": 120000
    }
  }
}

---

typing TTL reached (2m); stopping typing indicator
RAW_BUFFERClick to expand / collapse

Feature Request | 功能请求

Make typing indicator timeout configurable so users can control how long the "typing..." indicator displays before auto-hiding.

Problem | 问题

Currently, the typing indicator timeout is hardcoded in OpenClaw core:

// reply-CxEVitwF.js
const typingIntervalSeconds = 6;  // 每6秒刷新
const typingTtlMs = 2 * 6e4;      // 2分钟超时(硬编码)

This causes several issues:

  1. 用户完全失控 - 没有配置选项,用户无法调整
  2. 行为不透明 - 用户不知道 indicator 什么时候会消失
  3. 无法调试 - 当 indicator 超时时,用户不清楚是 framework 行为还是其他原因
  4. 飞书体验差 - 飞书显示"对方正在输入..."但2分钟后消失,用户以为断连

Expected Behavior | 期望行为

用户应该能够通过配置控制 typing indicator 的行为:

{
  "channels": {
    "feishu": {
      "typingIndicator": {
        "enabled": true,
        "timeoutMs": 120000,  // 可配置,默认为 2 分钟
        "refreshIntervalMs": 6000  // 可选,刷新间隔
      }
    }
  }
}

或者在 gateway 配置中:

{
  "gateway": {
    "typingIndicator": {
      "timeoutMs": 120000
    }
  }
}

Additional Context | 补充说明

相关日志:

typing TTL reached (2m); stopping typing indicator

这个行为应该在 OpenClaw 核心中可控,而不是硬编码。

Benefits | 好处

  • 可控性 - 用户可以根据实际需求调整
  • 透明性 - 用户知道 indicator 什么时候会消失
  • 兼容性 - 适配不同渠道的差异需求
  • 调试友好 - 方便排查 typing indicator 相关问题

Environment | 环境

  • OpenClaw Version: 2026.4.5
  • Node Version: v24.14.1
  • OS: Windows_NT 10.0.22631

extent analysis

TL;DR

Make the typing indicator timeout configurable by adding a configuration option to control the timeout duration.

Guidance

  • Introduce a new configuration option, e.g., typingIndicator.timeoutMs, to allow users to control the typing indicator timeout duration.
  • Update the reply-CxEVitwF.js file to use the configured timeout value instead of the hardcoded typingTtlMs value.
  • Consider adding a default value for the timeout duration to ensure backward compatibility.
  • Verify the fix by checking the typing indicator behavior with different timeout configurations.

Example

{
  "channels": {
    "feishu": {
      "typingIndicator": {
        "enabled": true,
        "timeoutMs": 120000
      }
    }
  }
}

Notes

The proposed solution assumes that the configuration option will be used to update the typingTtlMs value in the reply-CxEVitwF.js file. Additional changes might be required to handle the configuration update and propagate it to the relevant components.

Recommendation

Apply a workaround by introducing a configurable timeout option, as this will provide users with control over the typing indicator behavior and address the issues mentioned in the problem statement.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING