fix: doctor plugin-id mapping for channel auto-enable (#25275) (thanks @zerone0x)
This commit is contained in:
@@ -28,6 +28,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Control UI/Chat images: centralize safe external URL opening for image clicks (allowlist `http/https/blob` + opt-in `data:image/*`) and enforce opener isolation (`noopener,noreferrer` + `window.opener = null`) to prevent tabnabbing/unsafe schemes. (#25444) Thanks @shakkernerd.
|
||||
- CLI/Doctor: correct stale recovery hints to use valid commands (`openclaw gateway status --deep` and `openclaw configure --section model`). (#24485) Thanks @chilu18.
|
||||
- Security/Sandbox: canonicalize bind-mount source paths via existing-ancestor realpath so symlink-parent + non-existent-leaf paths cannot bypass allowed-source-roots or blocked-path checks. Thanks @tdjackey.
|
||||
- Doctor/Plugins: auto-enable now resolves third-party channel plugins by manifest plugin id (not channel id), preventing invalid `plugins.entries.<channelId>` writes when ids differ. (#25275) Thanks @zerone0x.
|
||||
|
||||
## 2026.2.23
|
||||
|
||||
|
||||
@@ -4,9 +4,7 @@ import { validateConfigObject } from "./config.js";
|
||||
import { applyPluginAutoEnable } from "./plugin-auto-enable.js";
|
||||
|
||||
/** Helper to build a minimal PluginManifestRegistry for testing. */
|
||||
function makeRegistry(
|
||||
plugins: Array<{ id: string; channels: string[] }>,
|
||||
): PluginManifestRegistry {
|
||||
function makeRegistry(plugins: Array<{ id: string; channels: string[] }>): PluginManifestRegistry {
|
||||
return {
|
||||
plugins: plugins.map((p) => ({
|
||||
id: p.id,
|
||||
|
||||
@@ -502,8 +502,7 @@ export function applyPluginAutoEnable(params: {
|
||||
manifestRegistry?: PluginManifestRegistry;
|
||||
}): PluginAutoEnableResult {
|
||||
const env = params.env ?? process.env;
|
||||
const registry =
|
||||
params.manifestRegistry ?? loadPluginManifestRegistry({ config: params.config });
|
||||
const registry = params.manifestRegistry ?? loadPluginManifestRegistry({ config: params.config });
|
||||
const configured = resolveConfiguredPlugins(params.config, env, registry);
|
||||
if (configured.length === 0) {
|
||||
return { config: params.config, changes: [] };
|
||||
|
||||
Reference in New Issue
Block a user