-
Notifications
You must be signed in to change notification settings - Fork 223
Adds CTI subscription navigation control component #7663
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
Draft
yenienserrano
wants to merge
33
commits into
main
Choose a base branch
from
feature/2837-cti-paid-subscriptions---create-the-registration-process-ui
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Adds CTI subscription navigation control component #7663
yenienserrano
wants to merge
33
commits into
main
from
feature/2837-cti-paid-subscriptions---create-the-registration-process-ui
Conversation
This file contains hidden or 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
Creates a reusable header navigation control system that dynamically positions CTI subscription components based on the new home page setting. Introduces a complete CTI subscription workflow with modal dialogs for registration and status checking, supporting both active and pending subscription states. Registers the navigation control in the main plugin to display CTI subscription options in either the top-right or bottom-left position depending on UI configuration.
…-the-registration-process-ui
Implements real-time CTI subscription status checking by integrating with the Wazuh API instead of using mock data. Creates new API endpoint to retrieve subscription information from cluster or manager nodes, automatically detecting cluster mode and querying the appropriate endpoint. Refactors components to use async status checking and removes hardcoded status simulation, enabling dynamic status updates based on actual API responses. Simplifies component props by removing unnecessary configuration parameters and centralizing status management logic.
Replaces static manager info responses with dynamic subscription status cycling through active, inactive, and processing states. Implements stateful behavior using JavaScript controllers that rotate subscription status on each API call, enabling comprehensive testing of subscription state transitions in both manager and cluster node endpoints. Removes outdated static response file and initializes subscription state as inactive for consistent test scenarios.
...updates/public/shared-components/cti-subscription/components/start-cti-subscription.test.tsx
Outdated
Show resolved
Hide resolved
...updates/public/shared-components/cti-subscription/components/start-cti-subscription.test.tsx
Outdated
Show resolved
Hide resolved
...heck-updates/public/shared-components/cti-subscription/components/start-cti-subscription.tsx
Outdated
Show resolved
Hide resolved
…-the-registration-process-ui
…g mechanism to automatically check registration status updates and improves the user experience by removing manual status refresh requirement.
…-the-registration-process-ui
Member
Author
Update 28/08Added some error messages when API fails Screen.Recording.2025-08-29.at.2.37.26.PM.mov |
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
Updates the CTI (Cyber Threat Intelligence) registration status flow to use more descriptive terminology and improves the authentication process workflow. Renames status values from generic terms to specific CTI authentication states: - 'inactive' becomes 'pending' for initial state - 'active' becomes 'available' for successful registration - Introduces 'polling' for ongoing registration process - Introduces 'denied' for failed registration attempts Enhances mock data structure by replacing 'registration' field with 'wazuh_cti_auth' to better reflect the authentication context and adds descriptive details for each status state. Improves status checking logic to handle the new workflow states and provides clearer user feedback through updated UI components.
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
…-the-registration-process-ui
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
Creates a reusable header navigation control system that dynamically positions CTI subscription components based on the new home page setting.
Introduces a complete CTI subscription workflow with modal dialogs for registration and status checking, supporting both active and pending subscription states.
Registers the navigation control in the main plugin to display CTI subscription options in either the top-right or bottom-left position depending on UI configuration.
Evidence
Test
Legend:
⚫: none
🟢: pass
🟡: warning
🔴: fail
⚪: not applicable
UI
Details
⚫ The subscribe button must be rendered.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Clicking on it should open a modal with information and accept the subscription.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Accepting the subscription should open a new window with the subscription page.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ When you return to the dashboard you should see another modal with information and check the status.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ Check status should check whether the status has changed.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ You have to see the subscription status where the subscribe button appeared.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ The status must have a popover with the option to query the status.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
⚫ With the new home should work but the button appears at the bottom left.
Chrome - ⚫
Firefox - ⚫
Safari - ⚫
Check List
yarn test:jest