openclaw - 💡(How to fix) Fix [Bug]: Telegram polling startup diagnostic is logged at error level [2 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…

Telegram polling startup emits the normal [telegram][diag] polling cycle started ... diagnostic through the error output path, making normal startup look like a gateway error.

Error Message

Telegram polling startup emits the normal [telegram][diag] polling cycle started ... diagnostic through the error output path, making normal startup look like a gateway error. 3. Confirm the normal diagnostic is rendered through the error channel. Normal polling lifecycle diagnostics should be emitted through the normal log channel, not the error channel. Only actual Telegram monitor failures should use the error channel. The observed startup diagnostic is a normal lifecycle line but is rendered with error styling in console output. rendered with ERROR coloring in console output. Severity: Medium; normal startup looks like a gateway error and can trigger false alarms. Frequency: Observed 4 matching startup diagnostic lines; at least one was rendered as an error. Current code path: extensions/telegram/src/monitor.ts wired the polling monitor logger to runtime.error/console.error, while extensions/telegram/src/polling-session.ts sends the normal polling cycle started lifecycle diagnostic through that logger.

Root Cause

Telegram polling startup emits the normal [telegram][diag] polling cycle started ... diagnostic through the error output path, making normal startup look like a gateway error.

Fix Action

Fixed

Code Example

Trace/proof:
- gateway-dev.log line 56:
  "[telegram] [diag] polling cycle started inFlight=0 outcome=not-started startedAt=n/a finishedAt=n/a durationMs=n/a offset=n/a"
  rendered with ERROR coloring in console output.
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Telegram polling startup emits the normal [telegram][diag] polling cycle started ... diagnostic through the error output path, making normal startup look like a gateway error.

Steps to reproduce

  1. Start the Telegram plugin in polling mode.
  2. Observe the startup diagnostic line for a polling cycle.
  3. Confirm the normal diagnostic is rendered through the error channel.

Expected behavior

Normal polling lifecycle diagnostics should be emitted through the normal log channel, not the error channel. Only actual Telegram monitor failures should use the error channel.

Actual behavior

The observed startup diagnostic is a normal lifecycle line but is rendered with error styling in console output.

OpenClaw version

NOT_ENOUGH_INFO

Operating system

NOT_ENOUGH_INFO

Install method

NOT_ENOUGH_INFO

Model

NOT_ENOUGH_INFO

Provider / routing chain

NOT_ENOUGH_INFO

Additional provider/model setup details

NOT_ENOUGH_INFO

Logs, screenshots, and evidence

Trace/proof:
- gateway-dev.log line 56:
  "[telegram] [diag] polling cycle started inFlight=0 outcome=not-started startedAt=n/a finishedAt=n/a durationMs=n/a offset=n/a"
  rendered with ERROR coloring in console output.

Impact and severity

Affected: Telegram polling users/operators watching gateway logs. Severity: Medium; normal startup looks like a gateway error and can trigger false alarms. Frequency: Observed 4 matching startup diagnostic lines; at least one was rendered as an error. Consequence: Operators can misread healthy Telegram polling startup as a failure.

Additional information

Current code path: extensions/telegram/src/monitor.ts wired the polling monitor logger to runtime.error/console.error, while extensions/telegram/src/polling-session.ts sends the normal polling cycle started lifecycle diagnostic through that logger.

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

Normal polling lifecycle diagnostics should be emitted through the normal log channel, not the error channel. Only actual Telegram monitor failures should use the error channel.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING