fix(whatsapp): force version-pinned OpenClaw messaging plugin installs#4591
Conversation
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR updates messaging plugin installation logic to enforce explicit, version-pinned npm installs for external channels. Plugin install specs are now formatted with an ChangesMessaging Plugin Install Pinning
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
PR Review AdvisorFindings: 0 needs attention, 2 worth checking, 0 nice ideas Review findings🛠️ Needs attention
🔎 Worth checking
🌱 Nice ideas
This is an automated advisory review. A human maintainer must make the final merge decision. |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Auto-dispatched E2E: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Scenario Advisor RecommendationRequired scenario E2E: Dispatch required scenario E2E:
Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
Selective E2E Results — ❌ Some jobs failedRun: 26731308849
|
Selective E2E Results — ✅ All requested jobs passedRun: 26731416721
|
Selective E2E Results — ❌ Some jobs failedRun: 26731308849
|
Selective E2E Results — ✅ All requested jobs passedRun: 26731308849
|
Summary
NemoClaw already derives external messaging plugin versions from
OPENCLAW_VERSION, but it passed bare@openclaw/*@<version>specs toopenclaw plugins install. On OpenClaw's official plugin install path that can still resolve through the official/ClawHub/default supply chain and drift to the current plugin release.This change forces build-time messaging plugin activation through exact npm specs and pins the install record:
npm:@openclaw/<plugin>@${OPENCLAW_VERSION}instead of a bare@openclaw/<plugin>@${OPENCLAW_VERSION}spec--pinso the managed install remains tied to the runtime versionOPENCLAW_VERSION=2026.5.18so WhatsApp resolves tonpm:@openclaw/whatsapp@2026.5.18, not latestVersion evidence
Live npm metadata currently shows:
openclaw@latest:2026.5.28@openclaw/whatsapp@latest:2026.5.28@openclaw/whatsapp@2026.5.28peers onopenclaw >=2026.5.28@openclaw/whatsapp@2026.5.18peers onopenclaw >=2026.5.18So any unpinned/default WhatsApp install into an OpenClaw
2026.5.18sandbox can pick a plugin that is too new for the runtime.Verification
npm ci --include=dev --ignore-scriptspython3 -m py_compile scripts/openclaw-build-messaging-plugins.pynpx vitest run test/openclaw-build-messaging-plugins.test.tsgit diff --checkSigned-off-by: Aaron Erickson aerickson@nvidia.com
Summary by CodeRabbit