Commit graph

706 commits

Author SHA1 Message Date
Anna Vítová
2ee812efe0 Wizard: refactor Satellite validation
The Satellite token navigation was a bit too overengineered, refactoring
for better readability.
2025-05-14 17:07:04 +02:00
Anna Vítová
d5969a2c9e Wizard: fix activation key required for Satellite
Sometimes, the activation key is required when the Satellite option is
needed. This is caused by missing condition.
2025-05-14 17:07:04 +02:00
Anna Vítová
4192ada532 Wizard: add details for Satellite token expiration
This commit adds a more detailed information about when does the token
used in Satellite command expire.
2025-05-14 17:07:04 +02:00
regexowl
daa6e59bc0 Wizard: Add package streams
If there's a package stream for both packages and modules, this will render it.
2025-05-14 16:15:06 +02:00
Lucas Garfield
e359e0f47d Wizard: Fix vertical height bug
Recently the wizard has started rendering such that its vertical height
matches the height of its body – and therefore only occupies some
fraction of the page’s vertical space for many steps. The desired
behavior is for its footer to be fixed at the bottom of the viewport.

Specifying the page section type prop as ‘wizard’ resolves the issue.
This is the pattern used in the Patternfly documentation for in-page
wizards. See here:
https://www.patternfly.org/components/wizard/react-demos#in-page

Using CSS to adjust Patternfly component rendering is an antipattern.
More custom CSS means more time spent troubleshooting rendering issues.
Custom CSS related to rendering of the wizard has been removed.

There is still an annoying issue. The body of the wizard is not
scrollable and will overflow. This is counter to the Patternfly
examples. There doesn’t seem to be any CSS in Image Builder that would
cause this to occur. Perhaps the problem is somehow inherited from
Insights Chrome? In any case, this will require further investigation.
2025-05-14 13:26:14 +02:00
regexowl
27da67360c src: Fix user groups validation on import
The error for invalid user groups was not previously rendered on import. This fixes the issue and adds an import test to check that the error messages for all user fields get correctly rendered.
2025-05-14 11:06:13 +02:00
Lukas Zapletal
1a3a0ecc03 Wizard: encode satellite cmd properly 2025-05-14 10:34:11 +02:00
regexowl
24fdc1147f Wizard: Update AWS sources filtering
Same issue as in #3220. The list of sources did refetch, but did not re-render.
2025-05-14 10:08:38 +02:00
regexowl
419c76fda6 Wizard: Fix password visibility toggle 2025-05-14 09:43:10 +02:00
regexowl
18ab2ddb2e Wizard: Fix password placeholder
User password gets redacted from a blueprint, meaning if there was any password set, it does not render on import.

Previously a placeholder was rendered as a value of password, making the value not editable. This renders the password indication as a placeholder text, solving the issue.
2025-05-14 09:43:10 +02:00
regexowl
4512c0b95f Wizard: Fix activation keys list refresh
We've been refetching the data, but not re-rendering the list. This should fix the issue.
2025-05-12 17:21:58 +02:00
Anna Vítová
11792edd57 Wizard: fix Satellite registration cmd not found
This was a bug that was looking for incorrect path in files. We do not
want to treat cmd as a secret, we decided to expose it, so this was just
an inconvenience.
2025-05-10 00:01:22 +02:00
Anna Vítová
fad33a32c8 Wizard: fix imported repositories not preselected
This fixes a bug that was caused by using incorrect ids of imported
custom repositories. Due to that bug, only in some cases the
repositories were correctly preselected.
2025-05-09 16:29:32 +02:00
regexowl
aedbbdc53a src: Remove unused data-testids
This removes unused `data-testid`s from the code base.
2025-05-09 10:14:54 +02:00
regexowl
847073d939 Wizard: Update sorting to reflect currently selected stream
This updates the sort logic to reflect currently selected application stream. For example if `nodejs` with application stream 22 gets selected, results for other modules with the same application stream should be prioritized before the rest of results.
2025-05-06 18:35:06 -05:00
regexowl
dd672c5c67 Wizard: Fix colspan for package table states
This updates the `colspan` so the package table states span the entire width of the table.
2025-05-06 18:35:06 -05:00
regexowl
fb59ef4d27 Wizard: Group modules by name, but sort by stream
This ensures that rendered modules are grouped by name, but the order of their module stream versions is desceding.
2025-05-06 18:35:06 -05:00
regexowl
705612049c Wizard: Add tracking for revisit of Packages step in Edit
This tracks if user clicked on "Additional packages" navigation item when opening the blueprint in Edit mode.
2025-05-06 16:47:21 +02:00
regexowl
7680f1ea72 Wizard: Address comments 2025-05-06 08:58:07 -05:00
regexowl
c851fa9b8a Wizard: Implement packages table sorting
This implements basic sorting for the following columns of packages table:
- name
- application stream
- retirement date
2025-05-06 08:58:07 -05:00
Katarina Sieklova
ee8698fe30 Wizard: make policy selector wider in Compliance step 2025-05-06 15:07:19 +02:00
Katarina Sieklova
cfa437a34b Wizard: edit compliance according to updated mockups
Changes the compliance step based on most recent mockups
2025-05-06 10:06:52 +02:00
regexowl
b37eb71f79 Wizard: Add retirement date column
This adds retirement date column to the Packages table and populates it with `end_date` from content-services searchRPMs endpoint.
2025-05-01 14:02:05 +02:00
regexowl
0061d291c7 Wizard: Add comments 2025-04-30 17:01:36 +02:00
regexowl
5f82811299 Wizard: Remove "Red Hat" repository icon
This removes the icon from "Red Hat" repositories.
2025-04-30 17:01:36 +02:00
regexowl
635636a202 Wizard: Add tooltip for disabled packages
This adds tooltip to the disabled packages checkboxes in the same way as the hover text is added on the Repositories step.
2025-04-30 17:01:36 +02:00
regexowl
b2d63b3b16 Wizard: Handle expand based on complete pkg info
Expanding rows can no longer be handled based on name only as different application streams share a name of a package.
2025-04-30 17:01:36 +02:00
regexowl
524fd40673 Wizard: Spread modules into row and handle adding/removing from the store
This adds `enabled_modules` to the store schema and handles adding/removing modules to both list of packages and list of enabled_modules.
2025-04-30 17:01:36 +02:00
regexowl
2055f3b393 Wizard: Add application stream column
This adds application stream column to the packages table and populates it with `pkg.package_sources.stream` value or 'N/A' if the result is a single package or a group.
2025-04-30 17:01:36 +02:00
Sanne Raymaekers
b203658bac Wizard: handle partition customizations properly
If there are no partitions defined in the policy or profile, leave
partitioning on automatic.
2025-04-30 11:38:12 +02:00
Sanne Raymaekers
40c9abfe9b Wizard: get rid of unneeded selected state in compliance step
Similar to the profile selector, just use the wizard store directly.
2025-04-30 11:38:12 +02:00
Sanne Raymaekers
3d545ed8ae Wizard: support tailored customizations
This splits the policy and profile selectors as they're drifting apart.

Instead of querying the customizations attached to the profile, query
the customizations attached to the policy, as these take into account
tailoring. As a result unnecessary customizations won't be added.
2025-04-30 11:38:12 +02:00
Katarina Sieklova
97db8c0a12 Wizard: edit naming of analytics traces for consistency 2025-04-29 17:13:20 +02:00
regexowl
75288a5ef8 src: Remove unused unleash flags
This removes unused flags from the code base:
- image-builder.hostname.enabled
- image-builder.kernel.enabled
- image-builder.firewall.enabled
- image-builder.services.enabled
2025-04-29 14:14:21 +02:00
regexowl
42747a7eeb src: Remove firstboot flag
Firstboot also seems to be released fully to both stage and prod. The flag is not needed anymore.
2025-04-28 16:00:44 +02:00
regexowl
318d67c3c4 Wizard: Update search input placeholders
The placeholders we tend to use are usually quite specific. "Type to search" felt quite vague for some reason. Also repositories had no placeholder, I believe "filter" is clearer than "search" here as we're not fetching any results, just filtering through the already existing list of repositories.
2025-04-25 13:13:31 +02:00
regexowl
e6b030ea4c src: Remove ouia-ids
Since we're moving away from IQE the `ouia-id` atributes should be no longer needed. This removes them from the entire code base.
2025-04-25 11:32:43 +02:00
Simon Steinbeiss
c7dd274298 Wizard: Use SearchInput component for packages
As a small simplification and also to make the UX more consistent, let's
use a SearchInput widget over the custom InputGroup structure.
The only aspect lost in the process is the `validation` property that
doesn't exist in the SearchInput widget. It however only affects the CSS
styling of the searchbox and renders the 'error' state when there's only
a single character in the box. This may not even be desirable, given
that it's not really an error and that we show a note right below the
input box about this anyway.

This means the search boxes will also be consistent between the
repository and package search pages.
Fixes #3133
2025-04-25 11:06:49 +02:00
Bryttanie House
0238c04dfe Wizard: add support for content templates 2025-04-25 10:31:43 +02:00
Simon Steinbeiss
a1c32f90bb Wizard: Fix 'too short' state in Packages step
Currently, when a search term is entered and then reduced to a single
character in the Wizard's packages step, the previous results are still
shown.
What is expected is that the empty state hinting at the search term
being too short would be shown.

The condition in bodyContent was wrong, because it assumed that the list
of results would be 0 when in fact it wasn't being cleared.

Fixes #3139
2025-04-24 15:53:02 +02:00
regexowl
83e57baa0b src: Remove pkgRecs flag
Package recommendations are fully deployed to both stage and production. We can remove the flag from the codebase.
2025-04-23 15:23:52 +02:00
regexowl
1643b96330 Wizard: Set hasPassword in requestMapper
Add `hasPassword` setter to `getUsers` function.
2025-04-23 14:36:59 +02:00
regexowl
0b843a64d9 Wizard: Update Users review text list
Only the first user got rendered, this should render them all and correctly add password indicator in import/edit mode when `hasPassword` is true.
2025-04-23 13:42:39 +02:00
regexowl
319880fc0b Wizard: Add password placeholder for edit mode
This uses the `hasPassword` value to render a password placeholder in edit mode.

The placeholder will indicate to the user that a password is present, but will not allow to show the password.
2025-04-23 13:42:39 +02:00
regexowl
22925f5005 Wizard: Update WSL popover wording
This updates WSL popover wording based on UX suggestions.
2025-04-23 11:16:58 +02:00
regexowl
6b0af16471 src: Addressing comments
- addressed AI comments
- fix tab indexing
- added username to the title of Remove user modal
- ensured "Invalid password" is not in the errors object before a password is filled in
- removing a user with empty user, password and ssh key fields does not prompt "Remove user" modal
- check for duplicate username
- focus on new user tab
- remove redundant tabIndex
2025-04-18 16:45:59 -05:00
regexowl
8d74022ab1 test: Dancing around snyk 2025-04-18 16:45:59 -05:00
regexowl
5cc5dd1258 Wizard: Add support for multiple users
This adds support for multiple users in the Wizard. The users are rendered in tabs and can be both added and removed. When clicking on remove button, modal pops up to inform user that the changes cannot be undone.

Neither password nor SSH keys are further required, making it possible to create a user with just a username.
2025-04-18 16:45:59 -05:00
regexowl
457d423d83 Wizard: Remove "Support" column
This removes "Support" column as per recent mocks.
2025-04-17 12:45:00 -05:00
regexowl
7f3d4efb6a Wizard: Add expandable rows
This makes the rows of packages table expandable and moves description down the level from a column to the expandable content.
2025-04-17 12:45:00 -05:00