Skip to content

CONSOLE-5434: Replace Popper with PF components#16831

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
logonoff:pooper
Jul 24, 2026
Merged

CONSOLE-5434: Replace Popper with PF components#16831
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
logonoff:pooper

Conversation

@logonoff

@logonoff logonoff commented Jul 24, 2026

Copy link
Copy Markdown
Member

Analysis / Root cause:

Popper.js is deprecated:

└─ popper.js
   ├─ ID: popper.js (deprecation)
   ├─ Issue: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
   ├─ Severity: moderate
   ├─ Vulnerable Versions: 1.16.1
   │ 
   ├─ Tree Versions
   │  └─ 1.16.1
   │ 
   └─ Dependents
      └─ openshift-console@workspace:.

Solution description:

Replace it with the PatternFly equivalent components

Screenshots / screen recording:

No UI changes

Test setup:

  • Enable web terminal

Test cases:

  • Test "execute in web terminal" button in the developer perspective quick start
  • Test "copy to clipboard" button in developer perspective quick start
  • Test guided tour

Browser conformance:

  • Chrome
  • Firefox
  • Safari (or Epiphany on Linux)

Summary by CodeRabbit

  • Bug Fixes

    • Improved guided-tour popover placement using PatternFly positioning enums.
    • Updated tooltip behavior for markdown clipboard and snippet execution to use PatternFly tooltip events.
    • Refined spotlight overlay rendering and improved selectors in automated checks.
  • Refactor

    • Migrated guided-tour and related UI from legacy tooltip/popover/popper implementations to PatternFly components.
    • Removed custom tooltip and popover arrow styling; simplified spotlight to direct portal rendering.
    • Updated placement typing to match PatternFly.
  • Tests

    • Updated unit and integration tests to use accessibility-based selectors and revised tooltip behavior.
  • Chores

    • Cleaned up frontend dependency/resolution configuration.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Analysis / Root cause:

Popper.js is deprecated:

└─ popper.js
  ├─ ID: popper.js (deprecation)
  ├─ Issue: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
  ├─ Severity: moderate
  ├─ Vulnerable Versions: 1.16.1
  │ 
  ├─ Tree Versions
  │  └─ 1.16.1
  │ 
  └─ Dependents
     └─ openshift-console@workspace:.

Solution description:

Replace it with the PatternFly equivalent components

Screenshots / screen recording:

No UI changes

Test setup:

  • Enable web terminal

Test cases:

  • Test "execute in web terminal" button in the developer perspective quick start
  • Test "copy to clipboard" button in developer perspective quick start
  • Test guided tour

Browser conformance:

  • Chrome
  • Firefox
  • Safari (or Epiphany on Linux)

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-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci
openshift-ci Bot requested review from fsgreco and jhadvig July 24, 2026 14:32
@openshift-ci openshift-ci Bot added component/core Related to console core functionality component/dev-console Related to dev-console approved Indicates a PR has been approved by an approver from all required OWNERS files. component/shared Related to console-shared labels Jul 24, 2026
@logonoff

Copy link
Copy Markdown
Member Author

/label px-approved
/label docs-approved
/verified by @logonoff

@openshift-ci openshift-ci Bot added px-approved Signifies that Product Support has signed off on this PR docs-approved Signifies that Docs has signed off on this PR labels Jul 24, 2026
@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jul 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

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

Details

In response to this:

/label px-approved
/label docs-approved
/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.

@coderabbitai

coderabbitai Bot commented Jul 24, 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: 79c415ca-3d26-4020-be37-30d77441158a

📥 Commits

Reviewing files that changed from the base of the PR and between b955510 and 552dc84.

⛔ Files ignored due to path filters (1)
  • frontend/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (25)
  • frontend/package.json
  • frontend/packages/console-app/src/components/guided-tour/index.tsx
  • frontend/packages/console-app/src/components/tour/StepComponent.tsx
  • frontend/packages/console-app/src/components/tour/TourStepComponent.tsx
  • frontend/packages/console-app/src/components/tour/__tests__/TourStepComponent.spec.tsx
  • frontend/packages/console-app/src/components/tour/type.ts
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.scss
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/MarkdownCopyClipboard.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/MarkdownExecuteSnippet.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/__tests__/MarkdownExecuteSnippet.spec.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/popover/Popover.scss
  • frontend/packages/console-shared/src/components/popover/Popover.tsx
  • frontend/packages/console-shared/src/components/popover/const.ts
  • frontend/packages/console-shared/src/components/popper/Popper.tsx
  • frontend/packages/console-shared/src/components/popper/Portal.tsx
  • frontend/packages/console-shared/src/components/popper/Tippy.tsx
  • frontend/packages/console-shared/src/components/spotlight/InteractiveSpotlight.tsx
  • frontend/packages/console-shared/src/components/spotlight/StaticSpotlight.tsx
  • frontend/packages/console-shared/src/utils/useCombineRefs.ts
  • frontend/packages/dev-console/integration-tests/support/pageObjects/gettingStarted-po.ts
  • frontend/packages/dev-console/integration-tests/support/step-definitions/quck-starts/quick-start-access-code-snippet.ts
  • frontend/packages/dev-console/src/components/guided-tour/index.tsx
💤 Files with no reviewable changes (9)
  • frontend/packages/console-shared/src/components/popover/const.ts
  • frontend/packages/console-shared/src/components/popper/Tippy.tsx
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.scss
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.tsx
  • frontend/packages/console-shared/src/components/popover/Popover.scss
  • frontend/packages/console-shared/src/utils/useCombineRefs.ts
  • frontend/packages/console-shared/src/components/popover/Popover.tsx
  • frontend/packages/console-shared/src/components/popper/Portal.tsx
  • frontend/packages/console-shared/src/components/popper/Popper.tsx
🚧 Files skipped from review as they are similar to previous changes (12)
  • frontend/packages/dev-console/integration-tests/support/pageObjects/gettingStarted-po.ts
  • frontend/packages/console-shared/src/components/markdown-extensions/inline-execute-extension.ts
  • frontend/packages/console-shared/src/components/markdown-extensions/tests/MarkdownExecuteSnippet.spec.tsx
  • frontend/packages/console-app/src/components/tour/type.ts
  • frontend/packages/dev-console/integration-tests/support/step-definitions/quck-starts/quick-start-access-code-snippet.ts
  • frontend/packages/dev-console/src/components/guided-tour/index.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/MarkdownExecuteSnippet.tsx
  • frontend/packages/console-app/src/components/tour/tests/TourStepComponent.spec.tsx
  • frontend/packages/console-app/src/components/guided-tour/index.tsx
  • frontend/packages/console-shared/src/components/spotlight/StaticSpotlight.tsx
  • frontend/packages/console-app/src/components/tour/TourStepComponent.tsx
  • frontend/packages/console-shared/src/components/spotlight/InteractiveSpotlight.tsx

Walkthrough

The change removes legacy Popper-based overlays, adopts PatternFly Tooltip and Popover APIs, renders spotlights through direct React portals, updates guided-tour placement typing, and adjusts integration-test selectors.

Changes

Overlay and guided-tour migration

Layer / File(s) Summary
Replace Popper-backed overlays
frontend/package.json, frontend/packages/console-shared/src/components/spotlight/*
Popper.js-related dependency entries are removed, and spotlight overlays render directly into document.body through React portals.
Adopt PatternFly tooltips
frontend/packages/console-shared/src/components/markdown-extensions/*
Markdown controls use PatternFly Tooltip props, execution markers clear on pointer and focus events, tests query tooltip roles, and snippet markup templates are compacted.
Align guided tours with PatternFly popovers
frontend/packages/console-app/src/components/tour/*, frontend/packages/console-app/src/components/guided-tour/index.tsx, frontend/packages/dev-console/src/components/guided-tour/index.tsx
Tour placement contracts and configured values use PopoverPosition, while selector-present steps use PatternFly’s controlled Popover interface.
Update integration selectors
frontend/packages/dev-console/integration-tests/support/*
Guided-tour and tooltip locators target PatternFly dialog and ARIA tooltip selectors.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant GuidedTour
  participant TourStepComponent
  participant PatternFlyPopover
  GuidedTour->>TourStepComponent: provide PopoverPosition placement
  TourStepComponent->>PatternFlyPopover: pass position and visibility callbacks
  PatternFlyPopover->>TourStepComponent: invoke shouldClose
  TourStepComponent->>GuidedTour: route closure through handleClose
Loading

Possibly related PRs

Suggested labels: verified

Suggested reviewers: fsgreco, jhadvig

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Title check ✅ Passed The title concisely states the main change and includes the Jira key, matching the Popper-to-PatternFly migration.
Description check ✅ Passed The description covers root cause, solution, testing, screenshots, and browser conformance; only optional sections are left blank.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed Modified test titles are static strings; no generated names, timestamps, UUIDs, or dynamic concatenation were found.
Test Structure And Quality ✅ Passed No Ginkgo tests were changed; the diff only touches Jest/Cypress-style frontend tests and page objects, so the Ginkgo-specific checklist is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; changed tests are Jest/Cypress step defs and don’t reference MicroShift-unsupported OpenShift APIs.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; changed files are unit tests, Cypress step defs, and component code with no multi-node/HA assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed PASS: The PR only touches frontend UI/components/tests/CSS and removes popper/tooltips; no deployment manifests, controllers, or pod scheduling logic were added.
Ote Binary Stdout Contract ✅ Passed Touched files are React components/tests only; no main/init/TestMain/BeforeSuite/RunSpecs or stdout logging writes were found.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the changed tests are Cypress/unit tests and show no hardcoded IPv4 or public-internet dependencies.
No-Weak-Crypto ✅ Passed The patch adds no weak-crypto APIs, custom crypto, or secret/token comparisons; diff searches found no matching changes.
Container-Privileges ✅ Passed No container/K8s manifests were changed, and the diff contains no privileged, hostPID/Network/IPC, SYS_ADMIN, or allowPrivilegeEscalation=true settings.
No-Sensitive-Data-In-Logs ✅ Passed Searched the touched files/diffs and found no console/logger calls or sensitive literals; changes are UI component swaps/removals only.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Analysis / Root cause:

Popper.js is deprecated:

└─ popper.js
  ├─ ID: popper.js (deprecation)
  ├─ Issue: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
  ├─ Severity: moderate
  ├─ Vulnerable Versions: 1.16.1
  │ 
  ├─ Tree Versions
  │  └─ 1.16.1
  │ 
  └─ Dependents
     └─ openshift-console@workspace:.

Solution description:

Replace it with the PatternFly equivalent components

Screenshots / screen recording:

No UI changes

Test setup:

  • Enable web terminal

Test cases:

  • Test "execute in web terminal" button in the developer perspective quick start
  • Test "copy to clipboard" button in developer perspective quick start
  • Test guided tour

Browser conformance:

  • Chrome
  • Firefox
  • Safari (or Epiphany on Linux)

Summary by CodeRabbit

  • Bug Fixes

  • Improved guided-tour popover positioning and compatibility with the latest PatternFly components.

  • Updated tooltip behavior for clipboard and snippet execution interactions.

  • Improved spotlight overlays and accessibility-based test targeting.

  • Refactor

  • Replaced legacy tooltip, popover, and positioning implementations with PatternFly components.

  • Removed obsolete arrow styling and legacy positioning code.

  • Reduced unnecessary package configuration.

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

/pipeline required

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-gcp-console
/test e2e-playwright

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@frontend/packages/console-shared/src/components/markdown-extensions/MarkdownExecuteSnippet.tsx`:
- Around line 37-43: Update the event-listener setup in MarkdownExecuteSnippet
so the data-executed attribute is also removed when the button receives keyboard
focus, while preserving the existing mouseenter behavior. Add a regression test
covering focus-triggered reset for the keyboard-focusable button.

In
`@frontend/packages/console-shared/src/components/spotlight/InteractiveSpotlight.tsx`:
- Around line 20-29: Update InteractiveSpotlight so the target rectangle is
stored and refreshed rather than read only once during render. Recalculate
element.getBoundingClientRect() after the spotlight’s scrolling effect and on
relevant scroll and resize events, then derive the fixed-position style from the
latest rectangle so the highlight stays aligned with element.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 4aff08d6-d869-4e3d-8be4-041c8fbe779b

📥 Commits

Reviewing files that changed from the base of the PR and between f929813 and fa77c5d.

⛔ Files ignored due to path filters (1)
  • frontend/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (23)
  • frontend/package.json
  • frontend/packages/console-app/src/components/guided-tour/index.tsx
  • frontend/packages/console-app/src/components/tour/StepComponent.tsx
  • frontend/packages/console-app/src/components/tour/TourStepComponent.tsx
  • frontend/packages/console-app/src/components/tour/__tests__/TourStepComponent.spec.tsx
  • frontend/packages/console-app/src/components/tour/type.ts
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.scss
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/MarkdownCopyClipboard.tsx
  • frontend/packages/console-shared/src/components/markdown-extensions/MarkdownExecuteSnippet.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/popover/Popover.scss
  • frontend/packages/console-shared/src/components/popover/Popover.tsx
  • frontend/packages/console-shared/src/components/popover/const.ts
  • frontend/packages/console-shared/src/components/popper/Popper.tsx
  • frontend/packages/console-shared/src/components/popper/Portal.tsx
  • frontend/packages/console-shared/src/components/popper/Tippy.tsx
  • frontend/packages/console-shared/src/components/spotlight/InteractiveSpotlight.tsx
  • frontend/packages/console-shared/src/components/spotlight/StaticSpotlight.tsx
  • frontend/packages/dev-console/integration-tests/support/pageObjects/gettingStarted-po.ts
  • frontend/packages/dev-console/integration-tests/support/step-definitions/quck-starts/quick-start-access-code-snippet.ts
  • frontend/packages/dev-console/src/components/guided-tour/index.tsx
💤 Files with no reviewable changes (8)
  • frontend/packages/console-shared/src/components/popover/Popover.scss
  • frontend/packages/console-shared/src/components/popover/const.ts
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.scss
  • frontend/packages/console-shared/src/components/popover/Popover.tsx
  • frontend/packages/console-shared/src/components/Tooltip/Tooltip.tsx
  • frontend/packages/console-shared/src/components/popper/Tippy.tsx
  • frontend/packages/console-shared/src/components/popper/Portal.tsx
  • frontend/packages/console-shared/src/components/popper/Popper.tsx

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 24, 2026
@logonoff logonoff changed the title NO-JIRA: Replace Popper with PF components CONSOLE-5434: Replace Popper with PF components Jul 24, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references CONSOLE-5434 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Analysis / Root cause:

Popper.js is deprecated:

└─ popper.js
  ├─ ID: popper.js (deprecation)
  ├─ Issue: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
  ├─ Severity: moderate
  ├─ Vulnerable Versions: 1.16.1
  │ 
  ├─ Tree Versions
  │  └─ 1.16.1
  │ 
  └─ Dependents
     └─ openshift-console@workspace:.

Solution description:

Replace it with the PatternFly equivalent components

Screenshots / screen recording:

No UI changes

Test setup:

  • Enable web terminal

Test cases:

  • Test "execute in web terminal" button in the developer perspective quick start
  • Test "copy to clipboard" button in developer perspective quick start
  • Test guided tour

Browser conformance:

  • Chrome
  • Firefox
  • Safari (or Epiphany on Linux)

Summary by CodeRabbit

  • Bug Fixes

  • Improved guided-tour popover positioning and compatibility with the latest PatternFly components.

  • Updated tooltip behavior for clipboard and snippet execution interactions.

  • Improved spotlight overlays and accessibility-based test targeting.

  • Refactor

  • Replaced legacy tooltip, popover, and positioning implementations with PatternFly components.

  • Removed obsolete arrow styling and legacy positioning code.

  • Reduced unnecessary package configuration.

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

/pipeline required
/verified by @logonoff

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-gcp-console
/test e2e-playwright

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

Copy link
Copy Markdown
Contributor

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

Details

In response to this:

/pipeline required
/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.

Comment thread frontend/packages/console-app/src/components/tour/TourStepComponent.tsx Outdated
@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Jul 24, 2026
@logonoff

Copy link
Copy Markdown
Member Author

/pipeline required
/verified by @logonoff

@vojtechszocs

Copy link
Copy Markdown
Contributor

/lgtm
/approve

@openshift-ci

openshift-ci Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

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

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

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-gcp-console
/test e2e-playwright

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

openshift-ci-robot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@logonoff: This pull request references CONSOLE-5434 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Analysis / Root cause:

Popper.js is deprecated:

└─ popper.js
  ├─ ID: popper.js (deprecation)
  ├─ Issue: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
  ├─ Severity: moderate
  ├─ Vulnerable Versions: 1.16.1
  │ 
  ├─ Tree Versions
  │  └─ 1.16.1
  │ 
  └─ Dependents
     └─ openshift-console@workspace:.

Solution description:

Replace it with the PatternFly equivalent components

Screenshots / screen recording:

No UI changes

Test setup:

  • Enable web terminal

Test cases:

  • Test "execute in web terminal" button in the developer perspective quick start
  • Test "copy to clipboard" button in developer perspective quick start
  • Test guided tour

Browser conformance:

  • Chrome
  • Firefox
  • Safari (or Epiphany on Linux)

Summary by CodeRabbit

  • Bug Fixes

  • Improved guided-tour popover placement using PatternFly positioning enums.

  • Updated tooltip behavior for markdown clipboard and snippet execution to use PatternFly tooltip events.

  • Refined spotlight overlay rendering and improved selectors in automated checks.

  • Refactor

  • Migrated guided-tour and related UI from legacy tooltip/popover/popper implementations to PatternFly components.

  • Removed custom tooltip and popover arrow styling; simplified spotlight to direct portal rendering.

  • Updated placement typing to match PatternFly.

  • Tests

  • Updated unit and integration tests to use accessibility-based selectors and revised tooltip behavior.

  • Chores

  • Cleaned up frontend dependency/resolution configuration.

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

Copy link
Copy Markdown
Contributor

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

Details

In response to this:

/pipeline required
/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 added the lgtm Indicates that a PR is ready to be merged. label Jul 24, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage.

@openshift-merge-bot
openshift-merge-bot Bot merged commit 704fb3a into openshift:main Jul 24, 2026
8 of 11 checks passed
@logonoff
logonoff deleted the pooper branch July 24, 2026 19:13
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/dev-console Related to dev-console component/shared Related to console-shared docs-approved Signifies that Docs has signed off on this PR 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. px-approved Signifies that Product Support has signed off on this PR 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