Skip to content

chore(adoption-insights): version:bump to v1.49.3#2753

Open
Eswaraiahsapram wants to merge 2 commits intoredhat-developer:mainfrom
Eswaraiahsapram:fix/adoption-insights-RHIDP-12845
Open

chore(adoption-insights): version:bump to v1.49.3#2753
Eswaraiahsapram wants to merge 2 commits intoredhat-developer:mainfrom
Eswaraiahsapram:fix/adoption-insights-RHIDP-12845

Conversation

@Eswaraiahsapram
Copy link
Copy Markdown
Member

@Eswaraiahsapram Eswaraiahsapram commented Apr 13, 2026

Hey, I just made a Pull Request!

Fix: https://redhat.atlassian.net/browse/RHIDP-12845

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or Updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)

@rhdh-gh-app
Copy link
Copy Markdown

rhdh-gh-app bot commented Apr 13, 2026

Important

This PR includes changes that affect public-facing API. Please ensure you are adding/updating documentation for new features or behavior.

Changed Packages

Package Name Package Path Changeset Bump Current Version
app-legacy workspaces/adoption-insights/packages/app-legacy none v0.0.0
app workspaces/adoption-insights/packages/app none v0.0.0
backend workspaces/adoption-insights/packages/backend none v0.0.0
@red-hat-developer-hub/backstage-plugin-adoption-insights-backend workspaces/adoption-insights/plugins/adoption-insights-backend minor v0.7.0
@red-hat-developer-hub/backstage-plugin-adoption-insights-common workspaces/adoption-insights/plugins/adoption-insights-common minor v0.7.0
@red-hat-developer-hub/backstage-plugin-adoption-insights workspaces/adoption-insights/plugins/adoption-insights minor v0.7.0
@red-hat-developer-hub/backstage-plugin-analytics-module-adoption-insights workspaces/adoption-insights/plugins/analytics-module-adoption-insights minor v0.7.0

@rhdh-qodo-merge
Copy link
Copy Markdown

Review Summary by Qodo

Upgrade adoption-insights to Backstage v1.49.3 with API migrations

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Upgrade Backstage framework to v1.49.3 with dependency updates
• Remove deprecated variant="gridItem" props from catalog entity cards
• Migrate sidebar navigation to new plugin API with improved component structure
• Update TypeScript to v5.8.0 and multiple Backstage plugin versions
Diagram
flowchart LR
  A["Backstage v1.47.3"] -->|"Upgrade framework"| B["Backstage v1.49.3"]
  B -->|"Update dependencies"| C["CLI 0.36.0, TS 5.8.0"]
  D["Deprecated variant props"] -->|"Remove from cards"| E["Updated EntityPage.tsx"]
  F["Old sidebar API"] -->|"Migrate to plugin-app-react"| G["New NavContentBlueprint"]
  C -->|"Apply across"| H["All packages updated"]
Loading

Grey Divider

File Changes

1. workspaces/adoption-insights/.changeset/weak-jokes-write.md ⚙️ Configuration changes +8/-0

Add changeset for v1.49.3 release

workspaces/adoption-insights/.changeset/weak-jokes-write.md


2. workspaces/adoption-insights/backstage.json ⚙️ Configuration changes +1/-1

Update Backstage version to 1.49.3

workspaces/adoption-insights/backstage.json


3. workspaces/adoption-insights/package.json Dependencies +4/-4

Update root dependencies and TypeScript version

workspaces/adoption-insights/package.json


View more (11)
4. workspaces/adoption-insights/packages/app-legacy/package.json Dependencies +26/-26

Update Backstage plugin dependencies to latest versions

workspaces/adoption-insights/packages/app-legacy/package.json


5. workspaces/adoption-insights/packages/app-legacy/src/components/catalog/EntityPage.tsx 🐞 Bug fix +20/-21

Remove deprecated variant gridItem props from cards

workspaces/adoption-insights/packages/app-legacy/src/components/catalog/EntityPage.tsx


6. workspaces/adoption-insights/packages/app/package.json Dependencies +13/-13

Update frontend dependencies and add plugin-app-react

workspaces/adoption-insights/packages/app/package.json


7. workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx ✨ Enhancement +11/-10

Migrate sidebar to new plugin API with NavContentBlueprint

workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx


8. workspaces/adoption-insights/packages/backend/package.json Dependencies +25/-25

Update backend plugin dependencies to v1.49.3

workspaces/adoption-insights/packages/backend/package.json


9. workspaces/adoption-insights/plugins/adoption-insights-backend/package.json Dependencies +7/-7

Update backend plugin and CLI dependencies

workspaces/adoption-insights/plugins/adoption-insights-backend/package.json


