Skip to content

[release-4.21] OCPBUGS-84967: Add bottom pagination to ConsoleDataView for mobile responsiveness#16395

Closed
rhamilto wants to merge 127 commits intomainfrom
release-4.21
Closed

[release-4.21] OCPBUGS-84967: Add bottom pagination to ConsoleDataView for mobile responsiveness#16395
rhamilto wants to merge 127 commits intomainfrom
release-4.21

Conversation

@rhamilto
Copy link
Copy Markdown
Member

@rhamilto rhamilto commented May 4, 2026

This is an manual cherry-pick of #16394

/assign rhamilto

Summary by CodeRabbit

  • New Features

    • Added integration test detection via user agent
    • Enhanced data view filtering with text-based search capabilities
    • Improved PodDisruptionBudget management and visualization
  • UI/UX Improvements

    • Renamed "Administrator" perspective to "Core platform" across the console
    • Updated OperatorHub references to "Software Catalog" for clearer operator discovery
    • Improved operator details pages with enhanced capability and infrastructure feature displays
    • Enhanced pagination UI with localized labels
    • Refined filter toolbar styling for better usability
  • Bug Fixes

    • Fixed snapshot status computation for consistent display
    • Improved namespace-aware pagination reset behavior
    • Enhanced Git service URL protocol and port handling for enterprise deployments
    • Refined telemetry handling for DevSandbox environments
    • Fixed form validation and project access workflows
  • Localization

    • Updated localization strings across all supported languages (English, Spanish, French, Japanese, Korean, Simplified Chinese)
    • Added new UI terms for improved clarity across multiple packages
  • Dependencies

    • Migrated from Yarn Classic to Yarn Berry with Corepack
    • Updated Node.js requirements to version 22+
    • Bumped PatternFly and other core dependencies to latest stable versions

logonoff and others added 30 commits December 16, 2025 01:33
…-15841-to-release-4.21

[release-4.21] OCPBUGS-69376: disable guided tour when cypress is running
…-15828-to-release-4.21

[release-4.21] OCPBUGS-69433: fix bug where Installed badge is not fully visible
…-15844-to-release-4.21

[release-4.21] OCPBUGS-69995: fix routing issues on packageserver PackageManifest de…
…cloudCredential isn't present on the cluster
…-15825-to-release-4.21

[release-4.21] OCPBUGS-71200: Remove asterisk from Routing label field in alertManager receiver form
…-15824-to-release-4.21

[release-4.21] OCPBUGS-70132: show DASH to routing labels column when receiver doesn't have routing labels
…-15836-to-release-4.21

[release-4.21] OCPBUGS-69886: Prevent the display of events from projects other than the currently selected project
…-15812-to-release-4.21

[release-4.21] OCPBUGS-69388: Prevent application filter in Topology view from resetting to all applications unexpectedly
…-15795-to-release-4.21

[release-4.21] OCPBUGS-70266: Fix edit application via Deploy image internal registry doesn't select correct image stream
…-15885-to-release-4.21

[release-4.21] OCPBUGS-73097: Revert the console-shared.json to console-shared directory
…-15813-to-release-4.21

[release-4.21] OCPBUGS-69919: There should be no role ARN field as token-auth-aws/azure/gcp=false in csv annotations
…-15803-to-release-4.21

[release-4.21] OCPBUGS-72416: make cloudCredentials optional so operators load when …
…-15891-to-release-4.21

[release-4.21] OCPBUGS-73727: change OperatorHub strings to Software Catalog
…age-4.21

[release-4.21] OCPBUGS-73620:  Improve VAC field on PVC details page
…-15763-to-release-4.21

[release-4.21] OCPBUGS-69931, OCPBUGS-69932: apiVersion is empty on YAML creation page - Runtime error occurs when create MachineConfig with default yaml from…
@openshift-ci openshift-ci Bot added 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/git-service Related to git-service labels May 4, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 4, 2026

Caution

Review failed

Pull request was closed or merged during review

Walkthrough

Migrates build tooling to Yarn Berry/Corepack, introduces an INTEGRATION_TEST feature flag with Cypress user agent, removes guided tour handling in tests, refactors OperatorHub (Software Catalog) UI with new detail components and tokenized auth logic, unifies snapshot status/sorting, normalizes Git service hosts with protocol/port, and updates telemetry DevSandbox precedence.

Changes

Build Tooling: Yarn Berry/Corepack

Layer / File(s) Summary
Tooling Config
.gitignore, frontend/.yarnrc.yml, frontend/.yarnrc, dynamic-demo-plugin/.yarnrc, dynamic-demo-plugin/.yarnrc.yml, README.md
Adds Yarn v4 (Berry) configuration, removes legacy Yarn v1 files, documents Corepack usage and updated yarn commands.
Docker/Builder
Dockerfile, Dockerfile.builder
Replaces Yarn bootstrap with Corepack enablement; includes .yarnrc.yml in cached artifacts.
Repo Manifests
frontend/package.json, dynamic-demo-plugin/package.json, frontend/packages/console-dynamic-plugin-sdk/package.json, frontend/packages/console-plugin-shared/package.json, frontend/packages/webterminal-plugin/package.json
Pins packageManager to yarn@4.12.0, adjusts scripts (eslint, generate, compile), minor field removals/additions.
SDK Docs
frontend/packages/console-dynamic-plugin-sdk/README.md, .claude/commands/console-assist.md
Updates npm dist-tag query commands to yarn npm info ... --json with jq parsing.
Deps/Resolutions
frontend/package.json
Bumps PatternFly packages, updates lodash-es, adds @yarnpkg/parsers, adds resolutions and dependenciesMeta.

Integration Test Flag and Cypress Stabilization

Layer / File(s) Summary
Feature Flag
frontend/packages/console-app/src/consts.ts, frontend/packages/console-app/src/features/integration-test.ts, frontend/packages/console-app/console-extensions.json, frontend/packages/dev-console/console-extensions.json
Adds FLAG_INTEGRATION_TEST and handler enabling flag based on fixed user agent; disallows guided tour when flag present.
Cypress User Agent
frontend/packages/*/integration-tests/cypress.config.js, frontend/packages/integration-tests-cypress/cypress.config.js
Sets e2e.userAgent: 'ConsoleIntegrationTestEnvironment' across test suites.
Scripts Default Browser
frontend/package.json, multiple */integration-tests/package.json
Changes browser default expansion to ${BRIDGE_E2E_BROWSER_NAME:-electron}.
Remove Guided Tour Usage
frontend/packages/**/integration-tests/**/*.{ts,tsx}, frontend/packages/integration-tests-cypress/views/guided-tour.ts
Deletes guided tour helper and removes all its imports/calls from tests and hooks.
Stability/Infra Tweaks
frontend/packages/integration-tests-cypress/support/index.ts, .../views/alertmanager.ts
Ignores ResizeObserver loop errors; adds post-save wait in alertmanager helper.
Test Adjustments
Various tests/*.cy.ts, *.feature
Updates filtering calls to new signatures/selectors, gates snapshot/clone tests on normalized BRIDGE_AWS, minor YAML/text changes, adds PackageManifest tabs tests.

Console DataView and Filters

Layer / File(s) Summary
Components/Styles
frontend/packages/console-app/src/components/data-view/ConsoleDataView.tsx, ConsoleDataView.scss, DataViewLabelFilter.tsx, DataViewTextFilter.tsx
Adds text filter component, reorders built-in vs additional filters, conditionally hides category selector when only one filter, localizes pagination titles.
Data Handling
frontend/packages/console-app/src/components/data-view/useConsoleDataViewData.tsx
Resets pagination on filter or namespace change.
Tests Wiring
frontend/packages/integration-tests-cypress/views/list-page.ts, multiple tests
Updates selectors (Filter by name) and filter API (by(filterName, checkboxLabel)), adds assertions for single-filter toolbar.

Snapshot Status Unification

Layer / File(s) Summary
Data Shape/Reducers
frontend/packages/console-shared/src/sorts/snapshot.ts, frontend/packages/console-app/src/status/snapshot.ts
Introduces snapshotContentSize and replaces local volumeSnapshotStatus with shared snapshotStatus.
Tables/Details
frontend/packages/console-app/src/components/volume-snapshot/*
Switches status rendering and column sorting to snapshotStatus and sortResourceByValue utilities.
Dashboards
frontend/packages/console-shared/src/components/dashboard/inventory-card/utils.ts
Uses snapshotStatus for VS status groups.

OperatorHub (Software Catalog) Refactor

Layer / File(s) Summary
Data Shape/Hooks
frontend/packages/operator-lifecycle-manager/src/hooks/useCurrentChannel.tsx, useCurrentCSVDescription.tsx
Adds useCurrentChannel and extends useCurrentCSVDescription to accept optional channel override and use URL param.
Core Logic
.../operator-hub/operator-hub-utils.ts, .../hooks/useOperatorCatalogItems.tsx
Updates tokenized auth resolution to require explicit provider annotations; per-operator tokenized auth in install URL; replaces inline details with dedicated components.
New UI Components
operator-capability.tsx, operator-infrastructure-features.tsx, operator-valid-subscriptions.tsx, operator-repository.tsx, operator-container-image.tsx, operator-created-at.tsx, operator-support.tsx
Adds components to render capability, infra features, subscriptions, repository, image, createdAt, and support.
Item Details
operator-hub-item-details.tsx
Computes infra features from current CSV annotations; removes infraFeatures prop from OperatorDescription.
Routing/Pages
console-extensions.json, operator-hub-page.tsx, catalog-source.tsx, create-catalog-source.tsx, modals/*default*source*.tsx
Removes exact route constraint; updates empty-state and messages to “Software Catalog”.
Tables/Previews
install-plan.tsx, subscription.tsx
Refactors resolved steps to PF Table components; sets ActionMenuVariant.DROPDOWN and context by reference.
Tests
.../__tests__/operator-hub-utils.spec.ts
Aligns to explicit token auth annotation behavior.
Locales/Texts
frontend/packages/operator-lifecycle-manager/locales/*, .../olm-v1/*, console-app/locales/*, dev-console/locales/en
Renames OperatorHub to Software Catalog, adds OLMv1 texts, perspective wording updates.

Git Services: Host Normalization and Base URLs

Layer / File(s) Summary
Data Shape
frontend/packages/git-service/src/types/repo.ts
Documents RepoMetadata.host format now includes protocol and optional port.
Core Parsing
services/github-service.ts, gitlab-service.ts, bitbucket-service.ts, gitea-service.ts
Parses URLs with git-url-parse, sets host as <protocol>://<resource>[:port], updates base API URLs and webhook host logic.
Tests
services/__tests__/*-service.spec.ts
Adds coverage for protocol/port handling and API endpoint construction, updates existing expectations.

Telemetry: DevSandbox Precedence

Layer / File(s) Summary
Core Logic
frontend/packages/console-shared/src/hooks/useTelemetry.ts, frontend/packages/console-dynamic-plugin-sdk/src/api/segment-analytics.ts, frontend/@types/console/index.d.ts
Sets clusterType to DEVSANDBOX when telemetry.DEVSANDBOX === 'true'; prioritizes DevSandbox Segment key when flagged; updates type to include DEVSANDBOX.
Tests
frontend/packages/console-shared/src/hooks/__tests__/useTelemetry.spec.ts
Updates tests to assert new precedence regardless of CLUSTER_TYPE.

Catalog Extensions Visibility

Layer / File(s) Summary
Core Logic
frontend/packages/console-shared/src/components/catalog/utils/catalog-utils.tsx, .../hooks/useCatalogExtensions.ts
Centralizes catalog types parsing, computes disabled subcatalogs, and filters extensions by enabled types using useExtensions.
Tests
.../src/utils/__tests__/isSubCatalogTypeEnabled.spec.ts
Switches mocks to useExtensions and updates test harness.

Monitoring Links Respect Perspective

Layer / File(s) Summary
Dev Console
frontend/packages/dev-console/src/components/monitoring/dashboard/MonitoringDashboardGraph.tsx, .../overview/MonitoringOverview.tsx, .../overview/MonitoringOverviewAlerts.tsx
Builds dev-specific monitoring links when in Developer perspective and switches perspective on click when needed.
Shared
frontend/packages/console-shared/src/components/dashboard/utilization-card/TopConsumerPopover.tsx
Routes “View more” monitoring link based on perspective and access; updates perspective when navigating to dev route.

UI/Type Updates (PF6, Forms, Status)

Layer / File(s) Summary
PF/Editor Types
frontend/packages/console-shared/src/components/formik-fields/{CodeEditorField.tsx,field-types.ts}
Types language as keyof typeof Language, switches to ref, tightens radio types, redeclares labels/helpText where needed.
Status Component
frontend/packages/console-dynamic-plugin-sdk/src/app/components/status/Status.tsx
Status string cases now match lowercase: pending, failed, loaded.
Async Icons
frontend/packages/console-app/src/components/nav/NavHeader.tsx, frontend/packages/console-shared/src/components/dashboard/status-card/OperatorStatusBody.tsx, dev-console import-types.ts
Loads icons/components via AsyncComponent; updates LazyLoader typing/import source; removes LazyLoader type from plugin-sdk.

Namespace Route Pagination Reset

Layer / File(s) Summary
Routing
frontend/public/actions/ui.ts
On namespace change, removes page query param and preserves others/hash.
Tests
frontend/public/actions/__tests__/ui.spec.ts
Adds cases for page removal, perPage preservation, hash handling, and unchanged namespace.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120 minutes

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release-4.21
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch release-4.21

@openshift-ci openshift-ci Bot added 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 kind/demo-plugin Related to dynamic-demo-plugin kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated plugin-api-changed Categorizes a PR as containing plugin API changes labels May 4, 2026
@rhamilto rhamilto changed the title Release 4.21 [release-4.21] OCPBUGS-84967: Add bottom pagination to ConsoleDataView for mobile responsiveness May 4, 2026
@openshift-ci-robot openshift-ci-robot added jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels May 4, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@rhamilto: This pull request references Jira Issue OCPBUGS-84967, which is invalid:

  • expected the bug to target either version "5.0." or "openshift-5.0.", but it targets "4.21.z" instead

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

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

Details

In response to this:

This is an manual cherry-pick of #16394

/assign rhamilto

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
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 4, 2026

@rhamilto: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-gcp-console d30a20c link true /test e2e-gcp-console
ci/prow/backend d30a20c link true /test backend
ci/prow/images d30a20c link true /test images
ci/prow/analyze d30a20c link true /test analyze
ci/prow/okd-scos-images d30a20c link true /test okd-scos-images
ci/prow/frontend d30a20c link true /test frontend

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.

@rhamilto
Copy link
Copy Markdown
Member Author

rhamilto commented May 4, 2026

Replaced by #16396

@rhamilto rhamilto closed this May 4, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

@rhamilto: This pull request references Jira Issue OCPBUGS-84967. The bug has been updated to no longer refer to the pull request using the external bug tracker.

Details

In response to this:

This is an manual cherry-pick of #16394

/assign rhamilto

Summary by CodeRabbit

  • New Features

  • Added integration test detection via user agent

  • Enhanced data view filtering with text-based search capabilities

  • Improved PodDisruptionBudget management and visualization

  • UI/UX Improvements

  • Renamed "Administrator" perspective to "Core platform" across the console

  • Updated OperatorHub references to "Software Catalog" for clearer operator discovery

  • Improved operator details pages with enhanced capability and infrastructure feature displays

  • Enhanced pagination UI with localized labels

  • Refined filter toolbar styling for better usability

  • Bug Fixes

  • Fixed snapshot status computation for consistent display

  • Improved namespace-aware pagination reset behavior

  • Enhanced Git service URL protocol and port handling for enterprise deployments

  • Refined telemetry handling for DevSandbox environments

  • Fixed form validation and project access workflows

  • Localization

  • Updated localization strings across all supported languages (English, Spanish, French, Japanese, Korean, Simplified Chinese)

  • Added new UI terms for improved clarity across multiple packages

  • Dependencies

  • Migrated from Yarn Classic to Yarn Berry with Corepack

  • Updated Node.js requirements to version 22+

  • Bumped PatternFly and other core dependencies to latest stable versions

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/backend Related to backend component/core Related to console core functionality component/dashboard Related to dashboard component/dev-console Related to dev-console component/git-service Related to git-service 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/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. kind/demo-plugin Related to dynamic-demo-plugin kind/i18n Indicates issue or PR relates to internationalization or has content that needs to be translated needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. plugin-api-changed Categorizes a PR as containing plugin API changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.