fix(matrix): resolve keyed-async-queue import for Docker builds#33269
fix(matrix): resolve keyed-async-queue import for Docker builds#33269ecohash-co wants to merge 1 commit intoopenclaw:mainfrom
Conversation
The bundler (Rolldown) compiles plugin-sdk into a single index.js, so the /keyed-async-queue subpath doesn't resolve as a separate module in the Docker image. KeyedAsyncQueue is already re-exported from the main plugin-sdk barrel, so importing from there works in both bundled (Docker) and unbundled (npm) environments. Fixes openclaw#33266
Greptile SummaryThis PR fixes a runtime module-resolution failure that silently prevented the Matrix plugin from loading inside Docker builds. Rolldown bundles
Confidence Score: 5/5
Last reviewed commit: 02cfa30 |
|
OpenClaw now uses a new Matrix plugin built on the official Closing this as potentially fixed in the new plugin. If this still reproduces after migrating, please open a new issue/PR against the new Matrix plugin and link back here. Migration/docs: |
Summary
keyed-async-queuesubpath not resolving after Rolldown bundling"openclaw/plugin-sdk/keyed-async-queue"to"openclaw/plugin-sdk"(whereKeyedAsyncQueueis already re-exported)Problem
The Docker image bundles
plugin-sdkinto a singleindex.jsvia Rolldown. The/keyed-async-queuesubpath export declared inpackage.jsondoesn't produce a separate chunk in the bundle, so the Matrix extension's import fails:This silently breaks Matrix for all Docker users — the container starts healthy but can't send or receive messages.
Fix
One-line import change.
KeyedAsyncQueueis already re-exported from the mainplugin-sdk/index.tsbarrel (export { enqueueKeyedTask, KeyedAsyncQueue } from "./keyed-async-queue.js"), so importing from the top-level path works in both bundled (Docker) and unbundled (npm) environments.Test plan
KeyedAsyncQueueis exported fromplugin-sdk/index.jsin the Docker bundleFixes #33266