Commit graph

497 commits

Author SHA1 Message Date
Gianluca Zuccarelli
9a17373234 Hooks: extract auth.getUser to its own hook
This code was being called in multiple places and was causing issues
with the on-prem frontend. Extract the logic to a single hook and only
get the `userData` for the hosted frontend.
2025-08-21 16:12:09 +00:00
Michal Gold
a5aa15cbcb Wizard: Resolve row reordering issue on selection and expansion
- Fix issue when clicking the expandable arrow or selecting a package checkbox in the Packages step it caused unexpected row reordering.
- Updated sorting logic to ensure that selecting a package with a specific stream groups all related module streams together at the top.
- Ensured that rows expand in place and selection does not affect row position.
- Add unit test as well
2025-08-21 10:17:06 +00:00
Michal Gold
bf77501eea Wizard: Display customized policy rules in review summary
Previously, when a user selected a compliance policy with tailored rules,
the review page always showed the default profile customizations instead
of the policy-specific customizations.

Root cause: OscapProfileInformation component was only using the profile
endpoint (/oscap/{distribution}/{profile}/customizations) which returns
base profile rules, not the policy endpoint
(/oscap/{policy}/{distribution}/policy_customizations) which returns
customized rules.

Changes:
- Add useGetOscapCustomizationsForPolicyQuery export to backendApi
- Implement dual data fetching in OscapProfileInformation:
  * Profile endpoint: for description and reference ID
  * Policy endpoint: for customized packages, services, kernel args

Fixes the compliance policy customization display bug where edited
policy rules were not reflected in the image build summary.

Add unit tests for compliance policy customizations

Fix profile description title
2025-08-14 19:42:19 +00:00
Lucas Garfield
04adcc133c Wizard: add AAP step 2025-08-14 11:28:49 +00:00
Gianluca Zuccarelli
11e352440f Wizard: hide some review items for cockpit frontend
Hide some of the steps in the review step that aren't applicable to the
cockpit frontend.
2025-08-14 08:41:48 +00:00
regexowl
eee1f78d27 Wizard: Fix lint warnings and snapshot button behaviour
This fixes lint warnings for Review step and updates behaviour of the snapshot button.

The button for reviewing repeatable build was permanently disabled, now it should be disabled only when there are no snapshotable repositories selected. The content of snapshot popover has updated rendering of states.
2025-08-07 12:08:39 +00:00
Michal Gold
d66f54a847 Wizard: Add FIPS mode support for OpenSCAP and compliance profiles (HMS-8919)
Automatically enable FIPS mode when:

User selects OpenSCAP profile with FIPS enabled (e.g., DISA STIG)
User selects compliance profile with FIPS enabled and not customized off

- Add FIPS checkbox in openscap step
- Display FIPS status in review step
- Add unit tests to FIPS checkbox feature
This ensures security compliance for profiles that require FIPS mode
without manual user intervention.
2025-08-07 11:47:17 +00:00
regexowl
904e4cccea Wizard: Update public cloud logo links
Assets were renamed, this updates naming and fixes logos.
2025-08-06 15:18:04 +00:00
regexowl
bb345c0e4f ESLint: All the single quotes 2025-08-05 13:56:59 +00:00
regexowl
eafcd200ae ESLint: Set trailingComma to all and run lint fix 2025-08-05 13:56:59 +00:00
regexowl
e9025e460c src: Run lint autofix 2025-08-05 13:56:59 +00:00
regexowl
327e1cd48f src: Fix useChrome import, update mock, solve some lint warnings
This fixes the way we're importing `useChrome` in some places. The mock was also updated to reflect the changes. This resolves several lint warnings.
2025-08-01 10:03:39 +00:00
regexowl
64e5744d8c Wizard: Remove RHEL betas from release options
This removes RHEL betas from release menu and cleans up the code in several places.
2025-07-31 13:40:21 +00:00
Katarina Sieklova
90c2c65ebe Wizard: disable adding empty user tabs
When creating an empty user, the "+" sign gets hidden, and only pops back up if at least user name, psswd, or ssh key is filed out.

