Commit graph

61 commits

Author SHA1 Message Date
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
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
regexowl
0597541af2 Manually revert "Fedora-services: add support for fedora env"
This reverts #2984 as Fedora service frontend is not being currently actively maintained.
2025-06-27 14:15:05 +02:00
regexowl
b465920b18 src: Remove image-builder.users.enabled flag
The Users customization is available in production now, the flag is no longer used.
2025-06-16 11:26:03 +00:00
regexowl
8f0c53138e Wizard: Sort activation keys list
This sorts the activation keys list by name.

The `sortFn` function was also updated to handle undefined values.
2025-06-16 10:54:13 +00:00
Bryttanie House
285a402047 Wizard: fix blueprints showing incorrect template versions 2025-05-28 09:08:05 +02:00
Gianluca Zuccarelli
49b2196c7b test/mocks/cockpit: add permission function
Add the types relevant types for the `cockpit.permission` function so
that we can establish whether the user has the correct privileges to run
the frontend on-prem.
2025-05-07 11:03:18 +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
Bryttanie House
0238c04dfe Wizard: add support for content templates 2025-04-25 10:31:43 +02:00
Katarina Sieklova
d18f25e331 Wizard: add segment tracking 2025-04-16 12:56:03 +02:00
Amir
1d86950f45 Fedora-services: add support for fedora env 2025-04-03 11:50:51 +02:00
Gianluca Zuccarelli
e5a513a4cb CreateImageWizard: refactor oscap availability
Refactor the OpenSCAP on-premise availability check. Add the check to
the component so we run the check everytime the step is loaded. The
benefits to this is that if the user installs the packages, they won't
need to reload the page to use the OpenSCAP step. The downside is that
the check is not very quick, so a spinner was added just to indicate
that the check is running.
2025-03-31 18:02:11 -05:00
Gianluca Zuccarelli
c38e821ae5 CreateImageWizard: warning for unavailable on-prem OpenSCAP
Add a warning if the required packages for the OpenSCAP step are not available.
2025-03-31 18:02:11 -05:00
regexowl
75ddd854e8 src: Remove timezone and locale unleash flags
This removes `image-builder.timezone.enabled` and `image-builder.locale.enabled` gating as both were released to production.
2025-03-04 10:04:26 +01:00
Sanne Raymaekers
9def3f61cb CreateImageWizard: enable locale step in cockpit 2025-02-07 09:30:03 +01:00
Sanne Raymaekers
61107e122e Utilities/useGetEnvironment: support feature flags on prem
These are just hardcoded, but enable the new customizations in the on
premise UI.
2025-02-05 13:11:14 +01:00
Gianluca Zuccarelli
87ce805c74 Utilities: add useComposerStatus hook
Add a custom hook to check to see if the osbuild-composer.socket
is enabled & running.
2025-02-04 23:08:50 +01:00
Gianluca Zuccarelli
6ca7edb949 Utilities: fix useGetEnvironment
We need to check for the on-prem use case
2025-01-27 17:03:06 +01:00
Gianluca Zuccarelli
34368c4f84 cockpit: switch to hashrouter
The browser router doesn't seem to work inside cockpit, switching
to the hashrouter resolves this.
2025-01-27 17:03:06 +01:00
regexowl
199dd3d5d7 Utilities: Fix "no-unnecessary-condition" issue 2025-01-25 21:06:00 -06:00
Lucas Garfield
3d75b5b5ee Utilities: Extract sorting function
Extracts the function used to sort packages as a utility function so it
can be reused for sorting locales as well.
2024-12-06 16:58:06 -06:00
Sanne Raymaekers
b8b9b8f846 src/Utilities: RHEL 10 support for isRhel 2024-11-19 11:21:57 +01:00
Michal Gold
830e22fcdc updating useFlag to omit feature flag from onPrem env 2024-10-30 10:36:18 -05:00
Sanne Raymaekers
cd70d1ff95 Wizard: add RHEL 9 beta
Only exposed in preview.
2024-10-17 10:22:30 +02:00
Dominik Vagner
2c0d753d82 fix: unify snapshot date format 2024-09-19 09:12:16 +02:00
Ondrej Ezr
e8b3814074 Wizard: feature flag to decide environments to be enabled in
Feature flags now support enablement in Preview specifically.
This allows us to use single feature flag for rollout.
2024-07-11 14:33:35 +02:00
Ondrej Ezr
549ef37ab7 Blueprint: enable import/export in ephemeral
Adds ability to enable a feature flag in Ephemeral environment by default.
2024-07-10 19:48:58 +02:00
regexowl
0ac68864f4 Wizard: Cleanup after removing V1
This removes files that are no longer needed and uninstalls DDF dependencies.
2024-06-19 11:19:33 +02:00
Ondrej Ezr
5fcc80d2db Wizard: Drop the WizardV1 2024-06-19 09:10:22 +02:00
Ondřej Budai
642cb10036 drop centos stream 8
CentOS Stream 8 is EOL, thus we should no longer offer it in the
service, because it can pose a security risk.

See https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/
2024-06-12 10:07:33 +02:00
Ondrej Ezr
4182c00d4a WizardV2: enable V2 by default on preview and ephemeral 2024-05-23 11:18:58 +02:00
Amir
038f6f5ff5 V2Wizard: Hide first boot from review step 2024-05-06 14:27:58 +02:00
regexowl
813c06c5bd Utilities: Migrate remaining files to TypeScript
This migrates remaining JavaScript files in Utilities to TypeScript.
2024-05-03 15:04:45 +02:00
Andrew Dewar
f9aae48dd1 Wizard V2: Packages refactor, recommendations fix. 2024-05-02 15:17:08 +03:00
Ondrej Ezr
1b35b3f675 experimental: Allow switching experimental on in stable 2024-04-30 16:53:44 +02:00
Florian Schüller
c1d6053083 ImagesTable: show detailed time when hovering over the "Updated" column 2024-04-30 10:55:06 +02:00
Andrew Dewar
3231b324f0 HMS-3796: Add snapshot date selection to wizard 2024-04-25 14:45:50 +02:00
Ondrej Ezr
1db8fb042b Experimental: fix the ability to force experimental in developement 2024-03-20 19:36:48 +01:00
lucasgarfield
c73482dd7f Utilities: Add useExperimentalFlag hook
This commit DRYs out the code, extracting the logic for setting the
value of the experimentalFlag into a new hook found in the utilities.

It also makes the typing stricter - the hook returns a boolean. The
pattern we were using previously to set the value of experimentalFlag
variables could be boolean, string, or undefined.
2024-03-05 19:27:46 +01:00
regexowl
fd30e5b634 Wizard: Add release lifecycle charts
This adds information about release lifecycle to the Image Output step of the Wizard. Summary is also shown on the Review step.
2023-12-07 19:39:58 +01:00
regexowl
ac357f4e13 Wizard: Remove hardcoded architecture
This updates requests that contained hardcoded value `x86_64` as an architecture.
2023-11-23 17:02:26 +01:00
Justin Sherrill
5d6b6dfbfe Filter content-sources repos by origin and content_type 2023-09-19 09:22:37 +02:00
lucasgarfield
7b9e726151 ImagesTable: Convert ImagesTable to Typescript & RTK Query
This commit converts the Images Table to Typescript and converts all API
calls to image-builder to use RTK Query hooks.

This should increase the performance of the app significantly.
Previously our calls to the image-builder API were made in series. They
are now made in parallel. We may want to investigate the possibility of
hitting rate limiting now that we will be issuing requests in much more
rapid succession.

In the tests, moving to RTK Query hooks has allowed us to remove
virtually all Jest mocking. However, this means that some of our
previous tests which tested against implementation details were broken.
Most notably, we no longer check the Redux store to verify that clones
have been added correctly and we no longer check that compose requests
were issued successfully. Test coverage will be restored in a follow-up
PR where the dev-dependency @msw/data is added. Adding a persistent data
layer to the tests using @msw/data will allow us to verify that our POST
requests (creating composes and cloning them) are working by testing
that the Images Table has been updated.
2023-09-18 10:35:04 +02:00
regexowl
9f5a0af826 Wizard: Update the Repositories step
This updates the Repositories and Review step as per [mocks](https://www.sketch.com/s/d7aa6d29-fca0-4283-a846-09cc5fd10612/a/MyEbDz7).

Repositories with the unavailable or invalid status have a popover that allows for further inspection. The time of the last introspection and the counter of failed attempts was added to the popover, together with the "Go to Repositories" button.

On Recreate the payload repositories are checked against "freshly" fetched list of repositories. In case any of the previously checked repositories is no longer available in content sources an Alert is rendered on both Repositories and Review steps. The unavailable repository is checked, but the checkbox is disabled and the information is dashed out. Since the information about the repository is stored in the Repository type, the only information available to be rendered is the baseurl.

Create image button is also disabled when recreating an image with unavailable repositories.
2023-09-11 10:30:04 +02:00
Amir Fefer
0822a69619 feat(HMS-1454): add RBAC permissions to launch wizard 2023-09-07 14:18:44 +02:00
regexowl
5b516a5270 test/fixtures: Update timestamps of mock composes
The format of the timestamps of mock composes was causing an error in msw browser after merging https://github.com/RedHatInsights/image-builder-frontend/pull/1137

This updates the mock timestamps to the format of the actual ones fetched from the API.
2023-08-07 14:36:19 +02:00
Tasos Papaioannou
9cef49097f Fix timestampToDisplayString to not strip time from UTC timestamp
before formatting to local date.
2023-08-04 15:54:23 +02:00
Sanne Raymaekers
7df6ff7df3 src/App.js: Remove obsolotete APP_NAVIGATION listener
v6 of react-router-dom is now supported everywhere, and leaving the
event listener can cause navigation bugs.

See gkarat/ocp-advisor-frontend#101 as an example.
2023-08-01 10:35:00 +02:00
Djebran Lezzoum
f332dff5b9 edgeImageDetails: Implement manage edge image details page.
In the context of HMS parity stage 1, implement federated manage edge image page at route manage-edge-image.
2023-06-13 20:46:37 +02:00
lucasgarfield
eb3a702c68 Wizard: Prefetch data for external API calls
This makes the wizard feel much 'faster' for a better user experience.
The implementation uses RTK Query for prefetching. For most API
requests, prefetching is done when the 'next' button is hovered over on
the previous step.
2023-05-05 09:17:59 +02:00