Skip to content

OCPBUGS-87969: Directly use RhUi icons where possible#16591

Merged
openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
logonoff:OCPBUGS-87969-rhicon
Jun 11, 2026
Merged

OCPBUGS-87969: Directly use RhUi icons where possible#16591
openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
logonoff:OCPBUGS-87969-rhicon

Conversation

@logonoff

@logonoff logonoff commented Jun 11, 2026

Copy link
Copy Markdown
Member

Analysis / Root cause:

Currently the “legacy” icon names like ExclamationTriangleIcon will render both a font awesome and red hat icon into the DOM. This inflates bundle size, to have more control over what icon is used, the RhUi equivalent should be used where possible.

Solution description:

This PR replaces existing PatternFly icons with a Rh counterpart

Summary by CodeRabbit

  • Chores
    • Standardized icon components across the application to use consistent design system variants, improving visual consistency throughout the interface.
    • Updated ESLint configuration to enforce standardized icon usage patterns.
    • Adjusted webpack performance budget thresholds.

logonoff added 4 commits June 10, 2026 19:41
Currently the “legacy” icon names like ExclamationTriangleIcon will render both a font awesome and red hat icon into the DOM. This inflates bundle size, to have more control over what icon is used, the RhUi equivalent should be used where possible.

This commit simply replaces existing PatternFly icons with their direct RhUi counterpart, as written in PatternFly.
e.g., RhStandard should be used in empty states which sensible. filled icons should be used where they look better

also remove a pf-icons mock that isn't needed anymore
for some reason the monaco chunk grew a couple kb due to this. entrypoint limit can be shrunk a little more now
@openshift-ci-robot openshift-ci-robot added jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. labels Jun 11, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references Jira Issue OCPBUGS-87969, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Analysis / Root cause:

Currently the “legacy” icon names like ExclamationTriangleIcon will render both a font awesome and red hat icon into the DOM. This inflates bundle size, to have more control over what icon is used, the RhUi equivalent should be used where possible.

Solution description:

This PR replaces existing PatternFly icons with a Rh counterpart

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Jun 11, 2026
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b7990a68-84a6-4c5b-9f7d-ea450460ee60

📥 Commits

Reviewing files that changed from the base of the PR and between 534d254 and 4b03fd5.