Fixes #3114
2025-07-31 11:09:40 +00:00
regexowl
d5321bb078 Wizard: Remove alert from OpenSCAP step
Information about required packages, services and kernel arguments is back on the step. Meaning we can remove the alert as per UX recommendation.
2025-07-30 08:14:12 +00:00
Anna Vítová
cfa8cbcb28 Compliance: refactor handleKernelAppend duplicate 2025-07-29 15:46:56 +00:00
Anna Vítová
96da1817df Compliance: refactor handlePartitions duplicate 2025-07-29 15:46:56 +00:00
Anna Vítová
9da490ad52 Compliance: refactor handleServices duplicate 2025-07-29 15:46:56 +00:00
Anna Vítová
128abcb98f Compliance: refactor handlePackages duplicate 2025-07-29 15:46:56 +00:00
Anna Vítová
c026102dd3 Compliance: refactor clearPackage duplicate 2025-07-29 15:46:56 +00:00
regexowl
730554dc84 Wizard: Add fetch and error state or target environments
This renders an empty state with a spinner when fetching target environments and alert when there's an issue.
2025-07-29 14:53:43 +00:00
regexowl
2c3efe4c04 Wizard: Resolve FSC lint warnings
This resolves lint warnings for File System Configuration step.
2025-07-29 08:16:27 +00:00
Michal Gold
6f9a34c972 profileSelector: Prevent wizard refresh on Enter key in OpenSCAP profile selector
Added event.preventDefault() in onKeyDown handler to stop default form
submission behavior when hitting Enter in the typeahead filter.
Also implemented auto-selection of single filtered results on Enter.
2025-07-24 10:27:34 +00:00
Gianluca Zuccarelli
3a9e3aa200 requestMapper: add region to aws upload type
The on-prem backend needs the aws region in order to upload the ami
target to aws. In order to do this, we use some specific cockpit types
that contain the region field, meaning that requests to image-builder-crc
should be unchanged. This is essentialy the wiring commit to get this
functionality into the `/composes` endpoint for on-prem.
2025-07-23 08:58:26 +00:00
Gianluca Zuccarelli
4339420cb8 Wizard: add region selector for on-prem AWS
We need to be able to select the region for AWS targets in the frontend
image builder. This commit adds the field to the wizard, but doesn't
wire this up to the api call just yet.
2025-07-23 08:58:26 +00:00
Gianluca Zuccarelli
2ce62d4ef0 store/cockpitApi: enable aws image types 2025-07-23 08:58:26 +00:00
Gianluca Zuccarelli
253317497e CreateImageWizard: hide aws sources for on-prem
For now just allow manual entry of the aws account id, since we aren't
able to configure sources on-premise yet (if ever).
2025-07-23 08:58:26 +00:00
regexowl
520b94099e Wizard: Fix stuck page for package search
Fixes #3381

This resets the paging to page 1 when search term is updated.
2025-07-22 11:33:36 +00:00
regexowl
e657b88bfc src: Fix status text color
The `className` for text color was changed in PF6, this updates it in relevant places.
2025-07-21 07:54:20 +00:00
regexowl
25a5f140d8 ESLint: Add rule to sort imports alphabetically
The `import/order` rule isn't enough to sort import within a single import group alphabetically.

This adds `sort-imports` rule that handles the sorting within groups.
2025-07-15 16:52:45 +00:00
regexowl
91b2cc2d10 ESLint: Add rule for duplicate imports
We had decent amount of import groups split into several imports, this adds a rule to output error when there's a duplicate import.
2025-07-15 16:52:45 +00:00
regexowl
a0fe3644c3 src: Remove more data-testids
As using `data-testid`s in tests is an anti-pattern, this removes more of them and replaces them with appropriate locators in the tests.
2025-07-15 16:51:29 +00:00
regexowl
0ea874abc6 Wizard: Fix dropdown behaviour on "Enter"
The page refreshed when pressing "Enter" while in the dropdown input. This fixes the behaviour.

If the dropdown's closed, "Enter" will open the options, if there's an input value that perfectly matches one of the activation keys, it gets selected.

The order of functions was also slightly cleaned up so they're all in one place after `useEffect`s.
2025-07-15 14:41:52 +00:00
regexowl
2406d14304 Wizard: Update activation keys dropdown
This updates key dropdown's helper text to match recent mocks.

Also checked other criteria:
- the input is clearable
- current selection is marked with a check in the list of options
2025-07-15 14:41:52 +00:00
regexowl
3f35101f68 Migrate ESLint to v 9.x
This bumps needed dependencies and migrates previously used ESLint configs to the new flat config schema.
2025-07-15 13:39:36 +00:00
regexowl
10a40aaec4 Wizard: Move org ID into a copy-able field
This moves the org ID into a copy-able field and updates the permanent info as per mocks.

