Improve Telegram groups config shape diagnostics#83260
Conversation
Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Codex review: needs maintainer review before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. source-reproducible: current main requires Telegram PR rating Rank-up moves:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. PR egg Rarity: 🥚 common. What is this egg doing here?
Real behavior proof Risk before merge Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land the focused Telegram-owned doctor diagnostic after maintainer review, preserving plugin-agnostic core validation output. Do we have a high-confidence way to reproduce the issue? Yes, source-reproducible: current main requires Telegram Is this the best way to solve the issue? Yes, the PR keeps owner-specific guidance in the Telegram doctor path while preserving generic core raw validation diagnostics, which matches the repo boundary for plugin-owned behavior. Label justifications:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 6f18decb7a2c. |
|
Resolved the ClawSweeper P2 in latest push Verification: node node_modules/vitest/vitest.mjs run src/config/validation.channel-metadata.test.ts extensions/telegram/src/doctor.test.ts --reporter=dot
git diff --checkResult: 2 test files passed, 26 tests passed; diff check passed. @clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
Updated the PR body to match the current implementation: Telegram-specific shape guidance now lives in the Telegram doctor path, while core raw channel validation stays plugin-agnostic. @clawsweeper re-review |
|
@clawsweeper re-review Updated the Real behavior proof with a rebuilt bundled runtime path and actual |
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
* Improve Telegram groups config diagnostics Add targeted guidance when channels.telegram.groups uses a non-object shape so startup/config validation and doctor explain the required group-id object map and topic nesting. * fix(config): keep channel validation hints generic
Fixes #83083.
Summary
channels.telegram.groupsor account-level Telegramgroupsis an array, string,null, or another non-object shape.Real behavior proof
Behavior addressed: Malformed Telegram group config such as
channels.telegram.groups: ["-1001234567890"]failed with only a generic raw config validation error, and doctor did not explain the expected Telegram group/topic object-map shape.Real environment tested: WSL2 Ubuntu 24.04 OpenClaw checkout on PR head
357a224da3, rebuilt withpnpm buildso the bundled Telegram runtime entry matched the patch.Exact steps or command run after this patch:
Evidence after fix:
Observed result after fix:
openclaw doctornow emits the Telegram-owned malformed-groups guidance while the generic raw validation output still reports the invalid config paths without plugin-specific repair text.What was not tested: No live Telegram bot or forum topic was contacted; this is a config/doctor diagnostic-only change and intentionally does not send Telegram API calls or migrate arbitrary invalid values.
Verification
pnpm build— passed.OPENCLAW_CONFIG_PATH="$tmp/openclaw.json" node openclaw.mjs doctor— emitted the malformed Telegram groups warning shown above.node node_modules/vitest/vitest.mjs run src/config/validation.channel-metadata.test.ts extensions/telegram/src/doctor.test.ts --reporter=dot— passed, 26 tests.git diff --check— passed.