📒 Files selected for processing (176)
  • frontend/.eslintrc.js
  • frontend/__tests__/tree-shaking.spec.ts
  • frontend/packages/console-app/src/components/cluster-configuration/ClusterConfigurationPage.tsx
  • frontend/packages/console-app/src/components/console-operator/ConsoleOperatorConfig.tsx
  • frontend/packages/console-app/src/components/data-view/ConsoleDataView.tsx
  • frontend/packages/console-app/src/components/nav/NavHeader.tsx
  • frontend/packages/console-app/src/components/nav/PinnedResource.tsx
  • frontend/packages/console-app/src/components/nodes/NodeDetailsOverview.tsx
  • frontend/packages/console-app/src/components/nodes/modals/GroupsEditorModal.tsx
  • frontend/packages/console-app/src/components/nodes/status/CSRStatus.tsx
  • frontend/packages/console-app/src/components/quick-starts/QuickStartEmptyState.tsx
  • frontend/packages/console-app/src/components/user-preferences/namespace/NamespaceDropdown.tsx
  • frontend/packages/console-app/src/utils/perspective.tsx
  • frontend/packages/console-dynamic-plugin-sdk/src/app/components/status/Status.tsx
  • frontend/packages/console-dynamic-plugin-sdk/src/app/components/status/icons.tsx
  • frontend/packages/console-dynamic-plugin-sdk/src/app/components/status/statuses.tsx
  • frontend/packages/console-shared/src/components/actions/menu/ActionMenuToggle.tsx
  • frontend/packages/console-shared/src/components/alerts/AlertSeverityIcon.tsx
  • frontend/packages/console-shared/src/components/catalog/catalog-view/CatalogEmptyState.tsx
  • frontend/packages/console-shared/src/components/dashboard/activity-card/ActivityBody.tsx
  • frontend/packages/console-shared/src/components/dashboard/activity-card/ActivityItem.tsx
  • frontend/packages/console-shared/src/components/dashboard/inventory-card/InventoryItem.tsx
  • frontend/packages/console-shared/src/components/dashboard/status-card/AlertsBody.tsx
  • frontend/packages/console-shared/src/components/dashboard/status-card/states.tsx
  • frontend/packages/console-shared/src/components/datetime/Timestamp.tsx
  • frontend/packages/console-shared/src/components/dropdown/ResponsiveActionDropdown.tsx
  • frontend/packages/console-shared/src/components/dynamic-form/templates.tsx
  • frontend/packages/console-shared/src/components/editor/CodeEditorToolbar.tsx
  • frontend/packages/console-shared/src/components/editor/ToggleSidebarButton.tsx
  • frontend/packages/console-shared/src/components/form-utils/ActionGroupWithIcons.tsx
  • frontend/packages/console-shared/src/components/form-utils/FormFooter.tsx
  • frontend/packages/console-shared/src/components/formik-fields/MultiTypeaheadField.tsx
  • frontend/packages/console-shared/src/components/formik-fields/item-selector-field/SelectorCard.tsx
  • frontend/packages/console-shared/src/components/formik-fields/key-value-file-input-field/KeyValueFileInputField.tsx
  • frontend/packages/console-shared/src/components/formik-fields/multi-column-field/MultiColumnFieldFooter.tsx
  • frontend/packages/console-shared/src/components/formik-fields/multi-column-field/MultiColumnFieldRow.tsx
  • frontend/packages/console-shared/src/components/formik-fields/text-column-field/TextColumnItemContent.tsx
  • frontend/packages/console-shared/src/components/getting-started/GettingStartedCard.tsx
  • frontend/packages/console-shared/src/components/getting-started/GettingStartedExpandableGrid.tsx
  • frontend/packages/console-shared/src/components/getting-started/QuickStartGettingStartedCard.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/inline-execute-extension.ts
  • frontend/packages/console-shared/src/components/markdown-extensions/multiline-execute-extension.ts
  • frontend/packages/console-shared/src/components/pod/PodRing.tsx
  • frontend/packages/console-shared/src/components/pod/PodRingSet.tsx
  • frontend/packages/console-shared/src/components/pod/__tests__/PodRingSet.spec.tsx
  • frontend/packages/console-shared/src/components/query-browser/QueryBrowser.tsx
  • frontend/packages/console-shared/src/components/status/icons.tsx
  • frontend/packages/console-shared/src/components/status/statuses.tsx
  • frontend/packages/console-shared/src/components/utils/SchemaFieldHelp.tsx
  • frontend/packages/container-security/src/components/ImageVulnerabilityRow.tsx
  • frontend/packages/container-security/src/components/ImageVulnerabilityToggleGroup.tsx
  • frontend/packages/container-security/src/components/image-manifest-vuln.tsx
  • frontend/packages/container-security/src/components/summary.tsx
  • frontend/packages/dev-console/src/actions/add-resources.tsx
  • frontend/packages/dev-console/src/components/add/AddCardSectionEmptyState.tsx
  • frontend/packages/dev-console/src/components/add/__tests__/add-page-test-data.tsx
  • frontend/packages/dev-console/src/components/deployments/deployment-strategy/advanced-options/LifecycleHookField.tsx
  • frontend/packages/dev-console/src/components/guided-tour/GuidedTourText.tsx
  • frontend/packages/dev-console/src/components/health-checks/HealthCheckProbe.tsx
  • frontend/packages/dev-console/src/components/hpa/HPAUtilizationField.tsx
  • frontend/packages/dev-console/src/components/import/ImportStrategySection.tsx
  • frontend/packages/dev-console/src/components/import/ImportStrategySelector.tsx
  • frontend/packages/dev-console/src/components/import/devfile/DevfileInfo.tsx
  • frontend/packages/dev-console/src/components/import/git/DockerSection.tsx
  • frontend/packages/dev-console/src/components/import/git/SampleRepo.tsx
  • frontend/packages/dev-console/src/components/import/icon/CustomIconModal.tsx
  • frontend/packages/dev-console/src/components/import/icon/IconDropdown.tsx
  • frontend/packages/dev-console/src/components/monitoring/overview/MonitoringOverview.tsx
  • frontend/packages/dev-console/src/components/monitoring/overview/__tests__/MonitoringOverview.spec.tsx
  • frontend/packages/dev-console/src/components/pipeline-section/pipeline/WebhookSection.tsx
  • frontend/packages/dev-console/src/components/pipelines-visualization/CustomTaskNode.tsx
  • frontend/packages/dev-console/src/utils/icons.tsx
  • frontend/packages/dev-console/src/utils/perspective.tsx
  • frontend/packages/helm-plugin/src/components/details-page/notes/HelmReleaseNotesEmptyState.tsx
  • frontend/packages/helm-plugin/src/components/forms/install-upgrade/HelmChartVersionDropdown.tsx
  • frontend/packages/helm-plugin/src/utils/icons.tsx
  • frontend/packages/insights-plugin/src/components/InsightsPopup/mappers.ts
  • frontend/packages/knative-plugin/src/components/functions/FunctionsDocsGettingStartedCard.tsx
  • frontend/packages/knative-plugin/src/components/functions/QuickStartGettingStartedCard.tsx
  • frontend/packages/knative-plugin/src/components/functions/SamplesGettingStartedCard.tsx
  • frontend/packages/knative-plugin/src/components/overview/EventPubSubExpandButton.tsx
  • frontend/packages/knative-plugin/src/components/test-function/RequestPane.tsx
  • frontend/packages/knative-plugin/src/topology/components/decorators/RevisionRouteDecorator.tsx
  • frontend/packages/knative-plugin/src/topology/components/decorators/ServiceRouteDecorator.tsx
  • frontend/packages/knative-plugin/src/topology/components/nodes/SinkUriNode.tsx
  • frontend/packages/knative-plugin/src/utils/icons.tsx
  • frontend/packages/metal3-plugin/src/components/baremetal-hosts/BareMetalHostDetails.tsx
  • frontend/packages/metal3-plugin/src/components/baremetal-hosts/BareMetalHostNICs.tsx
  • frontend/packages/metal3-plugin/src/components/baremetal-hosts/BareMetalHostPowerStatusIcon.tsx
  • frontend/packages/metal3-plugin/src/components/baremetal-hosts/dashboard/StatusCard.tsx
  • frontend/packages/metal3-plugin/src/components/maintenance/MaintenanceIcon.tsx
  • frontend/packages/metal3-plugin/src/components/maintenance/MaintenancePopover.tsx
  • frontend/packages/operator-lifecycle-manager-v1/src/components/OLMv1TechPreviewBadge.tsx
  • frontend/packages/operator-lifecycle-manager-v1/src/components/cluster-extension/ClusterExtensionForm.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/clusterserviceversion.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/descriptors/common.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/descriptors/spec/affinity.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/descriptors/spec/match-expressions.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/descriptors/spec/resource-requirements.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/descriptors/status/phase.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/operand/DEPRECATED_operand-form.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/operator-hub/operator-hub-item-details.tsx
  • frontend/packages/operator-lifecycle-manager/src/components/subscription.tsx
  • frontend/packages/operator-lifecycle-manager/src/hooks/useOperatorCatalogItems.tsx
  • frontend/packages/shipwright-plugin/src/components/build-form/VolumeSection.tsx
  • frontend/packages/shipwright-plugin/src/components/logs/LogsWrapperComponent.tsx
  • frontend/packages/topology/src/components/graph-view/components/RegroupHint.tsx
  • frontend/packages/topology/src/components/graph-view/components/nodes/decorators/UrlDecorator.tsx
  • frontend/packages/topology/src/components/page/LimitExceededState.tsx
  • frontend/packages/topology/src/components/page/TopologyEmptyState.tsx
  • frontend/packages/topology/src/components/page/TopologyPageToolbar.tsx
  • frontend/packages/topology/src/components/workload/BuildOverview.tsx
  • frontend/packages/topology/src/components/workload/NetworkingOverview.tsx
  • frontend/packages/topology/src/filters/NameLabelFilterDropdown.tsx
  • frontend/packages/topology/src/filters/TopologyFilterBar.tsx
  • frontend/packages/vsphere-plugin/src/PopoverHelpButton.tsx
  • frontend/packages/vsphere-plugin/src/components/TextField.tsx
  • frontend/packages/vsphere-plugin/src/components/VSphereOperatorStatuses.tsx
  • frontend/packages/webterminal-plugin/src/components/cloud-shell/CloudShellMastheadAction.tsx
  • frontend/packages/webterminal-plugin/src/components/cloud-shell/MinimizeRestoreButton.tsx
  • frontend/public/components/QuickCreate.tsx
  • frontend/public/components/alert-manager.tsx
  • frontend/public/components/api-explorer.tsx
  • frontend/public/components/build-pipeline.tsx
  • frontend/public/components/cluster-settings/cluster-operator.tsx
  • frontend/public/components/cluster-settings/cluster-settings.tsx
  • frontend/public/components/cluster-settings/cluster-status.tsx
  • frontend/public/components/configmap-and-secret-data.tsx
  • frontend/public/components/custom-resource-definition.tsx
  • frontend/public/components/dashboard/dashboards-page/cluster-dashboard/details-card.tsx
  • frontend/public/components/dashboard/dashboards-page/cluster-dashboard/getting-started/cluster-setup-getting-started-card.tsx
  • frontend/public/components/dashboard/dashboards-page/cluster-dashboard/getting-started/explore-admin-features-getting-started-card.tsx
  • frontend/public/components/dashboard/project-dashboard/getting-started/DeveloperFeaturesGettingStartedCard.tsx
  • frontend/public/components/dashboard/project-dashboard/getting-started/SampleGettingStartedCard.tsx
  • frontend/public/components/edit-yaml.tsx
  • frontend/public/components/filter-toolbar.tsx
  • frontend/public/components/image-stream-timeline.tsx
  • frontend/public/components/image-stream.tsx
  • frontend/public/components/instantiate-template.tsx
  • frontend/public/components/machine-config-pool.tsx
  • frontend/public/components/machine-set.tsx
  • frontend/public/components/masthead/masthead-toolbar.tsx
  • frontend/public/components/modals/configure-cluster-upstream-modal.tsx
  • frontend/public/components/modals/edit-yaml-settings-modal.tsx
  • frontend/public/components/modals/impersonate-user-modal.tsx
  • frontend/public/components/modals/taints-modal.tsx
  • frontend/public/components/modals/tolerations-modal.tsx
  • frontend/public/components/monitoring/alertmanager/alertmanager-config.tsx
  • frontend/public/components/monitoring/receiver-forms/alert-manager-receiver-forms.tsx
  • frontend/public/components/monitoring/receiver-forms/routing-labels-editor.tsx
  • frontend/public/components/namespace.jsx
  • frontend/public/components/pod-connect.tsx
  • frontend/public/components/pod-traffic.tsx
  • frontend/public/components/resource-dropdown.tsx
  • frontend/public/components/resource-quota.jsx
  • frontend/public/components/search-filter-dropdown.tsx
  • frontend/public/components/search.tsx
  • frontend/public/components/secrets/create-secret/OpaqueSecretForm.tsx
  • frontend/public/components/secrets/create-secret/OpaqueSecretFormEntry.tsx
  • frontend/public/components/secrets/create-secret/PullSecretCredentialEntry.tsx
  • frontend/public/components/secrets/create-secret/PullSecretCredentialsForm.tsx
  • frontend/public/components/sidebars/resource-sidebar-samples.tsx
  • frontend/public/components/start-guide.tsx
  • frontend/public/components/utils/details-item.tsx
  • frontend/public/components/utils/details-page.tsx
  • frontend/public/components/utils/download-button.tsx
  • frontend/public/components/utils/field-level-help.tsx
  • frontend/public/components/utils/kebab.tsx
  • frontend/public/components/utils/list-input.tsx
  • frontend/public/components/utils/name-value-editor.tsx
  • frontend/public/components/utils/resource-log.tsx
  • frontend/public/components/utils/selector.tsx
  • frontend/public/components/utils/single-typeahead-dropdown.tsx
  • frontend/public/components/utils/toggle-play.tsx
  • frontend/public/components/utils/webhooks.tsx
  • frontend/webpack.config.ts
