fix(qqbot): enable qqbot plugin by default so runtime deps install be…#71051
Merged
Conversation
Contributor
Greptile SummaryAdds Confidence Score: 5/5Safe to merge — single-field config addition with no logic changes and clear precedent across the codebase. The change is a one-line JSON addition that mirrors an established pattern used by many other bundled plugins. No security implications, no runtime logic changes, and the PR description accurately diagnoses the root cause. No files require special attention. Reviews (1): Last reviewed commit: "fix(qqbot): enable qqbot plugin by defau..." | Re-trigger Greptile |
…fore QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened.
45f5296 to
c8c36da
Compare
Member
Angfr95
pushed a commit
to Angfr95/openclaw
that referenced
this pull request
Apr 25, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
ogt-redknie
pushed a commit
to ogt-redknie/OPENX
that referenced
this pull request
May 2, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
May 9, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
globalcaos
pushed a commit
to globalcaos/tinkerclaw
that referenced
this pull request
May 13, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
May 24, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
jameslcowan
pushed a commit
to jameslcowan/openclaw
that referenced
this pull request
Jun 2, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
sablehead
pushed a commit
to sablehead/openclaw
that referenced
this pull request
Jun 10, 2026
openclaw#71051) * fix(qqbot): enable qqbot plugin by default so runtime deps install before QR-code setup The qqbot plugin manifest was missing the enabledByDefault: true flag. Without it, ensureBundledPluginRuntimeDeps treats qqbot as bundled-but- disabled-by-default (isBundledPluginConfiguredForRuntimeDeps returns false when no qqbot channel/account is configured yet), so @tencent-connect/qqbot-connector is never installed into dist/extensions/qqbot/node_modules on first launch. This creates a chicken-and-egg failure for the QR-code binding flow: finalize.ts dynamically imports @tencent-connect/qqbot-connector to run qrConnect(), but the package isn't present yet because no account is configured — binding is exactly the step that configures the first account. Users hit: QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.js Adding enabledByDefault: true makes the host install qqbot's runtime deps eagerly on first launch, mirroring the pattern already used by mistral / groq / deepgram / amazon-bedrock-mantle and other bundled plugins whose providers must be available before any channel config exists. No code changes required; the existing runtime-deps install pipeline handles everything once the gate is opened. * fix(qqbot): changelog for enable-by-default fix (openclaw#71051) (thanks @cxyhhhhh) --------- Co-authored-by: sliverp <870080352@qq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
enabledByDefault: true. Without it,ensureBundledPluginRuntimeDepstreats qqbot as bundled-but-disabled-by-default (isBundledPluginConfiguredForRuntimeDepsreturnsfalsewhen no qqbot channel/account is configured yet), so@tencent-connect/qqbot-connectoris never installed intodist/extensions/qqbot/node_moduleson first launch.finalize.tsdynamically imports@tencent-connect/qqbot-connectorto runqrConnect(), but the package isn't present yet because no account is configured — and binding is exactly the step that configures the first account. Users hit:ERR_MODULE_NOT_FOUND: Cannot find package '@tencent-connect/qqbot-connector'."enabledByDefault": truetoextensions/qqbot/openclaw.plugin.json, making the host install qqbot's runtime deps eagerly on first launch.Change Type (select all)
Scope (select all touched areas)
Linked Issue/PR
Root Cause (if applicable)
extensions/qqbot/openclaw.plugin.jsonwas missing theenabledByDefault: truefield.isBundledPluginConfiguredForRuntimeDepsreturnsfalsewhen no qqbot channel/account is configured, causingensureBundledPluginRuntimeDepsto skip installing qqbot's runtime dependencies entirely.channelEnvVarsbut does not setenabledByDefault.Regression Test Plan (if applicable)
src/plugins/bundled-runtime-deps.test.tschannelEnvVarsand requires runtime dependencies,ensureBundledPluginRuntimeDepsshould install its dependencies even if no account is configured, as long asenabledByDefault: trueis set.enabledByDefaultdirectly covers this scenario.bundled-runtime-deps.test.tsalready coversenabledByDefaultbehavior.User-visible / Behavior Changes
@tencent-connect/qqbot-connector) is now automatically installed. Users no longer need a pre-existing account configuration to use the QR-code binding flow.ERR_MODULE_NOT_FOUND. It now works as expected.Diagram (if applicable)
Security Impact (required)
NoNoNoNoNoRepro + Verification
Environment
Steps
openclaw channels addand select QQ Bot.Expected
Actual (before fix)
QQ Bot 绑定失败: Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@tencent-connect/qqbot-connector' imported from .../dist/extensions/qqbot/channel-*.jsEvidence
Before fix:
After fix:
@tencent-connect/qqbot-connectoris pre-installed on first launch; QR-code binding flow proceeds normally.Human Verification (required)
@tencent-connect/qqbot-connectoris pre-installed.enabledByDefaultonly influences the initial install gate).Review Conversations
Compatibility / Migration
YesNoNoRisks and Mitigations
enabledByDefault: truecauses qqbot's runtime dependencies to be installed on first launch for all users, even those who do not intend to use QQ Bot.