openclaw - 💡(How to fix) Fix [Bug]: OpenClaw 4.7 Telegram extension package still references removed ./src/* files [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#62908Fetched 2026-04-09 08:00:54
View on GitHub
Comments
0
Participants
1
Timeline
0
Reactions
1
Participants

OpenClaw 4.7 appears to ship a broken Telegram extension package after a directory-layout refactor.

The extension was flattened from a src/ layout to flat files, but setup-entry.js and index.js still reference legacy import paths under ./src/.

That leaves the Telegram extension broken out of the box on 4.7 unless the user manually patches the installed package.

Root Cause

Observed root cause

The 4.7 package uses a flat file layout, but these legacy paths are still referenced:

Fix Action

Fix / Workaround

That leaves the Telegram extension broken out of the box on 4.7 unless the user manually patches the installed package.

Local workaround that fixed it

I restored compatibility locally with two stub files:

RAW_BUFFERClick to expand / collapse

Summary

OpenClaw 4.7 appears to ship a broken Telegram extension package after a directory-layout refactor.

The extension was flattened from a src/ layout to flat files, but setup-entry.js and index.js still reference legacy import paths under ./src/.

That leaves the Telegram extension broken out of the box on 4.7 unless the user manually patches the installed package.

Observed root cause

The 4.7 package uses a flat file layout, but these legacy paths are still referenced:

  • ./src/channel.setup.js
  • ./src/secret-contract.js

Those files no longer exist in the published layout.

Impact

  • Telegram setup / plugin loading can fail after upgrade
  • Users may think their config is wrong when the release itself is broken
  • Reinstalling the gateway service may also be required because the extension entrypoint changed from entry.js to index.js

Local workaround that fixed it

I restored compatibility locally with two stub files:

  1. extensions/telegram/src/channel.setup.js

    • re-exports telegramSetupPlugin from channel-plugin-api.js
  2. extensions/telegram/src/secret-contract.js

    • re-exports / reconstructs channelSecrets from secret-contract-O1aq4VFN.js

Then I reinstalled the gateway service so it picked up the new index.js entrypoint.

Expected fix upstream

Either:

  • update setup-entry.js and index.js to import the new flat-file locations, or
  • include proper compatibility shims in the published package when flattening bundled extensions

Why I think this is a packaging bug

The fix was entirely inside the installed OpenClaw package. No Telegram config changes were needed.

Suggested regression check

For bundled extensions, add a packaging smoke test that verifies all import targets referenced by published entry files actually exist in the npm tarball.

extent analysis

TL;DR

Update setup-entry.js and index.js to import the new flat-file locations or include proper compatibility shims in the published package.

Guidance

  • Verify the issue by checking if the setup-entry.js and index.js files still reference legacy import paths under ./src/.
  • To mitigate the issue, create stub files channel.setup.js and secret-contract.js in the extensions/telegram/src directory, re-exporting the required modules.
  • Reinstall the gateway service to pick up the new index.js entrypoint.
  • Consider adding a packaging smoke test to verify the existence of import targets in the npm tarball.

Example

// extensions/telegram/src/channel.setup.js
export { telegramSetupPlugin } from './channel-plugin-api.js';

// extensions/telegram/src/secret-contract.js
export { channelSecrets } from './secret-contract-O1aq4VFN.js';

Notes

This fix assumes that the issue is indeed a packaging bug and that updating the import paths or including compatibility shims will resolve the issue.

Recommendation

Apply a workaround by creating the necessary stub files and reinstalling the gateway service, as this is a more immediate solution that can be implemented locally.

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