The jwt decode dependency helps us to keep track of the token that is
present in the Satellite command. jwt-decode is the most popular
dependency for the job, and very easy to use.
Prior to this commit, the wizard showed "Invalid description" when
the description was too long. This was rather unhelpful for users.
The actual size check happens in validators.ts, but the functions there
just return a boolean value, even if they check for multiple criteria.
I'm not entirely sure, why the validation functions live in a separate
file, so I decided to move this specific condition to useValidation.tsx
so the condition, and the relevant user-facing error message can be
defined next to each other.
This commit resolves an issue where the blueprint name did not update when the user changed the Architecture or Distribution.
Additionally, it sets an initial value for blueprintName in the WizardSlice.
This commit refactors the Minimun size field by replacing HookValidatedInput with the new ValidatedInputAndTextArea component.
It fixes a bug where the error icon remained visible after the user cleared the value in the field.
Currently, we only want to display the "Strong" label when the password meets the required strength conditions and only if it is Azure target.
This change ensures that the label remains hidden for non-Azure cases.
Let’s just disable it for now until we can decide on further adjustments.
This commit adds password validation to the User step:
- Moved password validation logic to a separate `checkPasswordValidity` function, returning detailed results (strength and validation state).
- Simplified validation in `PasswordValidatedInput` by using `checkPasswordValidity` results directly.
- Added dynamic password strength indicator showing success or error based on requirements.
- Integrated environment-specific validation messages (e.g., for Azure).
- Improved code separation between presentation and validation for better maintainability.
- Unit tests: Adds tests for invalid passwords, covering both default and Azure cases.
This commit refactors the Description field by replacing HookValidatedInput with the new ValidatedInputAndTextArea component.
It fixes a bug where the validation icon remained visible after the user cleared the Description field.
I noticed there is a bug that does not show a relevant list of services
that we create on user's behalf.
How to reproduce:
1. start creating a blueprint with a first boot script
2. go to the review step - the custom-first-boot service is not displayed there, but we are adding it on user's behalf
3. click on "Edit blueprint"
4. go to First boot step and remove the script
5. go to the review step - the custom-first-boot service is displayed
there, but we will remove it after clicking "edit"
This commit Implement refactor of HookValidatedInput for hostname and blueprint name
fields, addressing the following bugs:
1) Fixes a bug where the validation symbol persisted after a user deleted the value in the hostname field.
2) Fixes a bug where the validation symbol persisted after a user deleted the value in the blueprint name field.
These changes improve code maintainability and provide a more consistent user experience.
This adds the timezones to the step validation and renders an error when an invalid timezone is imported.
How to test:
1. import a blueprint with invalid timezone "foo"
2. select a target
3. go to Registration step
4. click on "Review and finish" button
Current behaviour:
- the "Create" button is disabled, but when navigating to Timezone step no error is displayed
After update:
- there is an error rendered under the timezone select
This commit splits the HookValidatedInput component into three separate functions to improve modularity and readability:
- `getValidationState`: Calculates the validation state ('default', 'success', 'error') based on whether the input is pristine and if there is an error message.
- `ValidatedInputAndTextArea`: Renders the TextInput or TextArea component, utilizing the `getValidationState` output.
- `ErrorMessage`: Displays validation error messages.
This refactoring enhances code maintainability and testability, and the updated structure is now implemented for the username field.
There is a bug that makes `custom-first-boot` service stay in services when the first boot script is removed.
How to reproduce:
1. create a blueprint with a first boot script
2. download the blueprint and confirm `custom-first-boot` was added to enabled services
3. click on "Edit blueprint"
4. go to First boot step and remove the script
5. save edited blueprint
Current behaviour:
- `custom-first-boot` service should be still enabled even with the removed first boot script
Updated behaviour:
- `custom-first-boot` is no longer in the blueprint after first boot script got removed
Status icon rendered only when the step was previously visited, this caused problems with imported blueprints.
How to reproduce a bug:
1. import a blueprint with invalid hostname
2. skip to Review
Current behaviour:
- the Create blueprint button is disabled, but there is no indication of error next to the Hostname step in navigation
After fix:
- the error status should be rendered next to the Hostname nav item
this commit remove confirmPassword from Mapper because we decide that
this field is not relevant anymore to Users step, and it should remove
from the mapper as well
This adds the kernel append input. New arguments can be added by pressing the "Add" button or hitting Enter after the argument.
The kernel arguments linked to a selected OpenSCAP profile are rendered in a category marked as "Required by OpenSCAP" and are read only.
This commit introduces the user information step with the following fields:
(*) `userName` field
(*) `password` field
(*) add unit tests for create and edit mode
Hostname validation rules can be found in the hostname man pages (`man 5
hostname`). This commit tweaks the hostname validator function so it is
in line with these guidelines by limiting the length to 64 characters
and also updates the error message for invalid hostnames to provide
users with some additional guidance/context when an invalid hostname is
provided.