The popover that previously included the org ID is removed from mocks.
2025-07-15 13:27:46 +00:00
Lucas Garfield
fd474dace0 PackageRecommendations: Add modelVersion to analytics tracking
Previous commit 852d24e5 added modelVersion to the API response and mentioned
adding it to analytics tracking, but only added the distribution field to
the analytics events. This commit completes the implementation by adding
modelVersion to both package recommendation analytics events:

- "Package Recommendations Shown" event now includes modelVersion
- "Recommended Package Added" event now includes modelVersion

This enables proper tracking of which recommendation models are being used
and their effectiveness.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-14 15:47:21 +00:00
regexowl
b6e9fef70b Wizard: Change WSL file extension
This updates WSL file extension from `.tar.gz` to `.wsl`
2025-07-14 14:02:03 +00:00
regexowl
855f1430ad api: Update pull.sh, regenerate schemas and fix errors
This adds missing schema links to the `pull.sh` script, pulls new schema definitions, re-generates schemas and updates the code where needed.
2025-07-03 10:01:15 +00:00
regexowl
6521a46bb1 Wizard: Replace deprecated Modals with non-deprecated ones
The schema for `Modal` component changed between PF5 and PF6, this updates the modals to their non-deprecated version.
2025-07-03 09:19:22 +00:00
regexowl
caa678ebeb Wizard: Replace VMware radios with checkboxes
This replaces previously used VMware radios with checkboxes, allowing the user to select both VMware vSphere targets at the same time.
2025-07-03 09:15:05 +00:00
Lucas Garfield
5d6c6dc58b BlueprintCard: Make hand cursor appear on hover
This commit fixes an issue where if both isClickable and isSelectable
are passed to a card in Patternfly 6, the hand cursor no longer appears
on hover and it is not obvious the card is clickable.

Co-Author: Gianluca Zuccarelli <gzuccare@redhat.com>
2025-07-03 06:52:30 +00:00
regexowl
6ae8b3e740 Wizard: Hide Kernel step for WSL
This hides Kernel step for WSL targets only and adds an alert with info that the customization will not be added to the WSL images if more targets are selected.
2025-07-02 10:12:01 +00:00
Dominik Vagner
eaead88a78 Fix: package search bug with RH repos in template
This fixes a bug inside of the package search step where packages from
additional (not the 2 default ones) RH repos were not coming up when
searching. This only happens when using a content template as that's
currently the only way to add more RH repos.
2025-07-02 08:28:37 +00:00
regexowl
9367bb4b28 Wizard: Remove repository column from packages table
This removes the column with repository information from package table as it could be confusing and misleading.
2025-07-02 06:39:20 +00:00
regexowl
1f34e95469 Wizard: Hide FSC step for WSL targets
This hides FSC step when only WSL target is selected.
2025-07-01 09:47:09 +00:00
Gianluca Zuccarelli
e8d46dd716 deps: migrate fec/notifications
The frontend component library decoupled notifications from redux.
Dispatching notifications via the notifications middleware was replaced
by a new `useAddNotifications` hook.

We mostly used the notifications middleware outside of React Components
in our `enhancedImageBuilderApi` store for mutation events. I created a
wrapper around the RTK hooks that uses the `useAddNotification` hook
and created a directory for the new hooks.

In other places, where we were using the notification dispatcher inside
React components, I replaced the call with the new hook.

[1] b1d4973144/packages/notifications/doc/migration.md

bump @redhat-cloud-services/frontend-components-notifications

---
updated-dependencies:
- dependency-name: "@redhat-cloud-services/frontend-components-notifications"
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Co-authored-by: dependabot[bot] <support@github.com>
Assisted-by: cursor ide for generalizing the `useMutationWithNotification`
hook.
2025-07-01 09:17:38 +00:00
Michal Gold
852d24e568 PackageRecommendations: Add distribution to package recommendations
- Add required distribution field to RecommendPackageRequest
- Add modelVersion field to RecommendationsResponse
- Update frontend to send RHEL major version to API
- Add analytics tracking for distribution and modelVersion

Enables version-specific package recommendations and model usage tracking.
2025-06-30 12:51:40 +00:00
regexowl
6cefc6c199 Wizard: Render labels for all FSC table columns
This adds column names for the Suffix and Unit columns that were previously not labeled.
2025-06-30 12:41:07 +00:00
Dominik Vagner
e05079330b Wizard: add EPEL 10 support
This adds support for EPEL 10 repository. Changes the way of getting
the correct EPEL version for RHEL distribution to be more future proof.
2025-06-30 08:43:32 +00:00