fix(channels): surface missing external plugin repairs#78876
Conversation
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. from source inspection rather than a live run: current main can throw generic unavailable/no-configured-channel output and omit missing-plugin status rows when configured Feishu or WhatsApp has no installed owner. The linked reports at #78702 and #78593 provide real upgrade symptoms. Real behavior proof Next step before merge Security Review detailsBest possible solution: Land the focused diagnostic fix once the current-head checks are understood or green and maintainer review is satisfied. Do we have a high-confidence way to reproduce the issue? Yes, from source inspection rather than a live run: current main can throw generic unavailable/no-configured-channel output and omit missing-plugin status rows when configured Feishu or WhatsApp has no installed owner. The linked reports at #78702 and #78593 provide real upgrade symptoms. Is this the best way to solve the issue? Yes; the PR uses the existing official external catalog and configured-channel presence policy to add repair hints only for no-owner cases while preserving blocked, disabled, untrusted, and installed-but-unconfigured paths. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 6ef7fa08afd6. |
da7d60a to
424f8bb
Compare
Summary
openclaw status, and show the same repair hints in config-onlyopenclaw channels statusoutput.Fixes #78702
Fixes #78593
Verification
tbx_01kr112b2mxwz9mypqf77wx23p:env CI=1 NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=900000 pnpm test:serial src/plugins/official-external-plugin-repair-hints.test.ts src/infra/outbound/channel-selection.test.ts src/commands/status-all/channels.test.ts src/commands/channels.status.command-flow.test.tstbx_01kr114tktk68h7wwtcvsej7j7:env CI=1 NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_TEST_PROJECTS_PARALLEL=6 OPENCLAW_VITEST_MAX_WORKERS=1 OPENCLAW_VITEST_NO_OUTPUT_TIMEOUT_MS=900000 pnpm check:changedgit diff --check origin/main...HEAD