openclaw - 💡(How to fix) Fix [Bug]: Matrix plugin: E2EE crypto bootstrap fails with "Cannot find module './plugin-entry.runtime.ts'" [7 comments, 4 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#59668Fetched 2026-04-08 02:41:52
View on GitHub
Comments
7
Participants
4
Timeline
13
Reactions
0
Author
Timeline (top)
commented ×7labeled ×2subscribed ×2closed ×1

Matrix plugin loads but E2EE crypto bootstrap fails on startup with: [plugins] matrix: failed loading crypto bootstrap runtime: Cannot find module './plugin-entry.runtime.ts'

Root Cause

Root cause: The compiled runtime file references its own TypeScript source via jiti, but the .ts file is not included in the npm package distribution. The functions ensureMatrixCryptoRuntime, handleVerifyRecoveryKey, handleVerificationBootstrap, and handleVerificationStatus are only accessible via this missing file.

Fix Action

Fix / Workaround

Workaround: Created a stub plugin-entry.runtime.ts in the dist folder. Matrix connects but E2EE is non-functional.

RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Matrix plugin loads but E2EE crypto bootstrap fails on startup with: [plugins] matrix: failed loading crypto bootstrap runtime: Cannot find module './plugin-entry.runtime.ts'

Steps to reproduce

The plugin-entry.runtime-BKy-grFo.js file uses jiti to dynamically load ./plugin-entry.runtime.ts at runtime, but only plugin-entry.runtime.js is shipped in the npm package — the .ts source file is missing from /dist/.

Root cause: The compiled runtime file references its own TypeScript source via jiti, but the .ts file is not included in the npm package distribution. The functions ensureMatrixCryptoRuntime, handleVerifyRecoveryKey, handleVerificationBootstrap, and handleVerificationStatus are only accessible via this missing file.

Expected behavior

E2EE should work out of the box with the stock matrix plugin, or the .ts source file should be included in the npm package dist.

Actual behavior

The plugin-entry.runtime-BKy-grFo.js file uses jiti to dynamically load ./plugin-entry.runtime.ts at runtime, but only plugin-entry.runtime.js is shipped in the npm package — the .ts source file is missing from /dist/.

Root cause: The compiled runtime file references its own TypeScript source via jiti, but the .ts file is not included in the npm package distribution. The functions ensureMatrixCryptoRuntime, handleVerifyRecoveryKey, handleVerificationBootstrap, and handleVerificationStatus are only accessible via this missing file.

Workaround: Created a stub plugin-entry.runtime.ts in the dist folder. Matrix connects but E2EE is non-functional.

OpenClaw version

Version: 2026.4.1 (da64a97)

Operating system

Ubuntu 25.10

Install method

No response

Model

Anthropic/Sonnet 4.6

Provider / routing chain

openclaw.anthropic.sonnet4.6

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

extent analysis

TL;DR

The most likely fix is to include the missing plugin-entry.runtime.ts file in the npm package distribution.

Guidance

  • Verify that the plugin-entry.runtime.ts file is being compiled and included in the distribution by checking the build process and npm package contents.
  • Check the jiti configuration to ensure it is not referencing the TypeScript source file directly, but rather the compiled JavaScript file.
  • Consider creating a build step to copy the plugin-entry.runtime.ts file to the /dist folder, or modify the jiti configuration to reference the compiled JavaScript file instead.
  • Test the workaround of creating a stub plugin-entry.runtime.ts file in the /dist folder to see if it resolves the issue, but note that E2EE may still be non-functional.

Example

No code snippet is provided as it is not clearly supported by the issue.

Notes

The issue seems to be related to the build process and npm package distribution, and the provided workaround may not fully resolve the issue. Further investigation into the build process and jiti configuration is needed.

Recommendation

Apply workaround: Create a stub plugin-entry.runtime.ts file in the /dist folder, but note that E2EE may still be non-functional. This is because the root cause of the issue is the missing TypeScript source file, and including it in the distribution or modifying the jiti configuration may be a more permanent solution.

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

E2EE should work out of the box with the stock matrix plugin, or the .ts source file should be included in the npm package dist.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING