-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Embeddable Rebuild] Migrate ControlGroupRenderer
to new embeddable framework
#190561
[Embeddable Rebuild] Migrate ControlGroupRenderer
to new embeddable framework
#190561
Conversation
4580de5
to
cde6b83
Compare
/ci |
/ci |
…b.com:heenawter/kibana into embeddableRebuild_fix-managed-real_2024-08-12
/ci |
…b.com:heenawter/kibana into embeddableRebuild_fix-managed-real_2024-08-12
/ci |
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.
Tested locally on the Management > Alerts
page. The controls bar works correctly, LGTM!
nit: I'm seeing this too
…ld_fix-managed-real_2024-08-12
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Module Count
Public APIs missing comments
Async chunks
Public APIs missing exports
Page load bundle
Unknown metric groupsAPI count
async chunk count
ESLint disabled line counts
Total ESLint disabled count
History
To update your PR or re-run it, just comment with: |
…at (#192555) ## Summary PR #190561 introduces a breaking change in the format of page controls data. Because of this there was conflict between the value of page controls stored in local storage v/s a new format. > [!WARNING] > All new users of `v8.16` will encounter the error on the alerts page because of this conflict. To resolve this, they will have to clear local storage which not a great UX. ## Desk Testing 1. Checkout to `v8.15` branch by running `git checkout 8.15`. 2. Go to the alert page and do some modifications to the page controls. This store `v8.15` page controls in local storage. - You can, for example, delete one page control. - Change selected value for one page control. - Additionally, you can also add a custom control. 3. Checkout `main` now and repeat the above steps. 4. Your changes should be retained on the alert page and there should not be any error. ### Checklist Delete any items that are not applicable to this PR. - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Elastic Machine <[email protected]>
…94785) ## Summary #190561 introduced a breaking change in the format of the controls embeddable configuration object that caused usages in the Security and Stack alerts pages to break if there was an old value saved in localStorage. This PR makes the storage key for the alert filter controls configurable and uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`, fixing the error in the Stack Alerts page. ## To verify 1. Checkout a revision prior to this PR 2. Create Stack rules that fire alerts 3. Visit the Stack Alerts page (should show a full-page error message, if it doesn't see [If the page works correctly](#how-to-break)) 4. Checkout this PR 5. Reload the Stack Alerts page 6. Verify that the page loads correctly <details id="how-to-break"> <summary>If the page works correctly</summary> You likely didn't have an old saved configuration for the controls bar in the localStorage. In this case, create a localStorage item named `stackAlerts.default.pageFilters` with the following content: ```json { "panels": { "0": { "type": "optionsListControl", "order": 0, "grow": true, "width": "small", "explicitInput": { "id": "0", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.status", "title": "Status", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "selectedOptions": [ "active" ], "hideActionBar": true, "persist": true, "hideExists": true } }, "1": { "type": "optionsListControl", "order": 1, "grow": true, "width": "small", "explicitInput": { "id": "1", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.rule.name", "title": "Rule", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "hideExists": true } }, "2": { "type": "optionsListControl", "order": 2, "grow": true, "width": "small", "explicitInput": { "id": "2", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.group.value", "title": "Group", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } }, "3": { "type": "optionsListControl", "order": 3, "grow": true, "width": "small", "explicitInput": { "id": "3", "dataViewId": "unified-alerts-dv", "fieldName": "tags", "title": "Tags", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } } }, "labelPosition": "oneLine", "chainingSystem": "HIERARCHICAL", "autoApplySelections": true, "ignoreParentSettings": { "ignoreValidations": true }, "editorConfig": { "hideWidthSettings": true, "hideDataViewSelector": true, "hideAdditionalSettings": true } } ``` </details> ## References Fixes #193565
…astic#194785) ## Summary elastic#190561 introduced a breaking change in the format of the controls embeddable configuration object that caused usages in the Security and Stack alerts pages to break if there was an old value saved in localStorage. This PR makes the storage key for the alert filter controls configurable and uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`, fixing the error in the Stack Alerts page. ## To verify 1. Checkout a revision prior to this PR 2. Create Stack rules that fire alerts 3. Visit the Stack Alerts page (should show a full-page error message, if it doesn't see [If the page works correctly](#how-to-break)) 4. Checkout this PR 5. Reload the Stack Alerts page 6. Verify that the page loads correctly <details id="how-to-break"> <summary>If the page works correctly</summary> You likely didn't have an old saved configuration for the controls bar in the localStorage. In this case, create a localStorage item named `stackAlerts.default.pageFilters` with the following content: ```json { "panels": { "0": { "type": "optionsListControl", "order": 0, "grow": true, "width": "small", "explicitInput": { "id": "0", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.status", "title": "Status", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "selectedOptions": [ "active" ], "hideActionBar": true, "persist": true, "hideExists": true } }, "1": { "type": "optionsListControl", "order": 1, "grow": true, "width": "small", "explicitInput": { "id": "1", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.rule.name", "title": "Rule", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "hideExists": true } }, "2": { "type": "optionsListControl", "order": 2, "grow": true, "width": "small", "explicitInput": { "id": "2", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.group.value", "title": "Group", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } }, "3": { "type": "optionsListControl", "order": 3, "grow": true, "width": "small", "explicitInput": { "id": "3", "dataViewId": "unified-alerts-dv", "fieldName": "tags", "title": "Tags", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } } }, "labelPosition": "oneLine", "chainingSystem": "HIERARCHICAL", "autoApplySelections": true, "ignoreParentSettings": { "ignoreValidations": true }, "editorConfig": { "hideWidthSettings": true, "hideDataViewSelector": true, "hideAdditionalSettings": true } } ``` </details> ## References Fixes elastic#193565 (cherry picked from commit ef3bc96)
…astic#194785) ## Summary elastic#190561 introduced a breaking change in the format of the controls embeddable configuration object that caused usages in the Security and Stack alerts pages to break if there was an old value saved in localStorage. This PR makes the storage key for the alert filter controls configurable and uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`, fixing the error in the Stack Alerts page. ## To verify 1. Checkout a revision prior to this PR 2. Create Stack rules that fire alerts 3. Visit the Stack Alerts page (should show a full-page error message, if it doesn't see [If the page works correctly](#how-to-break)) 4. Checkout this PR 5. Reload the Stack Alerts page 6. Verify that the page loads correctly <details id="how-to-break"> <summary>If the page works correctly</summary> You likely didn't have an old saved configuration for the controls bar in the localStorage. In this case, create a localStorage item named `stackAlerts.default.pageFilters` with the following content: ```json { "panels": { "0": { "type": "optionsListControl", "order": 0, "grow": true, "width": "small", "explicitInput": { "id": "0", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.status", "title": "Status", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "selectedOptions": [ "active" ], "hideActionBar": true, "persist": true, "hideExists": true } }, "1": { "type": "optionsListControl", "order": 1, "grow": true, "width": "small", "explicitInput": { "id": "1", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.rule.name", "title": "Rule", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "hideExists": true } }, "2": { "type": "optionsListControl", "order": 2, "grow": true, "width": "small", "explicitInput": { "id": "2", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.group.value", "title": "Group", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } }, "3": { "type": "optionsListControl", "order": 3, "grow": true, "width": "small", "explicitInput": { "id": "3", "dataViewId": "unified-alerts-dv", "fieldName": "tags", "title": "Tags", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } } }, "labelPosition": "oneLine", "chainingSystem": "HIERARCHICAL", "autoApplySelections": true, "ignoreParentSettings": { "ignoreValidations": true }, "editorConfig": { "hideWidthSettings": true, "hideDataViewSelector": true, "hideAdditionalSettings": true } } ``` </details> ## References Fixes elastic#193565 (cherry picked from commit ef3bc96)
…ror (#194785) (#194942) # Backport This will backport the following commits from `main` to `8.15`: - [[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)](#194785) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Umberto Pepato","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-04T12:44:11Z","message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:ResponseOps","v9.0.0","backport:prev-major"],"title":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error","number":194785,"url":"https://github.com/elastic/kibana/pull/194785","mergeCommit":{"message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194785","number":194785,"mergeCommit":{"message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e"}}]}] BACKPORT--> Co-authored-by: Umberto Pepato <[email protected]>
…or (#194785) (#194943) # Backport This will backport the following commits from `main` to `8.x`: - [[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)](#194785) <!--- Backport version: 9.4.3 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) <!--BACKPORT [{"author":{"name":"Umberto Pepato","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-10-04T12:44:11Z","message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:ResponseOps","v9.0.0","backport:prev-major"],"title":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error","number":194785,"url":"https://github.com/elastic/kibana/pull/194785","mergeCommit":{"message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/194785","number":194785,"mergeCommit":{"message":"[ResponseOps][Alerts] Fix Stack Alerts page filter controls error (#194785)\n\n## Summary\r\n\r\nhttps://github.com//pull/190561 introduced a breaking\r\nchange in the format of the controls embeddable configuration object\r\nthat caused usages in the Security and Stack alerts pages to break if\r\nthere was an old value saved in localStorage.\r\n\r\nThis PR makes the storage key for the alert filter controls configurable\r\nand uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`,\r\nfixing the error in the Stack Alerts page.\r\n\r\n## To verify\r\n\r\n1. Checkout a revision prior to this PR\r\n2. Create Stack rules that fire alerts\r\n3. Visit the Stack Alerts page (should show a full-page error message,\r\nif it doesn't see [If the page works correctly](#how-to-break))\r\n4. Checkout this PR\r\n5. Reload the Stack Alerts page\r\n6. Verify that the page loads correctly\r\n\r\n<details id=\"how-to-break\">\r\n\r\n<summary>If the page works correctly</summary>\r\n\r\nYou likely didn't have an old saved configuration for the controls bar\r\nin the localStorage. In this case, create a localStorage item named\r\n`stackAlerts.default.pageFilters` with the following content:\r\n\r\n```json\r\n{\r\n \"panels\": {\r\n \"0\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 0,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"0\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.status\",\r\n \"title\": \"Status\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"selectedOptions\": [\r\n \"active\"\r\n ],\r\n \"hideActionBar\": true,\r\n \"persist\": true,\r\n \"hideExists\": true\r\n }\r\n },\r\n \"1\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 1,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"1\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.rule.name\",\r\n \"title\": \"Rule\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"hideExists\": true\r\n }\r\n },\r\n \"2\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 2,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"2\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"kibana.alert.group.value\",\r\n \"title\": \"Group\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n },\r\n \"3\": {\r\n \"type\": \"optionsListControl\",\r\n \"order\": 3,\r\n \"grow\": true,\r\n \"width\": \"small\",\r\n \"explicitInput\": {\r\n \"id\": \"3\",\r\n \"dataViewId\": \"unified-alerts-dv\",\r\n \"fieldName\": \"tags\",\r\n \"title\": \"Tags\",\r\n \"hideExclude\": true,\r\n \"hideSort\": true,\r\n \"hidePanelTitles\": true,\r\n \"placeholder\": \"\",\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n }\r\n }\r\n }\r\n },\r\n \"labelPosition\": \"oneLine\",\r\n \"chainingSystem\": \"HIERARCHICAL\",\r\n \"autoApplySelections\": true,\r\n \"ignoreParentSettings\": {\r\n \"ignoreValidations\": true\r\n },\r\n \"editorConfig\": {\r\n \"hideWidthSettings\": true,\r\n \"hideDataViewSelector\": true,\r\n \"hideAdditionalSettings\": true\r\n }\r\n}\r\n```\r\n</details>\r\n\r\n## References\r\n\r\nFixes #193565","sha":"ef3bc96e52f6c21bd1543d2cb48acef31f56022e"}}]}] BACKPORT--> Co-authored-by: Umberto Pepato <[email protected]>
…astic#194785) ## Summary elastic#190561 introduced a breaking change in the format of the controls embeddable configuration object that caused usages in the Security and Stack alerts pages to break if there was an old value saved in localStorage. This PR makes the storage key for the alert filter controls configurable and uses a new value for the usage in `<UrlSyncedAlertsSearchBar>`, fixing the error in the Stack Alerts page. ## To verify 1. Checkout a revision prior to this PR 2. Create Stack rules that fire alerts 3. Visit the Stack Alerts page (should show a full-page error message, if it doesn't see [If the page works correctly](#how-to-break)) 4. Checkout this PR 5. Reload the Stack Alerts page 6. Verify that the page loads correctly <details id="how-to-break"> <summary>If the page works correctly</summary> You likely didn't have an old saved configuration for the controls bar in the localStorage. In this case, create a localStorage item named `stackAlerts.default.pageFilters` with the following content: ```json { "panels": { "0": { "type": "optionsListControl", "order": 0, "grow": true, "width": "small", "explicitInput": { "id": "0", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.status", "title": "Status", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "selectedOptions": [ "active" ], "hideActionBar": true, "persist": true, "hideExists": true } }, "1": { "type": "optionsListControl", "order": 1, "grow": true, "width": "small", "explicitInput": { "id": "1", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.rule.name", "title": "Rule", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true }, "hideExists": true } }, "2": { "type": "optionsListControl", "order": 2, "grow": true, "width": "small", "explicitInput": { "id": "2", "dataViewId": "unified-alerts-dv", "fieldName": "kibana.alert.group.value", "title": "Group", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } }, "3": { "type": "optionsListControl", "order": 3, "grow": true, "width": "small", "explicitInput": { "id": "3", "dataViewId": "unified-alerts-dv", "fieldName": "tags", "title": "Tags", "hideExclude": true, "hideSort": true, "hidePanelTitles": true, "placeholder": "", "ignoreParentSettings": { "ignoreValidations": true } } } }, "labelPosition": "oneLine", "chainingSystem": "HIERARCHICAL", "autoApplySelections": true, "ignoreParentSettings": { "ignoreValidations": true }, "editorConfig": { "hideWidthSettings": true, "hideDataViewSelector": true, "hideAdditionalSettings": true } } ``` </details> ## References Fixes elastic#193565
Hey @Heenawter if we want this to move in Let me know what you think. |
Ohh okay.. Sorry I saw |
Closes #189820
Summary
This PR converts the
ControlGroupRenderer
to use the new control group embeddable, which is built on the new React embeddable framework. With this conversion, there should not be any changes in user-facing behaviour - therefore, testing of this PR should be focused on ensuring that no behaviour is changed and/or broken with this refactor.Notes to Solution Reviewers:
ControlGroupRenderer
- our goal here was to keep the exposed API more-or-less consistent with this refactor. Therefore, most changes are simply renames + changes of imports.updateInput
andgetInput$
are very much tied to the old embeddable infrastructure - so while they will continue to work for now, they have been deprecated in favour of adding setters/getters for the parts of the control group state that you need to update / respond to.Notes to Presentation Reviewer:
showApplySelections
in this PR - since it was a one-line change, if felt like overkill to separate it out. See https://github.com/elastic/kibana/pull/190561/files#r1733253015Checklist
For maintainers