💤 Files with no reviewable changes (1)
  • frontend/packages/dev-console/src/components/monitoring/overview/tests/MonitoringOverview.spec.tsx

Walkthrough

This PR replaces many PatternFly icons with RhUi and RhStandard variants across frontend components, shared utilities, and package-specific UI. It also updates ESLint import restrictions, test lint exceptions, and one webpack performance budget.

Changes

RH UI icon migration

Layer / File(s) Summary
Lint, test, and build config
frontend/.eslintrc.js, frontend/__tests__/tree-shaking.spec.ts, frontend/webpack.config.ts
no-restricted-imports now blocks more @patternfly/react-icons imports, one test file adds a local lint disable, and webpack performance thresholds are updated.
Console app and shared status icons
frontend/packages/console-app/src/components/*, frontend/packages/console-app/src/utils/perspective.tsx, frontend/packages/console-dynamic-plugin-sdk/src/app/components/status/*, frontend/packages/console-shared/src/components/*
Console app, shared UI, and dynamic-plugin status components switch to RhUi/RhStandard icons for empty states, buttons, status badges, dropdown toggles, form controls, markdown actions, and related icon exports.
Dev console and public UI icons
frontend/packages/dev-console/src/**/*, frontend/public/components/**/*
Dev console and public components swap many action, editor, import, monitoring, modal, dashboard, and utility icons to RhUi/RhStandard variants, including supporting test data and one test mock removal.
Topology, Knative, Metal3, OLM, and related package icons
frontend/packages/topology/src/**/*, frontend/packages/knative-plugin/src/**/*, frontend/packages/metal3-plugin/src/**/*, frontend/packages/operator-lifecycle-manager*/src/**/*, frontend/packages/shipwright-plugin/src/**/*, frontend/packages/container-security/src/**/*, frontend/packages/helm-plugin/src/**/*, frontend/packages/insights-plugin/src/**/*, frontend/packages/vsphere-plugin/src/**/*, frontend/packages/webterminal-plugin/src/**/*
Package-specific views, decorators, status indicators, forms, and utilities replace their prior icons with RhUi or RhStandard counterparts, while preserving the surrounding rendering logic.
Remaining public utilities
frontend/public/components/utils/*, frontend/public/components/modals/*, frontend/public/components/dashboard/*, frontend/public/components/sidebars/*
Shared public utilities and modal/dashboard components update their toggles, helpers, and button icons to the new RhUi icon set.

Sequence Diagram(s)

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • openshift/console#16528: Updates the global PatternFly icon set configuration to RH UI, which matches the icon-component migration in this PR.

Suggested labels

component/core, component/sdk, component/shared, component/dev-console, component/dashboard, component/knative, component/metal3, component/olm, component/helm, component/topology

Suggested reviewers

  • spadgett
  • rhamilto
  • sg00dwin
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

@openshift-ci openshift-ci Bot requested review from cajieh and jgbernalp June 11, 2026 00:45
@openshift-ci openshift-ci Bot added component/core Related to console core functionality approved Indicates a PR has been approved by an approver from all required OWNERS files. component/dashboard Related to dashboard component/dev-console Related to dev-console component/helm Related to helm-plugin component/insights Related to insights plugin component/knative Related to knative-plugin component/metal3 Related to metal3-plugin component/monitoring Related to monitoring component/olm Related to OLM component/sdk Related to console-plugin-sdk component/shared Related to console-shared component/topology Related to topology labels Jun 11, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references Jira Issue OCPBUGS-87969, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (5.0.0) matches configured target version for branch (5.0.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)
Details

In response to this:

Analysis / Root cause:

Currently the “legacy” icon names like ExclamationTriangleIcon will render both a font awesome and red hat icon into the DOM. This inflates bundle size, to have more control over what icon is used, the RhUi equivalent should be used where possible.

Solution description:

This PR replaces existing PatternFly icons with a Rh counterpart

Summary by CodeRabbit

  • Chores
  • Standardized icon components across the application to use consistent design system variants, improving visual consistency throughout the interface.
  • Updated ESLint configuration to enforce standardized icon usage patterns.
  • Adjusted webpack performance budget thresholds.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@logonoff

Copy link
Copy Markdown
Member Author

icon replacements tested locally

/verified by @logonoff

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jun 11, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This PR has been marked as verified by @logonoff.

Details

In response to this:

icon replacements tested locally

/verified by @logonoff

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

@logonoff: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

import { basename, join, resolve } from 'path';
// Explicitly used this icon because nobody is going to use this
// eslint-disable-next-line no-restricted-imports
import { WizardsOfTheCoastIcon } from '@patternfly/react-icons';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lol, why do we even have this icon in PF?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

What if someone wants to make a WizardsOfTheCoast console plugin?????

'Create an Event source to register interest in a class of events from a particular system',
groupId: 'developer-catalog',
href: '/catalog/ns/:namespace?catalogType=EventSource',
icon: <SignOutAltIcon />,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is it intentional that we replaced this icon with something different?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes, it's just test data - no reason to have it be this icon specifically

@TheRealJon TheRealJon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 11, 2026
@openshift-ci

openshift-ci Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: logonoff, TheRealJon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 403fde1 into openshift:main Jun 11, 2026
9 checks passed
@logonoff logonoff deleted the OCPBUGS-87969-rhicon branch June 11, 2026 16:04
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: Jira Issue Verification Checks: Jira Issue OCPBUGS-87969
✔️ This pull request was pre-merge verified.
✔️ All associated pull requests have merged.
✔️ All associated, merged pull requests were pre-merge verified.

Jira Issue OCPBUGS-87969 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓

Details

In response to this:

Analysis / Root cause:

Currently the “legacy” icon names like ExclamationTriangleIcon will render both a font awesome and red hat icon into the DOM. This inflates bundle size, to have more control over what icon is used, the RhUi equivalent should be used where possible.

Solution description:

This PR replaces existing PatternFly icons with a Rh counterpart

Summary by CodeRabbit

  • Chores
  • Standardized icon components across the application to use consistent design system variants, improving visual consistency throughout the interface.
  • Updated ESLint configuration to enforce standardized icon usage patterns.
  • Adjusted webpack performance budget thresholds.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/core Related to console core functionality component/dashboard Related to dashboard component/dev-console Related to dev-console component/helm Related to helm-plugin component/insights Related to insights plugin component/knative Related to knative-plugin component/metal3 Related to metal3-plugin component/monitoring Related to monitoring component/olm Related to OLM component/sdk Related to console-plugin-sdk component/shared Related to console-shared component/topology Related to topology jira/severity-low Referenced Jira bug's severity is low for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants