-
Notifications
You must be signed in to change notification settings - Fork 419
Ri-7465 auto discovery layout #5181
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
base: main
Are you sure you want to change the base?
Conversation
# Conflicts: # redisinsight/ui/src/components/connectivity-error/ConnectivityError.tsx # redisinsight/ui/src/components/inline-item-editor/InlineItemEditor.tsx # redisinsight/ui/src/components/item-list/components/delete-action/DeleteAction.tsx # redisinsight/ui/src/components/item-list/components/export-action/ExportAction.tsx # redisinsight/ui/src/components/query/query-actions/QueryActions.tsx # redisinsight/ui/src/components/query/query-card/QueryCardHeader/QueryCardHeader.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalPage/InternalPage.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyHash/AddKeyHash.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyList/AddKeyList.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyReJSON/AddKeyReJSON.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeySet/AddKeySet.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyStream/AddKeyStream.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyString/AddKeyString.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyZset/AddKeyZset.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/edit-entire-item-action/EditEntireItemAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/set-details/add-set-members/AddSetMembers.tsx # redisinsight/ui/src/pages/database-analysis/components/header/Header.tsx # redisinsight/ui/src/pages/home/components/database-list-header/DatabaseListHeader.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/ManageTagsModal.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/CloudSettings.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/components/user-api-keys-table/UserApiKeysTable.tsx # redisinsight/ui/src/pages/slow-log/components/Actions/Actions.tsx
KrumTy
left a comment
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.
re-review was requested but my original requirements were not fulfilled
…xports plus colFactory utils and tests. Adjust window auth middleware. Add Sentinel setup docs, auto-discovery notes, and new E2E test scaffolding. Minor tidy-ups.
...pages/autodiscover-cloud/column-definitions/components/SubscriptionCell/SubscriptionCell.tsx
Outdated
Show resolved
Hide resolved
…Case naming - Extract cell components to components/ folder (DatabaseCell, EndpointCell, ResultCell) - Move column definitions to columns/ subfolder with camelCase naming - Update type imports with type prefix
- Move Account and AccountValue components to separate file - Remove Account-related styled components from RedisCloudSubscriptions.styles.ts - Update imports with type prefix for better tree-shaking
- Extract CancelButton, SubmitButton, SummaryText, and EmptyState to separate component folders - Follow component guidelines with .tsx and .types.ts structure - Update components barrel file for cleaner imports - Remove unused imports and simplify main component
- Extract CancelButton, SubmitButton, EmptyState, and NoMastersMessage to SentinelDatabases/components - Follow component guidelines with .tsx and .types.ts structure
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.
❌ Jit has detected 1 important finding in this PR that you should review.
The finding is detailed as a comment.
It’s highly recommended that you fix this security issue before merge.
Until now, you ignored/fixed 2 findings.
| @@ -1,4 +1,4 @@ | |||
| FROM redislabs/redis:6.2.8-50 | |||
| FROM redislabs/redis:8.0.2-17 | |||
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.
Security control: Docker Scan
Image User Should Not Be 'Root'
Running containers with 'root' user can lead to a container escape situation. It is a best practice to run containers as non-root users, which can be done by adding a 'USER' statement to the Dockerfile.
Severity: HIGH
Fix suggestion:
This fix suggestion was generated by Jit. Please note that the suggestion might not always fit every use case. It is highly recommended that you check and review it before merging.
Suggestion guidelines
- First of all, check if your container is running as a root user. In most of the cases, you can do it by running a command like this:
docker run <image> whoami. If it returnsroot, then you should consider using a non-root user, by following one of the next steps:- If a non-root user already exists in your container, consider using it.
- If not, you can create a new user by adding a
USERcommand to the Dockerfile, with a non-root user as argument, for example:USER <non-root-user-name>.
| FROM redislabs/redis:8.0.2-17 | |
| FROM redislabs/redis:8.0.2-17 | |
| RUN addgroup --system <group> | |
| RUN adduser --system <user> --ingroup <group> | |
| USER <user>:<group> | |
Why should you fix this issue?
This Dockerfile introduces a container vulnerability. In a production environment, using insecure container configurations or outdated base images can lead to significant security risks. If an attacker exploits a vulnerability in the container, it could compromise the entire application or lead to unauthorized access.
Jit Bot commands and options (e.g., ignore issue)
You can trigger Jit actions by commenting on this PR review:
#jit_ignore_fpIgnore and mark this specific single instance of finding as “False Positive”#jit_ignore_acceptIgnore and mark this specific single instance of finding as “Accept Risk”#jit_ignore_type_in_fileIgnore any finding of type "Image user should not be 'root'" in tests/e2e/rte/redis-enterprise/Dockerfile; future occurrences will also be ignored.#jit_undo_ignoreUndo ignore command
- Create shared EmptyState component in auto-discover folder - Extract SummaryText component from RedisCloudDatabasesResult - Remove duplicate EmptyState components from sentinel-databases and redis-cloud-subscriptions - Update all autodiscover pages to use shared EmptyState component
- Move column definition files to columns/ subdirectory with camelCase naming - Extract complex cell rendering functions into reusable components - Create proper component structure with .tsx/.types.ts files for each cell - Add barrel file for centralized component exports - Update imports and function names to follow camelCase convention - Improve code organization and maintainability for sentinel database tables
- Move column definition files to columns/ subdirectory with camelCase naming - Extract complex cell rendering functions into reusable components: * AddressCell: Copy functionality with tooltip * AliasCell: Input field with error handling * DbCell: Database index input with validation * PasswordCell: Password input with masking * UsernameCell: Username input with validation * PrimaryGroupCell: Simple text display * AddErrorButton: Extracted error button logic from ResultCell - Create proper component structure with .tsx/.types.ts files - Add barrel file for centralized component exports - Update imports and function calls to use camelCase convention - Improve type safety with proper optional props handling - Enhance code organization and maintainability for result table columns
- Update MessageBar variant prop to accept only riToast.Variant.Success and riToast.Variant.Attention - Replace string literals with enum values across all MessageBar usages
- Use stable empty array reference instead of creating new array on each render - Replace `instances || []` with `instances || EMPTY_INSTANCES`
|
Good that you're giving the code style guidelines a try |
|
You going to bed does not stop you from posting nonsense :)
The above is factually incorrect.
The solution you have adopted (not adapted) is working for your use case. Good for you. However it does not work for mine.
It uses well established factory pattern, if it is a function or multiple function calls put together is besides the point. Again, don't give me screenshots, give me actual benchmark code, you claim that there is some inferiority in the implementation. Take one of the examples, implement it your way and benchmark them. Until then this is just to block the PR, and if you don't present any meaningful arguments, I will ignore your request very soon. |
KrumTy
left a comment
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.
discard rc

What
This PR refactors the Redis Cloud and Redis Cluster database discovery UI by extracting inline table column definitions
into dedicated, reusable components. These changes bring the current implementation closer to Figma designs while
improving code maintainability, testability, and consistency across the application.
Key Changes:
1. Column Definition Extraction
2. Custom Hook Extraction
3. Storybook Stories
RedisClusterDatabases(15+ variants)RedisCloudDatabaseswith different statesRedisCloudSubscriptionswith multipage examplesRedisCloudDatabasesResultwith success/error states4. UI/UX Improvements (Aligned with Figma Designs)
DatabaseListOptionscomponent with better styling and stories to match design specsMessageBarcomponent with variant support and comprehensive testsHoverContentto not wrap non-text titles per design guidelinesClusterConnectionFormlayout to align with Figma mockupsTech Decisions:
ColumnDefCopyBtn,CopyTextContainer, andCellTextcomponents for consistencyTesting
Manual Testing:
tests/e2e/rte/redis-enterprisefolderAutomation Tests:
MessageBarcomponent tests covering all variants and statesVisual Changes:
Screenshots/Recordings:
Redis Cloud
Screen.Recording.2025-11-12.at.16.15.39.mov
Sentinel Cluster
Screen.Recording.2025-11-12.at.16.17.24.mov
Redis Cluster
Screen.Recording.2025-11-12.at.16.16.37.mov