Skip to content

Commit d06034b

Browse files
committed
test: refresh external channel catalog expectations
1 parent 5a5682e commit d06034b

3 files changed

Lines changed: 20 additions & 17 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ Docs: https://docs.openclaw.ai
6666
- Docs: clarify that IRC uses raw TCP/TLS sockets outside operator-managed forward proxy routing, so direct IRC egress should be explicitly approved before enabling IRC. Thanks @jesse-merhi.
6767
- Dependencies: refresh runtime and provider packages including Pi 0.73.0, ACPX adapters, OpenAI, Anthropic, Slack, and TypeScript native preview, while keeping the Bedrock runtime installer override pinned below the Windows ARM Node 24 npm resolver failure.
6868
- Contributor PRs: require external pull requests to include after-fix real behavior proof from a real OpenClaw setup, with terminal screenshots, console output, redacted runtime logs, linked artifacts, and copied live output treated as valid evidence while unit tests, mocks, lint, typechecks, snapshots, and CI remain supplemental only.
69+
- Plugins/catalog: add an `@tencent-weixin/openclaw-weixin` external entry pinned to `2.4.1` so onboarding and `openclaw channels add` can install the Tencent Weixin (personal WeChat) channel by default. (#77269) Thanks @pumpkinxing1.
6970

7071
### Fixes
7172

@@ -333,6 +334,7 @@ Docs: https://docs.openclaw.ai
333334
- Install/postinstall: skip noisy compile-cache prune warnings when `EACCES`/`EPERM` prevent removing shared `/tmp/node-compile-cache` entries owned by another user. Fixes #76353. (#76362) Thanks @RayWoo and @neeravmakwana.
334335
- Agents/messaging: surface CLI subprocess watchdog/turn timeout messages to chat users when verbose failures are off, instead of collapsing them into generic external-run failure copy. Fixes #77007. (#77015) Thanks @neeravmakwana.
335336
- Agents/sessions: after embedded Pi runs, append assistant-visible reply text to session JSONL only when Pi did not already persist an equivalent tail assistant entry, without re-mirroring the user prompt Pi owns. Fixes #77823. (#77839) Thanks @neeravmakwana.
337+
- Plugins/CLI: load the install-records ledger when listing channel-catalog entries, so npm-installed third-party channel plugins resolve through `openclaw channels login`/`channels add` instead of failing with `Unsupported channel`. (#77269) Thanks @pumpkinxing1.
336338

337339
## 2026.5.3-1
338340

src/commands/doctor/shared/stale-plugin-config.test.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,14 @@ describe("doctor stale plugin config helpers", () => {
200200
it("removes stale third-party channel config and dependent channel refs", () => {
201201
const result = maybeRepairStalePluginConfig({
202202
plugins: {
203-
allow: ["discord", "openclaw-weixin"],
203+
allow: ["discord", "missing-chat-plugin"],
204204
entries: {
205205
discord: { enabled: true },
206-
"openclaw-weixin": { enabled: true },
206+
"missing-chat-plugin": { enabled: true },
207207
},
208208
},
209209
channels: {
210-
"openclaw-weixin": {
210+
"missing-chat-plugin": {
211211
enabled: true,
212212
token: "stale",
213213
},
@@ -216,23 +216,23 @@ describe("doctor stale plugin config helpers", () => {
216216
},
217217
modelByChannel: {
218218
openai: {
219-
"openclaw-weixin": "openai/gpt-5.4",
219+
"missing-chat-plugin": "openai/gpt-5.4",
220220
telegram: "openai/gpt-5.4",
221221
},
222222
},
223223
},
224224
agents: {
225225
defaults: {
226226
heartbeat: {
227-
target: "openclaw-weixin",
227+
target: "missing-chat-plugin",
228228
every: "30m",
229229
},
230230
},
231231
list: [
232232
{
233233
id: "pi",
234234
heartbeat: {
235-
target: "openclaw-weixin",
235+
target: "missing-chat-plugin",
236236
},
237237
},
238238
{
@@ -246,17 +246,17 @@ describe("doctor stale plugin config helpers", () => {
246246
} as OpenClawConfig);
247247

248248
expect(result.changes).toEqual([
249-
"- plugins.allow: removed 1 stale plugin id (openclaw-weixin)",
250-
"- plugins.entries: removed 1 stale plugin entry (openclaw-weixin)",
251-
"- channels: removed 1 stale channel config (openclaw-weixin)",
252-
"- agents heartbeat: removed 2 stale heartbeat targets (openclaw-weixin)",
253-
"- channels.modelByChannel: removed 1 stale channel model override (openclaw-weixin)",
249+
"- plugins.allow: removed 1 stale plugin id (missing-chat-plugin)",
250+
"- plugins.entries: removed 1 stale plugin entry (missing-chat-plugin)",
251+
"- channels: removed 1 stale channel config (missing-chat-plugin)",
252+
"- agents heartbeat: removed 2 stale heartbeat targets (missing-chat-plugin)",
253+
"- channels.modelByChannel: removed 1 stale channel model override (missing-chat-plugin)",
254254
]);
255255
expect(result.config.plugins?.allow).toEqual(["discord"]);
256256
expect(result.config.plugins?.entries).toEqual({
257257
discord: { enabled: true },
258258
});
259-
expect(result.config.channels?.["openclaw-weixin"]).toBeUndefined();
259+
expect(result.config.channels?.["missing-chat-plugin"]).toBeUndefined();
260260
expect(result.config.channels?.telegram).toEqual({ botToken: "keep" });
261261
expect(result.config.channels?.modelByChannel).toEqual({
262262
openai: {
@@ -304,25 +304,25 @@ describe("doctor stale plugin config helpers", () => {
304304

305305
it("uses missing persisted install records as stale channel evidence", () => {
306306
installedPluginIndexMocks.loadInstalledPluginIndexInstallRecordsSync.mockReturnValue({
307-
"openclaw-weixin": {
307+
"missing-chat-plugin": {
308308
source: "npm",
309-
resolvedName: "@tencent-weixin/openclaw-weixin",
309+
resolvedName: "@example/missing-chat-plugin",
310310
installedAt: "2026-04-12T00:00:00.000Z",
311311
},
312312
});
313313

314314
const result = maybeRepairStalePluginConfig({
315315
channels: {
316-
"openclaw-weixin": {
316+
"missing-chat-plugin": {
317317
enabled: true,
318318
},
319319
},
320320
} as OpenClawConfig);
321321

322322
expect(result.changes).toEqual([
323-
"- channels: removed 1 stale channel config (openclaw-weixin)",
323+
"- channels: removed 1 stale channel config (missing-chat-plugin)",
324324
]);
325-
expect(result.config.channels?.["openclaw-weixin"]).toBeUndefined();
325+
expect(result.config.channels?.["missing-chat-plugin"]).toBeUndefined();
326326
});
327327

328328
it("does not auto-repair stale refs while plugin discovery has errors", () => {

src/plugins/bundled-plugin-metadata.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ const EXPECTED_EMPTY_CONFIG_GATEWAY_STARTUP_PLUGIN_IDS = [
5151
"acpx",
5252
"browser",
5353
"device-pair",
54+
"discord",
5455
"file-transfer",
5556
"memory-core",
5657
"phone-control",

0 commit comments

Comments
 (0)