Skip to content

fix(update): skip disabled plugins during post-update sync#73970

Merged
vincentkoc merged 1 commit into
mainfrom
l3/73902-disabled-plugin-sync
Apr 29, 2026
Merged

fix(update): skip disabled plugins during post-update sync#73970
vincentkoc merged 1 commit into
mainfrom
l3/73902-disabled-plugin-sync

Conversation

@vincentkoc

Copy link
Copy Markdown
Member

Summary

  • skip tracked plugins explicitly disabled in config during post-update plugin sync before npm, ClawHub, or marketplace update checks
  • preserve disabled plugin install records/config while keeping enabled plugin failures and integrity drift fail-closed
  • rebuilds and supersedes fix(update): skip disabled plugins during post-update sync #73902 after the original PR became stuck closed by queue-limit automation

Fixes #73880.
Supersedes #73902.

Validation

  • Blacksmith Testbox tbx_01kqbgen9xmqs1ma6y7ra2h656: env OPENCLAW_TESTBOX=1 pnpm test:serial src/plugins/update.test.ts src/cli/update-cli.test.ts
  • Blacksmith Testbox tbx_01kqbgen9xmqs1ma6y7ra2h656: env OPENCLAW_TESTBOX=1 pnpm check:changed

@openclaw-barnacle openclaw-barnacle Bot added the cli CLI command changes label Apr 29, 2026
@vincentkoc vincentkoc self-assigned this Apr 29, 2026
@openclaw-barnacle openclaw-barnacle Bot added size: S maintainer Maintainer-authored PR labels Apr 29, 2026
@greptile-apps

greptile-apps Bot commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a skipDisabledPlugins option to updateNpmInstalledPlugins and hardcodes it to true in the post-core-update plugin sync path, so plugins with enabled: false in config (or otherwise effectively disabled) are silently skipped instead of attempted and potentially failing. Install records and config entries for disabled plugins are left untouched.

Confidence Score: 5/5

PR is safe to merge — narrowly scoped change with full test coverage across all three install sources.

The change is small and well-contained: a single optional flag added to one function, called from one site with a hardcoded value. The underlying resolveEffectiveEnableState logic is pre-existing and well-tested. New tests cover all three source types (npm, ClawHub, marketplace) and verify that enabled-plugin failures remain fatal, preserving the fail-closed contract for non-disabled plugins.

No files require special attention.

Reviews (1): Last reviewed commit: "fix(update): skip disabled plugins durin..." | Re-trigger Greptile

@vincentkoc vincentkoc merged commit 43da089 into main Apr 29, 2026
106 of 107 checks passed
@vincentkoc vincentkoc deleted the l3/73902-disabled-plugin-sync branch April 29, 2026 02:36
steipete pushed a commit that referenced this pull request Apr 29, 2026
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 9, 2026
…73970)

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request May 24, 2026
…73970)

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
jameslcowan pushed a commit to jameslcowan/openclaw that referenced this pull request Jun 2, 2026
…73970)

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
sablehead pushed a commit to sablehead/openclaw that referenced this pull request Jun 10, 2026
…73970)

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI command changes maintainer Maintainer-authored PR size: S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

openclaw update exits code 1 on disabled-plugin ClawHub 429 even though core update succeeded; should treat disabled plugins as no-op for sync

1 participant