Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[8.14] [Security Solution] [Alerts Table] [RAC] Prevent duplicate ite…
…ms being added by bulk actions select all (#182007) (#182109) # Backport This will backport the following commits from `main` to `8.14`: - [[Security Solution] [Alerts Table] [RAC] Prevent duplicate items being added by bulk actions select all (#182007)](#182007) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Kevin Qualters","email":"56408403+kqualters-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-04-30T12:11:43Z","message":"[Security Solution] [Alerts Table] [RAC] Prevent duplicate items being added by bulk actions select all (#182007)\n\n## Summary\r\n\r\nRelated issue: #181972\r\n\r\nWhen the useBulkActions hook in the alerts table is used with the\r\noptionally defined at registration time hook useBulkActionsConfig, and\r\nthat hook returns a stable array, the hook calls a function that mutates\r\nthis array directly, which causes duplicate items to appear in the alert\r\ncontext menu. This is due to the useBulkActions hook using the bulk\r\nactions state via context, and so runs every time a user selects a\r\nrow/all rows. Doing this via filter might not be the most performant\r\nway, but in order to have everything referentially stable, I think the\r\narguments to useBulkActions/useBulkUntrackActions should be changed a\r\nbit, but that can be a discussion for another time. The test case added\r\nbelow will currently fail on main/8.14.\r\n\r\nBefore:\r\n\r\n![bulk_actions_with_dupe](https://github.com/elastic/kibana/assets/56408403/7f730bb9-fcb2-4a8e-93f8-3e08523e3a34)\r\n\r\n\r\nAfter:\r\n\r\n![bulk_actions_no_dupe](https://github.com/elastic/kibana/assets/56408403/01f76c6b-59fb-459f-8950-1fc1fe8dfe12)\r\n\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"8a1d2950fa16f8cb50a21cb793640a290b54032c","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","Team:Threat Hunting:Investigations","v8.14.0","v8.15.0"],"title":"[Security Solution] [Alerts Table] [RAC] Prevent duplicate items being added by bulk actions select all","number":182007,"url":"#182007 Solution] [Alerts Table] [RAC] Prevent duplicate items being added by bulk actions select all (#182007)\n\n## Summary\r\n\r\nRelated issue: #181972\r\n\r\nWhen the useBulkActions hook in the alerts table is used with the\r\noptionally defined at registration time hook useBulkActionsConfig, and\r\nthat hook returns a stable array, the hook calls a function that mutates\r\nthis array directly, which causes duplicate items to appear in the alert\r\ncontext menu. This is due to the useBulkActions hook using the bulk\r\nactions state via context, and so runs every time a user selects a\r\nrow/all rows. Doing this via filter might not be the most performant\r\nway, but in order to have everything referentially stable, I think the\r\narguments to useBulkActions/useBulkUntrackActions should be changed a\r\nbit, but that can be a discussion for another time. The test case added\r\nbelow will currently fail on main/8.14.\r\n\r\nBefore:\r\n\r\n![bulk_actions_with_dupe](https://github.com/elastic/kibana/assets/56408403/7f730bb9-fcb2-4a8e-93f8-3e08523e3a34)\r\n\r\n\r\nAfter:\r\n\r\n![bulk_actions_no_dupe](https://github.com/elastic/kibana/assets/56408403/01f76c6b-59fb-459f-8950-1fc1fe8dfe12)\r\n\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"8a1d2950fa16f8cb50a21cb793640a290b54032c"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","branchLabelMappingKey":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"#182007 Solution] [Alerts Table] [RAC] Prevent duplicate items being added by bulk actions select all (#182007)\n\n## Summary\r\n\r\nRelated issue: #181972\r\n\r\nWhen the useBulkActions hook in the alerts table is used with the\r\noptionally defined at registration time hook useBulkActionsConfig, and\r\nthat hook returns a stable array, the hook calls a function that mutates\r\nthis array directly, which causes duplicate items to appear in the alert\r\ncontext menu. This is due to the useBulkActions hook using the bulk\r\nactions state via context, and so runs every time a user selects a\r\nrow/all rows. Doing this via filter might not be the most performant\r\nway, but in order to have everything referentially stable, I think the\r\narguments to useBulkActions/useBulkUntrackActions should be changed a\r\nbit, but that can be a discussion for another time. The test case added\r\nbelow will currently fail on main/8.14.\r\n\r\nBefore:\r\n\r\n![bulk_actions_with_dupe](https://github.com/elastic/kibana/assets/56408403/7f730bb9-fcb2-4a8e-93f8-3e08523e3a34)\r\n\r\n\r\nAfter:\r\n\r\n![bulk_actions_no_dupe](https://github.com/elastic/kibana/assets/56408403/01f76c6b-59fb-459f-8950-1fc1fe8dfe12)\r\n\r\n\r\n### Checklist\r\n\r\n- [x] [Unit or functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere updated or added to match the most common scenarios","sha":"8a1d2950fa16f8cb50a21cb793640a290b54032c"}}]}] BACKPORT--> Co-authored-by: Kevin Qualters <56408403+kqualters-elastic@users.noreply.github.com>
- Loading branch information