-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update check service UI #6093
Merged
Merged
Update check service UI #6093
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Add wazuh_check_updates plugin Signed-off-by: Luciano Gorza <[email protected]> * Manage saved object for plugin configurations Signed-off-by: Luciano Gorza <[email protected]> * New componente UpToDateStatus and improvements Signed-off-by: Luciano Gorza <[email protected]> * Current update component and improvements Signed-off-by: Luciano Gorza <[email protected]> * CurrentUpdateDetails improvements and others Signed-off-by: Luciano Gorza <[email protected]> * Improvements with unit tests Signed-off-by: Luciano Gorza <[email protected]> * Complete public unit tests Signed-off-by: Luciano Gorza <[email protected]> * Unit test updatesNotification component Signed-off-by: Luciano Gorza <[email protected]> * Backend unit tests Signed-off-by: Luciano Gorza <[email protected]> * Add current update details to currentUpdateDetails component Signed-off-by: Luciano Gorza <[email protected]> * Add translation to show details message Signed-off-by: Luciano Gorza <[email protected]> * Add DismissNotificationCheck component Signed-off-by: Luciano Gorza <[email protected]> * Modify styles Signed-off-by: Luciano Gorza <[email protected]> * Expose new component Signed-off-by: Luciano Gorza <[email protected]> * Update DismissNotificationCheck component Signed-off-by: Luciano Gorza <[email protected]> * Add getCurrentUser implementation Signed-off-by: Luciano Gorza <[email protected]> * Fix plugin start types Signed-off-by: Luciano Gorza <[email protected]> * Fix checks ids Signed-off-by: Luciano Gorza <[email protected]> * Delete console.log in component Signed-off-by: Luciano Gorza <[email protected]> * Fixes in PR Signed-off-by: Luciano Gorza <[email protected]> * Modify README Signed-off-by: Luciano Gorza <[email protected]> * Delete unused files Signed-off-by: Luciano Gorza <[email protected]> * Delete commented code Signed-off-by: Luciano Gorza <[email protected]> * Removing unnecessary packages Signed-off-by: Luciano Gorza <[email protected]> * Clear available updates value on error Signed-off-by: Luciano Gorza <[email protected]> * Change constant name Signed-off-by: Luciano Gorza <[email protected]> * Change message on new update Signed-off-by: Luciano Gorza <[email protected]> * Change camelCase to kebab-case Signed-off-by: Luciano Gorza <[email protected]> * Change plugin name using kebab-case Signed-off-by: Luciano Gorza <[email protected]> * Add useEffect to component UpToDateStatus Signed-off-by: Luciano Gorza <[email protected]> * Improve return errors in routes Signed-off-by: Luciano Gorza <[email protected]> * Show update description in lines Signed-off-by: Luciano Gorza <[email protected]> * Add Logger Signed-off-by: Luciano Gorza <[email protected]> * Improve constant name Signed-off-by: Luciano Gorza <[email protected]> * Improve check texts and links icons Signed-off-by: Luciano Gorza <[email protected]> * Fix if statements Signed-off-by: Luciano Gorza <[email protected]> * Change folder name in dev.yml using kebab-case Signed-off-by: Luciano Gorza <[email protected]> * Update test snapshots Signed-off-by: Luciano Gorza <[email protected]> * Add I18nProvider wrapper to components Signed-off-by: Luciano Gorza <[email protected]> * Unit test for routes and kebab case fixes Signed-off-by: Luciano Gorza <[email protected]> * Add toast when on get updates error Signed-off-by: Luciano Gorza <[email protected]> * Omit username property on GET user preferences Signed-off-by: Luciano Gorza <[email protected]> * Improve try catch finally Signed-off-by: Luciano Gorza <[email protected]> * Add mock html_id_generator to component unit tests Signed-off-by: Luciano Gorza <[email protected]> * Fix unit test get-user-preferences Signed-off-by: Luciano Gorza <[email protected]> * Fix route unit tests port by adding a random port Signed-off-by: Luciano Gorza <[email protected]> * Improved user preferences saved object Signed-off-by: Luciano Gorza <[email protected]> * Fix toast message Signed-off-by: Luciano Gorza <[email protected]> * Change port in route unit tests Signed-off-by: Luciano Gorza <[email protected]> --------- Signed-off-by: Luciano Gorza <[email protected]>
* Integrate plugin wazuh-check-updates * Replace the Angular template for a React component * Add wazuh-check-updates plugin to the manifest main plugin * Add CurrentUpdateDetails component * Improve About page and unit tests * Add information to Change Log * Make the About page accessible to any user
* New React component WzUpdatesNotification * Add unit test
* Add APIs table version status * Add available updates columns * Add changes to show one mayor, one minor and one patch update per API * Improve messages * Improve notification * Change camelCase for snake_case in API response * Fix server unit tests * Fix frontend unit tests * Fix main plugin about page unit tests * Apis table components unit tests * Update CHANGELOG.md * Update unit test snapshot * Update CHANGELOG * Fix get updates status * Fix release notes url with current * Improve toast id on Apis table * ApisUpdateStatus: Show error callout only the first time
* Add wazuh-core plugin * Add API Wazuh Core services * Wazuh Core Plugin API service POC * Remove files not used * Integrate Wazuh Core plugin with Wazuh Check Updates plugin * Delete imposter endpoint * Add field 'update_check' to saved object mapping * Delete comment * Delete getUpdates at cron job start --------- Co-authored-by: Luciano Gorza <[email protected]>
* Delete cron job * Delete settings managment * Remove 'Wazuh' word from UI * Remove unnecesary constants * Expose and consume security from Wazuh Core * Fix unit test types * Delete 'Wazuh' from title * Set sessionStorage with checkUpdates * Fix snapshot unit test * Improve default messages and colors in update status column * Move constant definition to inside the component
* Add check updates columns to APIs table and other fixes * Update notification link to the API configuration page * Fix link to API configuration page * Update plataform version in package.json for all plugins * Update test snapshots --------- Co-authored-by: Federico Rodriguez <[email protected]>
### Description - In the About page delete the API table and leave a React component the same as the previous Angular template. - Delete unused components related to the About page. - In the UpdatesNotification component only ask for available updates if the user doesn't check "Disable update notifications". - In API Table handle check updates button errors and show a toast. ### Issues Resolved wazuh/wazuh-dashboard#96 ### Evidence #### About page ![image](https://github.com/wazuh/wazuh-dashboard-plugins/assets/103193307/f63ef799-d74f-46b8-87c5-f9d5281c6e12) #### Bottom bar notification ![image](https://github.com/wazuh/wazuh-dashboard-plugins/assets/103193307/5904fc9f-595c-4984-b898-c8ae8f555d6e) #### API Table ![image](https://github.com/wazuh/wazuh-dashboard-plugins/assets/103193307/56f427c2-4d42-4caf-bdc1-c0ef0f56b9c2) #### Updates status error message ![image](https://github.com/wazuh/wazuh-dashboard-plugins/assets/103193307/1fcfcd95-b4d5-460e-990c-799d1a11d294) #### Check updates button error ![image](https://github.com/wazuh/wazuh-dashboard-plugins/assets/103193307/b6817794-30b7-49a0-9556-5f589ebde03e) ### Test - Go to the About page and compare it to the current About page. They must be the same. - When the bottom bar notification appears, check `Disable update notifications` and click the `Dismiss` button. Reload the page and check the network requests. A request for user preferences (ending in `/me`) should appear, but there should not be a request for available updates (ending in `/updates?checkAvailableUpdates=false`). - Go to Settings -> API configuration. Disable the network connection and click on `Check Updates` button. A toast should appear with an error. ### Check List - [ ] All tests pass - [ ] `yarn test:jest` - [ ] New functionality includes testing. - [ ] New functionality has been documented. - [ ] Update [CHANGELOG.md](./../CHANGELOG.md) - [ ] Commits are signed per the DCO using --signoff
lucianogorza
changed the title
Enhancement/84 update check service UI
Update check service UI
Nov 2, 2023
15 tasks
Test
Previous version
Screen.Recording.2023-11-02.at.18.07.03.mov
|
Machi3mfl
previously approved these changes
Nov 2, 2023
jbiset
previously approved these changes
Nov 2, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CR: 🟢
Test 🟢
Test | Result |
---|---|
Go to the About page | 🟢 |
"checkUpdates" doesn't appear in Session Storage before login | 🟢 |
"checkUpdates" appears with value "executed" in Session Storage after login | 🟢 |
"checkUpdates" doesn't appear in Session Storage after logout | 🟢 |
After user logins there is a network request "/api/wazuh-check-updates/updates?checkAvailableUpdates=true" | 🟢 |
After refresh the page there is a network request "/api/wazuh-check-updates/updates?checkAvailableUpdates=false" | 🟢 |
Click the link "Go to the API configuration page por details" on the notification. The API configuration page should load | 🟢 |
Close the notification, refresh the page. The notification shouldn't appear | 🟢 |
Check if the saved object "wazuh-check-updates-user-preferences:[username]" is correct | 🟢 |
API configuration page: The table should have columns "Version" and "Updates status" | 🟢 |
API configuration page: Click "Check updates" button | 🟢 |
API configuration page: Change user preference "Disable updates notification" | 🟢 |
API configuration page: Open Flyout with updates details | 🟢 |
- 🟢 Go to the About page
Previous version
- 🟢 "checkUpdates" doesn't appear in Session Storage before login
- 🟢 "checkUpdates" appears with value "executed" in Session Storage after login
- 🟢 "checkUpdates" doesn't appear in Session Storage after logout
- 🟢 After user logins there is a network request "/api/wazuh-check-updates/updates?checkAvailableUpdates=true"
- 🟢 After refresh the page there is a network request "/api/wazuh-check-updates/updates?checkAvailableUpdates=false"
- 🟢 Click the link "Go to the API configuration page per details" on the notification. The API configuration page should load
evidence_7_A.webm
- 🟢 Close the notification, refresh the page. The notification shouldn't appear
evidence_8.webm
- 🟢 Check if the saved object "wazuh-check-updates-user-preferences:[username]" is correct
- 🟢 API configuration page: The table should have columns "Version" and "Updates status"
- 🟢 API configuration page: Click "Check updates" button
- 🟢 API configuration page: Change user preference "Disable updates notification"
- 🟢 API configuration page: Open Flyout with updates details
|
asteriscos
approved these changes
Nov 3, 2023
1 task
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We need to notify the user when a new Wazuh update is available. To do this, the "wazuh-check-updates" plugin exposes a notification component to be consumed by the main plugin. If new updates are available, the component provided by the plugin will be displayed to the user. The user has the option to close the notification and can also specify if they do not want to receive further notifications about new updates.
Add check updates features to APIs table in Settings -> API. Add two columns to APIs table indicating the current version of the API and the available updates. To display the details of the available updates, a flyout should be implemented.
Replace the About page with a React component.
Issues Resolved
wazuh/wazuh-dashboard#84
Evidence
Test
Check List
yarn test:jest