10. workspaces/adoption-insights/plugins/adoption-insights-common/package.json Dependencies +2/-2

Update CLI and permission common dependencies

workspaces/adoption-insights/plugins/adoption-insights-common/package.json


11. workspaces/adoption-insights/plugins/adoption-insights/package.json Dependencies +13/-13

Update frontend plugin dependencies and APIs

workspaces/adoption-insights/plugins/adoption-insights/package.json


12. workspaces/adoption-insights/plugins/adoption-insights/report-alpha.api.md 📝 Documentation +58/-10

Update API report with new extension data refs

workspaces/adoption-insights/plugins/adoption-insights/report-alpha.api.md


13. workspaces/adoption-insights/plugins/analytics-module-adoption-insights/package.json Dependencies +8/-8

Update analytics module dependencies

workspaces/adoption-insights/plugins/analytics-module-adoption-insights/package.json


14. workspaces/adoption-insights/plugins/analytics-module-adoption-insights/report-alpha.api.md 📝 Documentation +1/-5

Update API report with generic type syntax

workspaces/adoption-insights/plugins/analytics-module-adoption-insights/report-alpha.api.md


Grey Divider

Qodo Logo

@rhdh-qodo-merge
Copy link
Copy Markdown

rhdh-qodo-merge bot commented Apr 13, 2026

Code Review by Qodo

🐞 Bugs (1)   📘 Rule violations (0)   📎 Requirement gaps (0)   🖥 UI issues (0)   🎨 UX Issues (0)
🐞\ ≡ Correctness (1)

Grey Divider


Action required

1. Sidebar icon rendered wrong 🐞
Description
SidebarContent passes icon={() => item.icon} to SidebarItem, but nav items provide icon as
an IconComponent (a component type). This makes the icon renderer return a function instead of a
React element, so icons may not render and React can warn/error about functions as children.
Code

workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx[R30-33]

+    component: ({ navItems }) => {
+      const nav = navItems.withComponent(item => (
+        <SidebarItem icon={() => item.icon} to={item.href} text={item.title} />
+      ));
Evidence
The sidebar wraps item.icon in another component that returns item.icon directly. In this repo,
the Adoption Insights nav item is defined to output icon: IconComponent, and the plugin’s
NavItemBlueprint is configured with a MUI icon component; therefore item.icon is a component
type, not a JSX element, and returning it from a React component is invalid rendering.

workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx[28-33]
workspaces/adoption-insights/plugins/adoption-insights/report-alpha.api.md[133-152]
workspaces/adoption-insights/plugins/adoption-insights/src/alpha.tsx[43-48]
workspaces/adoption-insights/packages/app-legacy/src/components/Root/Root.tsx[83-98]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
`SidebarItem` is currently given `icon={() => item.icon}`. Because `item.icon` is an `IconComponent` (component type), this wrapper component returns a function instead of returning a React element, which can prevent the icon from rendering and can trigger React runtime warnings.

### Issue Context
Nav items (e.g., Adoption Insights) export `icon` as `IconComponent` via `NavItemBlueprint`.

### Fix Focus Areas
- workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx[30-33]

### Suggested change
Update the mapping to pass the icon component through, e.g.:
- `icon={item.icon}`

(If you need to support both element and component forms, convert to an element explicitly with `icon={() => React.createElement(item.icon)}` or similar, but the repo’s nav-item contract here is `IconComponent`.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment on lines +30 to +33
component: ({ navItems }) => {
const nav = navItems.withComponent(item => (
<SidebarItem icon={() => item.icon} to={item.href} text={item.title} />
));
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Sidebar icon rendered wrong 🐞 Bug ≡ Correctness

SidebarContent passes icon={() => item.icon} to SidebarItem, but nav items provide icon as
an IconComponent (a component type). This makes the icon renderer return a function instead of a
React element, so icons may not render and React can warn/error about functions as children.
Agent Prompt
### Issue description
`SidebarItem` is currently given `icon={() => item.icon}`. Because `item.icon` is an `IconComponent` (component type), this wrapper component returns a function instead of returning a React element, which can prevent the icon from rendering and can trigger React runtime warnings.

### Issue Context
Nav items (e.g., Adoption Insights) export `icon` as `IconComponent` via `NavItemBlueprint`.

### Fix Focus Areas
- workspaces/adoption-insights/packages/app/src/modules/nav/Sidebar.tsx[30-33]

### Suggested change
Update the mapping to pass the icon component through, e.g.:
- `icon={item.icon}`

(If you need to support both element and component forms, convert to an element explicitly with `icon={() => React.createElement(item.icon)}` or similar, but the repo’s nav-item contract here is `IconComponent`.)

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@sonarqubecloud
Copy link
Copy Markdown

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant