Skip to content

feat(install-dynamic-plugins): warn on deprecated disabled field - #5023

Open
hopehadfield wants to merge 2 commits into
redhat-developer:mainfrom
hopehadfield:feat/rhidp-17293-deprecate-disabled
Open

hopehadfield wants to merge 2 commits into
redhat-developer:mainfrom
hopehadfield:feat/rhidp-17293-deprecate-disabled

Conversation

@hopehadfield

Copy link
Copy Markdown
Member

Description

Warn once for each dynamic plugin entry that declares the deprecated disabled field, including entries filtered or overridden before installation. Keep enabled precedence and existing plugin loading behavior. Update repository-owned examples in the included workspaces to use enabled; the legacy key remains supported.

Fixed

  • RHIDP-17293 — Mark disabled as deprecated in the dynamic plugin loader

Test Plan

  • In each of the six affected workspaces: yarn, yarn prettier:fix, yarn tsc:full, yarn build:all, yarn test --watchAll=false, and yarn build:api-reports:only.
  • Verify one warning per declared legacy entry, including entries filtered or overridden before installation.

Checklist

  • A changeset describing the change and affected package. (more info)
  • Added or updated repository-owned configuration examples.
  • Tests for the deprecation warning and unchanged precedence.
  • Screenshots attached (not applicable; no UI changes).

@rhdh-gh-app

rhdh-gh-app Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Changed Packages

Package Name Package Path Changeset Bump Current Version
@red-hat-developer-hub/cli-module-install-dynamic-plugins workspaces/install-dynamic-plugins/packages/install-dynamic-plugins patch v0.6.0
@red-hat-developer-hub/backstage-plugin-intelligent-assistant workspaces/intelligent-assistant/plugins/intelligent-assistant patch v5.3.3

@rhdh-qodo-merge

Copy link
Copy Markdown

PR Summary by Qodo

Warn when dynamic plugin entries use the deprecated disabled field

✨ Enhancement 🧪 Tests 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Warn once for each declared legacy entry, even when filtering or overrides prevent installation.
• Preserve enabled precedence and support for disabled while migrating repository examples to
 enabled.
• Test warning coverage and document the installer package’s patch release.
Diagram

graph TD
  Includes["Included entries"] --> Check{"Boolean disabled?"} -->|yes| Warn["Deprecation log"] --> Resolve["Resolve and merge"] --> Categorize["Categorize plugins"]
  Main["Main entries"] --> Check
  Check -->|no| Resolve
Loading
High-Level Assessment

Checking raw entries before resolution and filtering is appropriate because later stages cannot see every declared entry. Logging during categorization would miss filtered or overridden entries and was therefore dismissed; keeping later disabled-state checks silent avoids duplicate warnings.

Files changed (11) +194 / -41

Enhancement (2) +23 / -10
installer.tsWarn before plugin resolution and filtering +8/-1

Warn before plugin resolution and filtering

• Checks included and main plugin entries for deprecated fields before resolution, filtering, and merging. Removes the warning callback from later categorization to prevent duplicate warnings.

workspaces/install-dynamic-plugins/packages/install-dynamic-plugins/src/installer.ts

types.tsDeprecate disabled and suggest equivalent enabled values +15/-9

Deprecate disabled and suggest equivalent enabled values

• Marks 'disabled' as deprecated and emits a replacement suggestion whenever it has a boolean value. When both fields are present, the warning explains that 'enabled' takes precedence; effective disabled-state behavior remains unchanged.

workspaces/install-dynamic-plugins/packages/install-dynamic-plugins/src/types.ts

Tests (2) +146 / -11
installer-deprecation.test.tsTest warnings across raw configuration entries +103/-0

Test warnings across raw configuration entries

• Adds an installer-level test covering included entries that are overridden or filtered, both boolean legacy values, and entries without 'disabled'. It verifies one deprecation warning per applicable declaration.

workspaces/install-dynamic-plugins/packages/install-dynamic-plugins/src/installer-deprecation.test.ts

types.test.tsVerify deprecation messages and enabled precedence +43/-11

Verify deprecation messages and enabled precedence

• Expands tests for both legacy boolean values, entries without 'disabled', and configurations containing both fields. Retains coverage of precedence and non-boolean warnings.

workspaces/install-dynamic-plugins/packages/install-dynamic-plugins/src/types.test.ts

Documentation (4) +13 / -8
configuration.mdShow enabled syntax in global header guidance +2/-2

Show enabled syntax in global header guidance

• Updates examples for disabling the bundled header and enabling a replacement to use 'enabled'.

workspaces/global-header/docs/configuration.md

quiet-plugin-warnings.mdRecord installer deprecation warning patch +5/-0

Record installer deprecation warning patch

• Adds a patch changeset describing per-entry warnings and unchanged plugin-loading precedence.

workspaces/install-dynamic-plugins/.changeset/quiet-plugin-warnings.md

README.mdModernize intelligent assistant installation examples +2/-2

Modernize intelligent assistant installation examples

• Changes two plugin configuration examples from 'disabled: false' to equivalent 'enabled: true'.

workspaces/intelligent-assistant/plugins/intelligent-assistant/README.md

dynamic-plugin-installation.mdModernize orchestrator installation example +4/-4

Modernize orchestrator installation example

• Changes the four orchestrator plugin entries from 'disabled: false' to equivalent 'enabled: true'.

workspaces/orchestrator/docs/dynamic-plugin-installation.md

Other (3) +12 / -12
dynamic-plugins-filesystem-reference.yamlUse enabled in Boost filesystem examples +3/-3

Use enabled in Boost filesystem examples

• Replaces legacy 'disabled' settings with equivalent 'enabled' values for the core plugin and providers, preserving their activation states.

workspaces/boost/dynamic-plugins-filesystem-reference.yaml

dynamic-plugins-image-reference.yamlUse enabled in Boost OCI examples +3/-3

Use enabled in Boost OCI examples

• Migrates the core plugin and provider entries to equivalent 'enabled' values without changing which plugins are active.

workspaces/boost/dynamic-plugins-image-reference.yaml

dynamic-plugins.yamlMigrate extensions plugin entries to enabled +6/-6

Migrate extensions plugin entries to enabled

• Replaces six legacy settings with equivalent 'enabled' values, retaining the disabled bulk-import frontend entry.

workspaces/extensions/dynamic-plugins.yaml

@codecov

codecov Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.79%. Comparing base (5452bba) to head (ad2f4c5).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5023      +/-   ##
==========================================
+ Coverage   63.65%   63.79%   +0.14%     
==========================================
  Files        2705     2705              
  Lines      106578   106583       +5     
  Branches    30005    30003       -2     
==========================================
+ Hits        67843    67998     +155     
+ Misses      36905    36755     -150     
  Partials     1830     1830              
Flag Coverage Δ *Carryforward flag
adoption-insights 84.77% <ø> (ø) Carriedforward from 9ff3afa
ai-integrations 87.10% <ø> (ø) Carriedforward from 9ff3afa
app-defaults 68.03% <ø> (ø) Carriedforward from 9ff3afa
augment 46.67% <ø> (ø) Carriedforward from 9ff3afa
boost 92.39% <ø> (ø)
bulk-import 73.12% <ø> (ø) Carriedforward from 9ff3afa
cost-management 13.56% <ø> (ø) Carriedforward from 9ff3afa
dcm 74.29% <ø> (ø) Carriedforward from 9ff3afa
e2e-adoption-insights 60.00% <ø> (ø) Carriedforward from 9ff3afa
e2e-extensions 62.31% <ø> (ø) Carriedforward from 9ff3afa
e2e-global-header 52.40% <ø> (ø) Carriedforward from 9ff3afa
e2e-homepage 61.11% <ø> (ø) Carriedforward from 9ff3afa
e2e-intelligent-assistant 45.51% <ø> (ø) Carriedforward from 9ff3afa
e2e-orchestrator 49.49% <ø> (ø) Carriedforward from 9ff3afa
e2e-orchestrator-plugin 49.48% <ø> (ø) Carriedforward from 9ff3afa
e2e-quickstart 54.83% <ø> (ø) Carriedforward from 9ff3afa
e2e-scorecard 49.77% <ø> (ø) Carriedforward from 9ff3afa
e2e-theme 16.36% <ø> (ø) Carriedforward from 9ff3afa
extensions 58.30% <ø> (ø)
global-floating-action-button 71.18% <ø> (ø) Carriedforward from 9ff3afa
global-header 69.10% <ø> (ø)
homepage 55.16% <ø> (ø) Carriedforward from 9ff3afa
install-dynamic-plugins 84.00% <100.00%> (+10.47%) ⬆️
intelligent-assistant 78.53% <ø> (ø)
konflux 91.98% <ø> (ø) Carriedforward from 9ff3afa
lightspeed 69.02% <ø> (ø) Carriedforward from 9ff3afa
mcp-integrations 84.46% <ø> (ø) Carriedforward from 9ff3afa
orchestrator 77.69% <ø> (ø)
quickstart 65.83% <ø> (ø) Carriedforward from 9ff3afa
sandbox 79.56% <ø> (ø) Carriedforward from 9ff3afa
scorecard 88.98% <ø> (ø) Carriedforward from 9ff3afa
theme 87.70% <ø> (ø) Carriedforward from 9ff3afa
translations 7.91% <ø> (ø) Carriedforward from 9ff3afa
x2a 78.48% <ø> (ø) Carriedforward from 9ff3afa

*This pull request uses carry forward flags. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5452bba...ad2f4c5. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@rhdh-qodo-merge

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can turn on the rule miner and Qodo learns your standards from review history

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@rhdh-qodo-merge rhdh-qodo-merge Bot added documentation Improvements or additions to documentation enhancement New feature or request Tests labels Sep 28, 2026
@rhdh-qodo-merge

Copy link
Copy Markdown

Important

The /generate_labels command by Qodo is sunsetting on the 1st of October 2026 and will no longer be available. We recommend switching to the latest Qodo review capabilities. Learn more

Signed-off-by: Hope Hadfield <hhadfiel@redhat.com>
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant