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
- Start the Telegram plugin in polling mode.
- Observe the startup diagnostic line for a polling cycle.
- 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.
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
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
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.tswired the polling monitor logger toruntime.error/console.error, whileextensions/telegram/src/polling-session.tssends the normalpolling cycle startedlifecycle diagnostic through that logger.