Commit graph

46023 commits

Author SHA1 Message Date
Kibana Machine
af4c59f16d
[8.x] [OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery context (#211411) (#218490)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery
context (#211411)](https://github.com/elastic/kibana/pull/211411)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Faisal
Kanout","email":"faisal.kanout@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T12:04:52Z","message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Feature:Alerting","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery
context","number":211411,"url":"https://github.com/elastic/kibana/pull/211411","mergeCommit":{"message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212896","number":212896,"state":"MERGED","mergeCommit":{"sha":"2fc95c610f0b8a7a2b57cfc38a48f722f4ce5b84","message":"[9.0]
[OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery
context (#211411) (#212896)\n\n# Backport\n\nThis will backport the
following commits from `main` to `9.0`:\n- [[OBX-UX-MGTM][ALERTING] Add
the reason message to the rules recovery\ncontext
(#211411)](https://github.com/elastic/kibana/pull/211411)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Faisal Kanout
<faisal.kanout@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211411","number":211411,"mergeCommit":{"message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Faisal Kanout <faisal.kanout@elastic.co>
2025-04-16 23:48:21 +02:00
Kibana Machine
ef1ea91f38
[8.x] [Spaces] Add defaultSolution to spaces config (#218360) (#218485)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Spaces] Add defaultSolution to spaces config
(#218360)](https://github.com/elastic/kibana/pull/218360)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Krzysztof
Kowalczyk","email":"krzysztof.kowalczyk@elastic.co"},"sourceCommit":{"committedDate":"2025-04-16T17:22:10Z","message":"[Spaces]
Add defaultSolution to spaces config (#218360)\n\n## Summary\n\nThis PR
adds new config option
`defaultSolution`\n(`xpack.spaces.defaultSolution`) which lets you
specify a default\nsolution, similar to the way cloud plugin does
it.\n\nAddresses:
#213144","sha":"31f0f211d9d76fc757adaff91e41f94bafbacfb4","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Security","enhancement","Feature:Security/Spaces","backport:version","v9.1.0","v8.19.0"],"title":"[Spaces]
Add defaultSolution to spaces
config","number":218360,"url":"https://github.com/elastic/kibana/pull/218360","mergeCommit":{"message":"[Spaces]
Add defaultSolution to spaces config (#218360)\n\n## Summary\n\nThis PR
adds new config option
`defaultSolution`\n(`xpack.spaces.defaultSolution`) which lets you
specify a default\nsolution, similar to the way cloud plugin does
it.\n\nAddresses:
#213144","sha":"31f0f211d9d76fc757adaff91e41f94bafbacfb4"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218360","number":218360,"mergeCommit":{"message":"[Spaces]
Add defaultSolution to spaces config (#218360)\n\n## Summary\n\nThis PR
adds new config option
`defaultSolution`\n(`xpack.spaces.defaultSolution`) which lets you
specify a default\nsolution, similar to the way cloud plugin does
it.\n\nAddresses:
#213144","sha":"31f0f211d9d76fc757adaff91e41f94bafbacfb4"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Krzysztof Kowalczyk <krzysztof.kowalczyk@elastic.co>
2025-04-16 21:27:31 +02:00
jennypavlova
95e63f8260
[8.x] [APM][OTel] Encode service name in the APM URLs (#217092) (#218475)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][OTel] Encode service name in the APM URLs
(#217092)](https://github.com/elastic/kibana/pull/217092)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"jennypavlova","email":"dzheni.pavlova@elastic.co"},"sourceCommit":{"committedDate":"2025-04-16T15:52:33Z","message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[APM][OTel]
Encode service name in the APM
URLs","number":217092,"url":"https://github.com/elastic/kibana/pull/217092","mergeCommit":{"message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217092","number":217092,"mergeCommit":{"message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 21:23:31 +02:00
Marshall Main
17ba3ab768
[8.x] [Security Solution][Detection Engine] Split search request building from search (#216887) (#218262)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Detection Engine] Split search request building
from search (#216887)](https://github.com/elastic/kibana/pull/216887)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marshall
Main","email":"55718608+marshallmain@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T12:19:34Z","message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Detection
Engine","backport:version","v9.1.0","v8.19.0"],"title":"[Security
Solution][Detection Engine] Split search request building from
search","number":216887,"url":"https://github.com/elastic/kibana/pull/216887","mergeCommit":{"message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216887","number":216887,"mergeCommit":{"message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 18:06:08 +01:00
Francesco Fagnani
54d58acf36
[8.x] [Synthetics] Added drilldown to synthetics stats overview embeddable (#217688) (#218387)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Added drilldown to synthetics stats overview embeddable
(#217688)](https://github.com/elastic/kibana/pull/217688)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Francesco
Fagnani","email":"fagnani.francesco@gmail.com"},"sourceCommit":{"committedDate":"2025-04-16T07:52:16Z","message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[Synthetics]
Added drilldown to synthetics stats overview
embeddable","number":217688,"url":"https://github.com/elastic/kibana/pull/217688","mergeCommit":{"message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217688","number":217688,"mergeCommit":{"message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 18:25:29 +02:00
Kibana Machine
6458959c21
[8.x] [Security Solution] Fix redux action being fired because of unused react-router value (#217055) (#218455)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Fix redux action being fired because of unused
react-router value
(#217055)](https://github.com/elastic/kibana/pull/217055)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kevin
Qualters","email":"56408403+kqualters-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-16T14:13:44Z","message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Threat
Hunting:Investigations","backport:all-open","v9.1.0"],"title":"[Security
Solution] Fix redux action being fired because of unused react-router
value","number":217055,"url":"https://github.com/elastic/kibana/pull/217055","mergeCommit":{"message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217055","number":217055,"mergeCommit":{"message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58"}}]}]
BACKPORT-->

Co-authored-by: Kevin Qualters <56408403+kqualters-elastic@users.noreply.github.com>
2025-04-16 18:03:58 +02:00
Sonia Sanz Vivas
f46afe0307
[UA] Add aria-labelledby missing on flyouts (#218401)
Fixes https://github.com/elastic/kibana/issues/218028

## Summary
This PR introduces the `aria-labelledby` missing in Migrate system
indices flyout. It also introduces it in the ES deprecation logs (this
wasn't requested in the Issue but was also missed). The changes are
correctly displayed with Voiceover in Safari.

<img width="1508" alt="Screenshot 2025-04-16 at 11 13 29"
src="https://github.com/user-attachments/assets/400e9416-6f74-4cda-94f6-52a69c37799d"
/>
<img width="1109" alt="Screenshot 2025-04-16 at 11 39 57"
src="https://github.com/user-attachments/assets/e834967d-b4ab-4d2d-9b3d-c218203bb98a"
/>

<img width="1511" alt="Screenshot 2025-04-16 at 15 39 07"
src="https://github.com/user-attachments/assets/cabd9feb-5b6c-4005-9d41-25e2a9ab80f3"
/>

<img width="1508" alt="Screenshot 2025-04-16 at 15 38 29"
src="https://github.com/user-attachments/assets/cc61db5b-d642-48c9-931f-b696b3367774"
/>
2025-04-16 18:03:00 +02:00
Kibana Machine
c99566ad0b
[8.x] fix: [Analytics:Visualize Library page]Dialog modal missing title from announcement (#217829) (#218445)
# Backport

This will backport the following commits from `main` to `8.x`:
- [fix: [Analytics:Visualize Library page]Dialog modal missing title
from announcement
(#217829)](https://github.com/elastic/kibana/pull/217829)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Alexey
Antonov","email":"alexwizp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-16T13:19:03Z","message":"fix:
[Analytics:Visualize Library page]Dialog modal missing title from
announcement (#217829)\n\nCloses: #215112\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n\n1. Added `aria-labelledby={flyoutTitleId}`
for mentioned
places","sha":"bf7389f515480a4d518e3a238c5fd54caac033f7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility","release_note:skip","backport:prev-major","v9.1.0"],"title":"fix:
[Analytics:Visualize Library page]Dialog modal missing title from
announcement","number":217829,"url":"https://github.com/elastic/kibana/pull/217829","mergeCommit":{"message":"fix:
[Analytics:Visualize Library page]Dialog modal missing title from
announcement (#217829)\n\nCloses: #215112\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n\n1. Added `aria-labelledby={flyoutTitleId}`
for mentioned
places","sha":"bf7389f515480a4d518e3a238c5fd54caac033f7"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217829","number":217829,"mergeCommit":{"message":"fix:
[Analytics:Visualize Library page]Dialog modal missing title from
announcement (#217829)\n\nCloses: #215112\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n\n1. Added `aria-labelledby={flyoutTitleId}`
for mentioned
places","sha":"bf7389f515480a4d518e3a238c5fd54caac033f7"}}]}]
BACKPORT-->

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
2025-04-16 17:49:13 +02:00
jennypavlova
44a13ffe63
[8.x] [APM][OTel] EDOT error summary fix (#217885) (#218391)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][OTel] EDOT error summary fix
(#217885)](https://github.com/elastic/kibana/pull/217885)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"jennypavlova","email":"dzheni.pavlova@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T19:44:11Z","message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","ci:cloud-redeploy","ci:build-serverless-image","ci:project-deploy-observability","Team:obs-ux-infra_services","backport:version","v9.1.0","v8.19.0"],"title":"[APM][OTel]
EDOT error summary
fix","number":217885,"url":"https://github.com/elastic/kibana/pull/217885","mergeCommit":{"message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217885","number":217885,"mergeCommit":{"message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 17:07:57 +02:00
Kibana Machine
c2b2fffb2a
[8.x] [Security Solution] Allow disabling experimental features via config (#217363) (#218428)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Allow disabling experimental features via config
(#217363)](https://github.com/elastic/kibana/pull/217363)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-04-16T12:09:28Z","message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:
SecuritySolution","backport:version","v8.18.0","v9.1.0","v8.19.0","v9.0.1"],"title":"[Security
Solution] Allow disabling experimental features via
config","number":217363,"url":"https://github.com/elastic/kibana/pull/217363","mergeCommit":{"message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217363","number":217363,"mergeCommit":{"message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Massaneda <sergi.massaneda@elastic.co>
2025-04-16 16:18:14 +02:00
Kibana Machine
5071960f61
[8.x] fix: [Analytics:Graph page]Dialog modal missing title from announcement (#217827) (#218424)
# Backport

This will backport the following commits from `main` to `8.x`:
- [fix: [Analytics:Graph page]Dialog modal missing title from
announcement (#217827)](https://github.com/elastic/kibana/pull/217827)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Alexey
Antonov","email":"alexwizp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-16T12:03:38Z","message":"fix:
[Analytics:Graph page]Dialog modal missing title from announcement
(#217827)\n\nCloses: #214760\n\n**Description**\nDialog modal, flyout,
field visible title should be announced for the\nusers, especially using
assistive technology to know what dialog modal,\nflyout opened, what
field is active and what is needed to enter in it.\n\n**Changes
made:**\n\n1. Set correct value for` aria-labelledby`
attr.","sha":"b91da375a3c965181e2b2ee6f899d42ee6dcc0f0","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility","release_note:skip","backport:prev-major","v9.1.0"],"title":"fix:
[Analytics:Graph page]Dialog modal missing title from
announcement","number":217827,"url":"https://github.com/elastic/kibana/pull/217827","mergeCommit":{"message":"fix:
[Analytics:Graph page]Dialog modal missing title from announcement
(#217827)\n\nCloses: #214760\n\n**Description**\nDialog modal, flyout,
field visible title should be announced for the\nusers, especially using
assistive technology to know what dialog modal,\nflyout opened, what
field is active and what is needed to enter in it.\n\n**Changes
made:**\n\n1. Set correct value for` aria-labelledby`
attr.","sha":"b91da375a3c965181e2b2ee6f899d42ee6dcc0f0"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217827","number":217827,"mergeCommit":{"message":"fix:
[Analytics:Graph page]Dialog modal missing title from announcement
(#217827)\n\nCloses: #214760\n\n**Description**\nDialog modal, flyout,
field visible title should be announced for the\nusers, especially using
assistive technology to know what dialog modal,\nflyout opened, what
field is active and what is needed to enter in it.\n\n**Changes
made:**\n\n1. Set correct value for` aria-labelledby`
attr.","sha":"b91da375a3c965181e2b2ee6f899d42ee6dcc0f0"}}]}] BACKPORT-->

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
2025-04-16 16:12:00 +02:00
Alex Szabo
024367f726
[ci] Remove duplicate peggy (#218264)
## Summary
On 8.x, we had both peggy 1.2 and 4.2 requested. This PR removes the old
peggy ref.
2025-04-16 14:23:04 +02:00
Kibana Machine
a597682121
[8.x] fix: [ML] Data Frame Analytics: Analytics selection flyout missing title from announcement (#217666) (#218259)
# Backport

This will backport the following commits from `main` to `8.x`:
- [fix: [ML] Data Frame Analytics: Analytics selection flyout missing
title from announcement
(#217666)](https://github.com/elastic/kibana/pull/217666)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Alexey
Antonov","email":"alexwizp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T12:17:20Z","message":"fix:
[ML] Data Frame Analytics: Analytics selection flyout missing title from
announcement (#217666)\n\nCloses:
https://github.com/elastic/kibana/issues/217511\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n1. Set correct value for `aria-labelledby`
attr.","sha":"4399248cf013552902af726e61b0da5b2ed23b2e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility",":ml","release_note:skip","Feature:Data
Frame Analytics","backport:prev-major","v9.1.0"],"title":"fix: [ML] Data
Frame Analytics: Analytics selection flyout missing title from
announcement","number":217666,"url":"https://github.com/elastic/kibana/pull/217666","mergeCommit":{"message":"fix:
[ML] Data Frame Analytics: Analytics selection flyout missing title from
announcement (#217666)\n\nCloses:
https://github.com/elastic/kibana/issues/217511\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n1. Set correct value for `aria-labelledby`
attr.","sha":"4399248cf013552902af726e61b0da5b2ed23b2e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217666","number":217666,"mergeCommit":{"message":"fix:
[ML] Data Frame Analytics: Analytics selection flyout missing title from
announcement (#217666)\n\nCloses:
https://github.com/elastic/kibana/issues/217511\n\n**Description**\nDialog
modal, flyout, field visible title should be announced for the\nusers,
especially using assistive technology to know what dialog modal,\nflyout
opened, what field is active and what is needed to enter in
it.\n\n**Changes made:**\n1. Set correct value for `aria-labelledby`
attr.","sha":"4399248cf013552902af726e61b0da5b2ed23b2e"}}]}] BACKPORT-->

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
2025-04-16 12:32:21 +02:00
elastic-vault-github-plugin-prod[bot]
4ef6754d8e
[8.x] Sync bundled packages with Package Storage (#217544)
Automated by
https://buildkite.com/elastic/package-storage-infra-kibana-discover-release-branches/builds/2596

---------

Co-authored-by: elasticmachine <elasticmachine@elastic.co>
Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
2025-04-16 11:55:56 +02:00
Francesco Fagnani
e9990028ba
[8.x] [Synthetics] Sync global parameters is called in the endpoints to add, edit or delete global params (#216197) (#218291)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Sync global parameters is called in the endpoints to
add, edit or delete global params
(#216197)](https://github.com/elastic/kibana/pull/216197)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Francesco
Fagnani","email":"fagnani.francesco@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T14:53:14Z","message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1","v8.17.5"],"title":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global
params","number":216197,"url":"https://github.com/elastic/kibana/pull/216197","mergeCommit":{"message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","8.17"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216197","number":216197,"mergeCommit":{"message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/218290","number":218290,"state":"OPEN"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 10:03:44 +02:00
Tim Sullivan
a12abe91dd
[8.x] [Solution Side Nav] Remove PanelContentProvider & support optional title in nav node (#218156) (#218330)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Solution Side Nav] Remove PanelContentProvider & support optional
title in nav node
(#218156)](https://github.com/elastic/kibana/pull/218156)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Tim
Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T15:04:01Z","message":"[Solution
Side Nav] Remove PanelContentProvider & support optional title in nav
node (#218156)\n\nEpic:
https://github.com/elastic/kibana-team/issues/1439\nNeeded for
https://github.com/elastic/kibana/pull/218050 (adjustments to\ntypes for
`title` field in `ChromeProjectNavigationNode`)\n\n## Summary\n\n1.
`PanelContentProvider` was used for security solution, but is no\nlonger
used. This removes it to simplify the interfaces for panel .\n2. Allow
title of `navGroup` to be optional. This allows the correct\ndesign for
nav items in the footer, which are child-items of a nav group\nwith no
title\n\n## Checklist\n\nCheck the PR satisfies following conditions.
\n\nReviewers should verify this PR satisfies this list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"b9c2b57c23d1d74d4fef025d64b820216ddce272","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:SharedUX","backport:version","v9.1.0","v8.19.0"],"title":"[Solution
Side Nav] Remove PanelContentProvider & support optional title in nav
node","number":218156,"url":"https://github.com/elastic/kibana/pull/218156","mergeCommit":{"message":"[Solution
Side Nav] Remove PanelContentProvider & support optional title in nav
node (#218156)\n\nEpic:
https://github.com/elastic/kibana-team/issues/1439\nNeeded for
https://github.com/elastic/kibana/pull/218050 (adjustments to\ntypes for
`title` field in `ChromeProjectNavigationNode`)\n\n## Summary\n\n1.
`PanelContentProvider` was used for security solution, but is no\nlonger
used. This removes it to simplify the interfaces for panel .\n2. Allow
title of `navGroup` to be optional. This allows the correct\ndesign for
nav items in the footer, which are child-items of a nav group\nwith no
title\n\n## Checklist\n\nCheck the PR satisfies following conditions.
\n\nReviewers should verify this PR satisfies this list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"b9c2b57c23d1d74d4fef025d64b820216ddce272"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218156","number":218156,"mergeCommit":{"message":"[Solution
Side Nav] Remove PanelContentProvider & support optional title in nav
node (#218156)\n\nEpic:
https://github.com/elastic/kibana-team/issues/1439\nNeeded for
https://github.com/elastic/kibana/pull/218050 (adjustments to\ntypes for
`title` field in `ChromeProjectNavigationNode`)\n\n## Summary\n\n1.
`PanelContentProvider` was used for security solution, but is no\nlonger
used. This removes it to simplify the interfaces for panel .\n2. Allow
title of `navGroup` to be optional. This allows the correct\ndesign for
nav items in the footer, which are child-items of a nav group\nwith no
title\n\n## Checklist\n\nCheck the PR satisfies following conditions.
\n\nReviewers should verify this PR satisfies this list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"b9c2b57c23d1d74d4fef025d64b820216ddce272"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 10:01:37 +02:00
Kibana Machine
d35ae396a6
[8.x] [Lens] Do not break when the table has no data (#217937) (#218254)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Lens] Do not break when the table has no data
(#217937)](https://github.com/elastic/kibana/pull/217937)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Stratoula
Kalafateli","email":"efstratia.kalafateli@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T12:03:09Z","message":"[Lens]
Do not break when the table has no data (#217937)\n\n## Summary\n\nWhen
the datatable comes with empty results the visualization fails with\nbad
way\n\n<img width=\"396\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/b4e266d7-edbd-452b-9192-84c957fe98db\"\n/>\n\n\nWith
the fix\n<img width=\"756\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d061d29e-9246-432a-944b-308b88d161e7\"\n/>\n\n\n\nHow
to replicate:\n\n- Create a field ES|QL control with 2 values (extension
and geo.dest).\nYou can do it with multiple ways. I created with typing
`FROM\nkibana_sample_data_logs | STATS count = COUNT(*) BY` and then
`Create\ncontrol`.\n- Use the variable in another panel with query:
`FROM\nkibana_sample_data_logs | WHERE ??field == \"css\" | KEEP
extension` (The\ncontrol value should be in the extension). This will
work\n- Select the second field (geo.dest). This will return an empty
query\nand will break the table viz.\n\n### Checklist\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"fa2d3912f408326980241df394c51bd87074e21c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Feature:Lens","Feature:ES|QL","backport:version","v9.1.0","v8.19.0"],"title":"[Lens]
Do not break when the table has no
data","number":217937,"url":"https://github.com/elastic/kibana/pull/217937","mergeCommit":{"message":"[Lens]
Do not break when the table has no data (#217937)\n\n## Summary\n\nWhen
the datatable comes with empty results the visualization fails with\nbad
way\n\n<img width=\"396\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/b4e266d7-edbd-452b-9192-84c957fe98db\"\n/>\n\n\nWith
the fix\n<img width=\"756\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d061d29e-9246-432a-944b-308b88d161e7\"\n/>\n\n\n\nHow
to replicate:\n\n- Create a field ES|QL control with 2 values (extension
and geo.dest).\nYou can do it with multiple ways. I created with typing
`FROM\nkibana_sample_data_logs | STATS count = COUNT(*) BY` and then
`Create\ncontrol`.\n- Use the variable in another panel with query:
`FROM\nkibana_sample_data_logs | WHERE ??field == \"css\" | KEEP
extension` (The\ncontrol value should be in the extension). This will
work\n- Select the second field (geo.dest). This will return an empty
query\nand will break the table viz.\n\n### Checklist\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"fa2d3912f408326980241df394c51bd87074e21c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217937","number":217937,"mergeCommit":{"message":"[Lens]
Do not break when the table has no data (#217937)\n\n## Summary\n\nWhen
the datatable comes with empty results the visualization fails with\nbad
way\n\n<img width=\"396\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/b4e266d7-edbd-452b-9192-84c957fe98db\"\n/>\n\n\nWith
the fix\n<img width=\"756\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/d061d29e-9246-432a-944b-308b88d161e7\"\n/>\n\n\n\nHow
to replicate:\n\n- Create a field ES|QL control with 2 values (extension
and geo.dest).\nYou can do it with multiple ways. I created with typing
`FROM\nkibana_sample_data_logs | STATS count = COUNT(*) BY` and then
`Create\ncontrol`.\n- Use the variable in another panel with query:
`FROM\nkibana_sample_data_logs | WHERE ??field == \"css\" | KEEP
extension` (The\ncontrol value should be in the extension). This will
work\n- Select the second field (geo.dest). This will return an empty
query\nand will break the table viz.\n\n### Checklist\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"fa2d3912f408326980241df394c51bd87074e21c"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-04-16 09:44:02 +02:00
Drew Tate
13a373b16c
[8.x] [ES|QL] remove worker (#218006) (#218329)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ES|QL] remove worker
(#218006)](https://github.com/elastic/kibana/pull/218006)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Drew
Tate","email":"drew.tate@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T16:18:07Z","message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Feature:ES|QL","Team:ESQL","backport:version","v9.1.0","v8.19.0"],"title":"[ES|QL]
remove
worker","number":218006,"url":"https://github.com/elastic/kibana/pull/218006","mergeCommit":{"message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218006","number":218006,"mergeCommit":{"message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 07:54:44 +02:00
Kibana Machine
3e77aaab8f
[8.x] [Security Solution][Alert flyout] Edit highlighted fields in overview tab (#216740) (#218323)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Alert flyout] Edit highlighted fields in overview
tab (#216740)](https://github.com/elastic/kibana/pull/216740)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"christineweng","email":"18648970+christineweng@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T17:18:35Z","message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:Threat
Hunting:Investigations","backport:version","v9.1.0","v8.19.0"],"title":"[Security
Solution][Alert flyout] Edit highlighted fields in overview
tab","number":216740,"url":"https://github.com/elastic/kibana/pull/216740","mergeCommit":{"message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216740","number":216740,"mergeCommit":{"message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: christineweng <18648970+christineweng@users.noreply.github.com>
2025-04-16 00:18:03 +02:00
Kibana Machine
f94c41e8a8
[8.x] [Attack Discovery][Scheduling] Fix the attack discovery alert type (#218025) (#218312)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Attack Discovery][Scheduling] Fix the attack discovery alert type
(#218025)](https://github.com/elastic/kibana/pull/218025)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T16:18:33Z","message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Attack
Discovery][Scheduling] Fix the attack discovery alert
type","number":218025,"url":"https://github.com/elastic/kibana/pull/218025","mergeCommit":{"message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218025","number":218025,"mergeCommit":{"message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
2025-04-15 22:17:02 +02:00
Kibana Machine
8d179fbe61
[8.x] [Custom threshold rule] Allow group for ip type fields !! (#216062) (#218337)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Custom threshold rule] Allow group for ip type fields !!
(#216062)](https://github.com/elastic/kibana/pull/216062)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T18:15:02Z","message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:all-open","Team:obs-ux-management","v9.1.0"],"title":"[Custom
threshold rule] Allow group for ip type fields
!!","number":216062,"url":"https://github.com/elastic/kibana/pull/216062","mergeCommit":{"message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216062","number":216062,"mergeCommit":{"message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1"}}]}]
BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 22:05:16 +02:00
Kibana Machine
d6d6b66cbe
[8.x] [Security Solution] Suppress prebuilt rule SO duplicates in review install endpoint (#218123) (#218248)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Suppress prebuilt rule SO duplicates in review
install endpoint
(#218123)](https://github.com/elastic/kibana/pull/218123)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Maxim
Palenov","email":"maxim.palenov@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T11:45:08Z","message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","impact:high","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","Feature:Prebuilt Detection
Rules","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1"],"title":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint","number":218123,"url":"https://github.com/elastic/kibana/pull/218123","mergeCommit":{"message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218123","number":218123,"mergeCommit":{"message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Maxim Palenov <maxim.palenov@elastic.co>
2025-04-15 21:12:20 +02:00
Marco Vettorello
13af80f2d4
[8.x] [Charts] Use chartTheme hook everywhere (#217370) (#218147)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Charts] Use chartTheme hook everywhere
(#217370)](https://github.com/elastic/kibana/pull/217370)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marco
Vettorello","email":"marco.vettorello@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T16:09:15Z","message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:ElasticCharts","Team:Visualizations","release_note:skip","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[Charts]
Use chartTheme hook
everywhere","number":217370,"url":"https://github.com/elastic/kibana/pull/217370","mergeCommit":{"message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217370","number":217370,"mergeCommit":{"message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 19:40:46 +02:00
Kibana Machine
a7c7522b6d
[8.x] [ResponseOps][Connectors] throw error for empty correlationId or incidentId (#217639) (#218295)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ResponseOps][Connectors] throw error for empty correlationId or
incidentId (#217639)](https://github.com/elastic/kibana/pull/217639)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Janki
Salvi","email":"117571355+js-jankisalvi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T15:10:16Z","message":"[ResponseOps][Connectors]
throw error for empty correlationId or incidentId (#217639)\n\n##
Summary\n\nResolves
https://github.com/elastic/kibana/issues/217004\n\n\n### Checklist\n\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"0aeadb80cae3b64b8044d0a3f5da916d849cc8a6","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","Feature:Actions/ConnectorTypes","backport:version","v9.1.0","v8.19.0"],"title":"[ResponseOps][Connectors]
throw error for empty correlationId or
incidentId","number":217639,"url":"https://github.com/elastic/kibana/pull/217639","mergeCommit":{"message":"[ResponseOps][Connectors]
throw error for empty correlationId or incidentId (#217639)\n\n##
Summary\n\nResolves
https://github.com/elastic/kibana/issues/217004\n\n\n### Checklist\n\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"0aeadb80cae3b64b8044d0a3f5da916d849cc8a6"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217639","number":217639,"mergeCommit":{"message":"[ResponseOps][Connectors]
throw error for empty correlationId or incidentId (#217639)\n\n##
Summary\n\nResolves
https://github.com/elastic/kibana/issues/217004\n\n\n### Checklist\n\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"0aeadb80cae3b64b8044d0a3f5da916d849cc8a6"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Janki Salvi <117571355+js-jankisalvi@users.noreply.github.com>
2025-04-15 18:56:12 +02:00
Kibana Machine
0e10b2ea53
[8.x] [Streams 🌊] Schema editor bug fixes (#218225) (#218269)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Streams 🌊] Schema editor bug fixes
(#218225)](https://github.com/elastic/kibana/pull/218225)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marco Antonio
Ghiani","email":"marcoantonio.ghiani01@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T13:36:09Z","message":"[Streams
🌊] Schema editor bug fixes (#218225)\n\n## 📓 Summary\n\nThese changes
address various minor issues reported on the Schema\nEditor.\n\nCloses
#217888 \nCloses #217889\nCloses #217891\nCloses #217892\nCloses #217893
\n\n### [Streams 🌊] \"System managed\" appears in the list of field
types in\nthe schema editor\n\n<img width=\"659\" alt=\"Screenshot
2025-04-15 at 10 50
37\"\nsrc=\"https://github.com/user-attachments/assets/5f9e832a-e7ea-4e19-9507-2bd3669c7043\"\n/>\n\n###
[Streams 🌊] Clicking the link in the schema editor to edit a
field\nmapping in the parent stream loads a new
page\n\n\nhttps://github.com/user-attachments/assets/de1a1b09-5eca-4143-a822-2de6814333b6\n\n###
[Streams 🌊] Saving changes in the schema editor for an inherited\nfield
results in
error\n\n\nhttps://github.com/user-attachments/assets/603c8a89-6df3-474a-91bc-ee7bbee0f250\n\n###
[Streams 🌊] Disable submit button when there is invalid input
for\nmapping in the schema
editor\n\n\nhttps://github.com/user-attachments/assets/22dfb91a-fa37-4b68-a8c5-c5f3a89a98e5\n\n###
Advanced fields mapping simulation and client-side
validation\n\n\nhttps://github.com/user-attachments/assets/faf99f86-5074-4587-9cc6-65f39f3595e9\n\n###
[Streams 🌊] Increase width in the type filter popup in schema
editor\n\n\nhttps://github.com/user-attachments/assets/b6eab484-308b-42dd-887b-560fb91986da","sha":"d36b269e60308a6b0a5db19b2eac047d2fd51f9d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:obs-ux-logs","backport:version","Feature:Streams","v9.1.0","v8.19.0"],"title":"[Streams
🌊] Schema editor bug
fixes","number":218225,"url":"https://github.com/elastic/kibana/pull/218225","mergeCommit":{"message":"[Streams
🌊] Schema editor bug fixes (#218225)\n\n## 📓 Summary\n\nThese changes
address various minor issues reported on the Schema\nEditor.\n\nCloses
#217888 \nCloses #217889\nCloses #217891\nCloses #217892\nCloses #217893
\n\n### [Streams 🌊] \"System managed\" appears in the list of field
types in\nthe schema editor\n\n<img width=\"659\" alt=\"Screenshot
2025-04-15 at 10 50
37\"\nsrc=\"https://github.com/user-attachments/assets/5f9e832a-e7ea-4e19-9507-2bd3669c7043\"\n/>\n\n###
[Streams 🌊] Clicking the link in the schema editor to edit a
field\nmapping in the parent stream loads a new
page\n\n\nhttps://github.com/user-attachments/assets/de1a1b09-5eca-4143-a822-2de6814333b6\n\n###
[Streams 🌊] Saving changes in the schema editor for an inherited\nfield
results in
error\n\n\nhttps://github.com/user-attachments/assets/603c8a89-6df3-474a-91bc-ee7bbee0f250\n\n###
[Streams 🌊] Disable submit button when there is invalid input
for\nmapping in the schema
editor\n\n\nhttps://github.com/user-attachments/assets/22dfb91a-fa37-4b68-a8c5-c5f3a89a98e5\n\n###
Advanced fields mapping simulation and client-side
validation\n\n\nhttps://github.com/user-attachments/assets/faf99f86-5074-4587-9cc6-65f39f3595e9\n\n###
[Streams 🌊] Increase width in the type filter popup in schema
editor\n\n\nhttps://github.com/user-attachments/assets/b6eab484-308b-42dd-887b-560fb91986da","sha":"d36b269e60308a6b0a5db19b2eac047d2fd51f9d"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218225","number":218225,"mergeCommit":{"message":"[Streams
🌊] Schema editor bug fixes (#218225)\n\n## 📓 Summary\n\nThese changes
address various minor issues reported on the Schema\nEditor.\n\nCloses
#217888 \nCloses #217889\nCloses #217891\nCloses #217892\nCloses #217893
\n\n### [Streams 🌊] \"System managed\" appears in the list of field
types in\nthe schema editor\n\n<img width=\"659\" alt=\"Screenshot
2025-04-15 at 10 50
37\"\nsrc=\"https://github.com/user-attachments/assets/5f9e832a-e7ea-4e19-9507-2bd3669c7043\"\n/>\n\n###
[Streams 🌊] Clicking the link in the schema editor to edit a
field\nmapping in the parent stream loads a new
page\n\n\nhttps://github.com/user-attachments/assets/de1a1b09-5eca-4143-a822-2de6814333b6\n\n###
[Streams 🌊] Saving changes in the schema editor for an inherited\nfield
results in
error\n\n\nhttps://github.com/user-attachments/assets/603c8a89-6df3-474a-91bc-ee7bbee0f250\n\n###
[Streams 🌊] Disable submit button when there is invalid input
for\nmapping in the schema
editor\n\n\nhttps://github.com/user-attachments/assets/22dfb91a-fa37-4b68-a8c5-c5f3a89a98e5\n\n###
Advanced fields mapping simulation and client-side
validation\n\n\nhttps://github.com/user-attachments/assets/faf99f86-5074-4587-9cc6-65f39f3595e9\n\n###
[Streams 🌊] Increase width in the type filter popup in schema
editor\n\n\nhttps://github.com/user-attachments/assets/b6eab484-308b-42dd-887b-560fb91986da","sha":"d36b269e60308a6b0a5db19b2eac047d2fd51f9d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani01@gmail.com>
2025-04-15 18:27:12 +02:00
Anton Dosov
cdd4855188
[8.x] [TableListView] Remove listing limit warning (#217945) (#218251)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[TableListView] Remove listing limit warning
(#217945)](https://github.com/elastic/kibana/pull/217945)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Anton
Dosov","email":"anton.dosov@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T11:42:23Z","message":"[TableListView]
Remove listing limit warning (#217945)\n\n## Summary\n\nTemporary
solution
for\n061282ba-aabc-46f2-a859-d57deb000c73)\n\n>
[!NOTE] \n> All items are still findable by query or tags \n\nPer
Graham, \n\n> I would love to not need to display a warning but even
with today's\nimplementation I would remove it as its benefits don't
outweigh its\ndrawbacks IMO\n\nWe also plan to work on server-side
pagination
soon","sha":"23fe329228a7b9cbcf362b8ea58d1c88d7460fb7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:SharedUX","Component:TableListView","backport:version","v9.1.0","v8.19.0"],"title":"[TableListView]
Remove listing limit
warning","number":217945,"url":"https://github.com/elastic/kibana/pull/217945","mergeCommit":{"message":"[TableListView]
Remove listing limit warning (#217945)\n\n## Summary\n\nTemporary
solution
for\n061282ba-aabc-46f2-a859-d57deb000c73)\n\n>
[!NOTE] \n> All items are still findable by query or tags \n\nPer
Graham, \n\n> I would love to not need to display a warning but even
with today's\nimplementation I would remove it as its benefits don't
outweigh its\ndrawbacks IMO\n\nWe also plan to work on server-side
pagination
soon","sha":"23fe329228a7b9cbcf362b8ea58d1c88d7460fb7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217945","number":217945,"mergeCommit":{"message":"[TableListView]
Remove listing limit warning (#217945)\n\n## Summary\n\nTemporary
solution
for\n061282ba-aabc-46f2-a859-d57deb000c73)\n\n>
[!NOTE] \n> All items are still findable by query or tags \n\nPer
Graham, \n\n> I would love to not need to display a warning but even
with today's\nimplementation I would remove it as its benefits don't
outweigh its\ndrawbacks IMO\n\nWe also plan to work on server-side
pagination
soon","sha":"23fe329228a7b9cbcf362b8ea58d1c88d7460fb7"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 18:19:56 +02:00
Kibana Machine
a657a38eb6
[8.x] [Attack Discovery][Scheduling] UI: "Attack Discovery Scheduling" management (#12007) (#217917) (#218267)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Attack Discovery][Scheduling] UI: "Attack Discovery Scheduling"
management (#12007)
(#217917)](https://github.com/elastic/kibana/pull/217917)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T13:06:06Z","message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007)","number":217917,"url":"https://github.com/elastic/kibana/pull/217917","mergeCommit":{"message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217917","number":217917,"mergeCommit":{"message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
2025-04-15 18:18:09 +02:00
Anton Dosov
214787f501
[8.x] [jest] @emotion/babel-preset-css-prop (#216489) (#218121)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[jest] @emotion/babel-preset-css-prop
(#216489)](https://github.com/elastic/kibana/pull/216489)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Anton
Dosov","email":"anton.dosov@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T12:29:47Z","message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:ExpressionLanguage","release_note:skip","ci:skip-cypress-osquery","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[jest]
@emotion/babel-preset-css-prop","number":216489,"url":"https://github.com/elastic/kibana/pull/216489","mergeCommit":{"message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216489","number":216489,"mergeCommit":{"message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 17:38:00 +02:00
Kibana Machine
c35ce48c9b
[8.x] fix: [Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model snapshot flyout missing title from announcement (#217831) (#218274)
# Backport

This will backport the following commits from `main` to `8.x`:
- [fix: [Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit
model snapshot flyout missing title from announcement
(#217831)](https://github.com/elastic/kibana/pull/217831)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Alexey
Antonov","email":"alexwizp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T13:38:48Z","message":"fix:
[Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model
snapshot flyout missing title from announcement (#217831)\n\nCloses:
#216147\n\n**Description**\nDialog modal, flyout, field visible title
should be announced for the\nusers, especially using assistive
technology to know what dialog modal,\nflyout opened, what field is
active and what is needed to enter in it.\n\n**Changes made:**\n\n1.
Added` aria-labelledby={flyoutTitleId} `for mentioned
places","sha":"d47e77627ac594883969066205a0888bb5034efb","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility",":ml","Feature:Anomaly
Detection","release_note:skip","backport:prev-major","v9.1.0"],"title":"fix:
[Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model
snapshot flyout missing title from
announcement","number":217831,"url":"https://github.com/elastic/kibana/pull/217831","mergeCommit":{"message":"fix:
[Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model
snapshot flyout missing title from announcement (#217831)\n\nCloses:
#216147\n\n**Description**\nDialog modal, flyout, field visible title
should be announced for the\nusers, especially using assistive
technology to know what dialog modal,\nflyout opened, what field is
active and what is needed to enter in it.\n\n**Changes made:**\n\n1.
Added` aria-labelledby={flyoutTitleId} `for mentioned
places","sha":"d47e77627ac594883969066205a0888bb5034efb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217831","number":217831,"mergeCommit":{"message":"fix:
[Analytics:MachineLearning:AnomalyDetection:Jobs page] Edit model
snapshot flyout missing title from announcement (#217831)\n\nCloses:
#216147\n\n**Description**\nDialog modal, flyout, field visible title
should be announced for the\nusers, especially using assistive
technology to know what dialog modal,\nflyout opened, what field is
active and what is needed to enter in it.\n\n**Changes made:**\n\n1.
Added` aria-labelledby={flyoutTitleId} `for mentioned
places","sha":"d47e77627ac594883969066205a0888bb5034efb"}}]}]
BACKPORT-->

Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
2025-04-15 17:35:28 +02:00
Dzmitry Lemechko
2e306a27f3
[8.x] [kbn/response-ops-alerts-table] set data-test-subj for EuiDataGrid based on loading status (#217230) (#218243)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[kbn/response-ops-alerts-table] set data-test-subj for EuiDataGrid
based on loading status
(#217230)](https://github.com/elastic/kibana/pull/217230)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T11:05:49Z","message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:version","v9.1.0","v8.19.0","v9.0.1"],"title":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading
status","number":217230,"url":"https://github.com/elastic/kibana/pull/217230","mergeCommit":{"message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217230","number":217230,"mergeCommit":{"message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 17:18:21 +02:00
Bailey Cash
93b2fd62d9
[8.x] [SLO/Test] add new slo definition api test (#216573) (#218160)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SLO/Test] add new slo definition api test
(#216573)](https://github.com/elastic/kibana/pull/216573)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-04-01T22:12:04Z","message":"[SLO/Test]
add new slo definition api test (#216573)\n\nCloses #216236 \n\nadd
integration tests for the SLO Definition API, specifically to test\nthe
changes for the implementation of
this\n[issue](https://github.com/elastic/kibana/issues/214260)","sha":"0f402ca31c9fc49039e3ac7464e7d4c19d84d59f","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:SharedUX","Team:obs-ux-management","v9.1.0"],"title":"[SLO/Test]
add new slo definition api
test","number":216573,"url":"https://github.com/elastic/kibana/pull/216573","mergeCommit":{"message":"[SLO/Test]
add new slo definition api test (#216573)\n\nCloses #216236 \n\nadd
integration tests for the SLO Definition API, specifically to test\nthe
changes for the implementation of
this\n[issue](https://github.com/elastic/kibana/issues/214260)","sha":"0f402ca31c9fc49039e3ac7464e7d4c19d84d59f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216573","number":216573,"mergeCommit":{"message":"[SLO/Test]
add new slo definition api test (#216573)\n\nCloses #216236 \n\nadd
integration tests for the SLO Definition API, specifically to test\nthe
changes for the implementation of
this\n[issue](https://github.com/elastic/kibana/issues/214260)","sha":"0f402ca31c9fc49039e3ac7464e7d4c19d84d59f"}}]}]
BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 17:04:31 +02:00
Elena Shostak
a6bd5642ba
[8.x] Upgraded octokit to 21.1.1 (#211450) (#218266)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Upgraded octokit to 21.1.1
(#211450)](https://github.com/elastic/kibana/pull/211450)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Elena
Shostak","email":"165678770+elena-shostak@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-18T09:46:38Z","message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Security","release_note:skip","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","v9.1.0"],"title":"Upgraded
octokit to
21.1.1","number":211450,"url":"https://github.com/elastic/kibana/pull/211450","mergeCommit":{"message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/211538","number":211538,"state":"MERGED","mergeCommit":{"sha":"c57a0a25c46f987db2ada76c144753e090972eb6","message":"[9.0]
Upgraded octokit to 21.1.1 (#211450) (#211538)\n\n# Backport\n\nThis
will backport the following commits from `main` to `9.0`:\n- [Upgraded
octokit to
21.1.1\n(#211450)](https://github.com/elastic/kibana/pull/211450)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211450","number":211450,"mergeCommit":{"message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e"}}]}]
BACKPORT-->
2025-04-15 16:54:47 +02:00
Dzmitry Lemechko
ffcf9a5f3a
[8.x] [FTR] unify custom role name with Scout (#217882) (#218260)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[FTR] unify custom role name with Scout
(#217882)](https://github.com/elastic/kibana/pull/217882)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T17:21:49Z","message":"[FTR]
unify custom role name with Scout (#217882)\n\n## Summary\n\nIn QAF
David added a possibility to spin up MKI project with custom role\nset
and ready to use.\n\nOriginally FTR was using reserved name
`'customRole'` for internal\nKibana role to be mapped with native custom
role in the project.\n\nBoth Scout and FTR use `kbn/test` to simulate
SAML authentication, but\nthe new framework will allow to run the tests
in parallel. That said, we\nneed to support multiple custom role
credentials (one pair per worker)\nand for simplicity we decided to use
the same keys:\n\nTo run your tests locally against MKI you need to add
a new Cloud user\nentry in
`user_roles.json`:\n\n```\n\"custom_role_worker_1\": { \"username\":
..., \"password\": ... }, // FTR requires only the first
entry\n\"custom_role_worker_2\": { \"username\": ..., \"password\": ...
},\n...\n```\n\nThe test change is minimal:\n<img width=\"559\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/572103a3-13b2-4e6c-b9d2-5e55b03ac51c\"\n/>\n\n---------\n\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"c4a97e51e3c9040fb0c955913b06aa0e3b5ba791","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","FTR","backport:version","v9.1.0","v8.19.0","v9.0.1"],"title":"[FTR]
unify custom role name with
Scout","number":217882,"url":"https://github.com/elastic/kibana/pull/217882","mergeCommit":{"message":"[FTR]
unify custom role name with Scout (#217882)\n\n## Summary\n\nIn QAF
David added a possibility to spin up MKI project with custom role\nset
and ready to use.\n\nOriginally FTR was using reserved name
`'customRole'` for internal\nKibana role to be mapped with native custom
role in the project.\n\nBoth Scout and FTR use `kbn/test` to simulate
SAML authentication, but\nthe new framework will allow to run the tests
in parallel. That said, we\nneed to support multiple custom role
credentials (one pair per worker)\nand for simplicity we decided to use
the same keys:\n\nTo run your tests locally against MKI you need to add
a new Cloud user\nentry in
`user_roles.json`:\n\n```\n\"custom_role_worker_1\": { \"username\":
..., \"password\": ... }, // FTR requires only the first
entry\n\"custom_role_worker_2\": { \"username\": ..., \"password\": ...
},\n...\n```\n\nThe test change is minimal:\n<img width=\"559\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/572103a3-13b2-4e6c-b9d2-5e55b03ac51c\"\n/>\n\n---------\n\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"c4a97e51e3c9040fb0c955913b06aa0e3b5ba791"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/218152","number":218152,"state":"MERGED","mergeCommit":{"sha":"086804391acca87ea1baa98e97b1e12886e3e42b","message":"[9.0]
[FTR] unify custom role name with Scout (#217882) (#218152)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.0`:\n- [[FTR] unify custom role name with
Scout\n(#217882)](https://github.com/elastic/kibana/pull/217882)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Dzmitry Lemechko
<dzmitry.lemechko@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217882","number":217882,"mergeCommit":{"message":"[FTR]
unify custom role name with Scout (#217882)\n\n## Summary\n\nIn QAF
David added a possibility to spin up MKI project with custom role\nset
and ready to use.\n\nOriginally FTR was using reserved name
`'customRole'` for internal\nKibana role to be mapped with native custom
role in the project.\n\nBoth Scout and FTR use `kbn/test` to simulate
SAML authentication, but\nthe new framework will allow to run the tests
in parallel. That said, we\nneed to support multiple custom role
credentials (one pair per worker)\nand for simplicity we decided to use
the same keys:\n\nTo run your tests locally against MKI you need to add
a new Cloud user\nentry in
`user_roles.json`:\n\n```\n\"custom_role_worker_1\": { \"username\":
..., \"password\": ... }, // FTR requires only the first
entry\n\"custom_role_worker_2\": { \"username\": ..., \"password\": ...
},\n...\n```\n\nThe test change is minimal:\n<img width=\"559\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/572103a3-13b2-4e6c-b9d2-5e55b03ac51c\"\n/>\n\n---------\n\nCo-authored-by:
Cesare de Cal
<cesare.decal@elastic.co>","sha":"c4a97e51e3c9040fb0c955913b06aa0e3b5ba791"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 16:21:50 +02:00
Kibana Machine
7397472f90
[8.x] [Infra] Check ML permissions before requesting ML data (#218069) (#218229)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Infra] Check ML permissions before requesting ML data
(#218069)](https://github.com/elastic/kibana/pull/218069)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Carlos
Crespo","email":"crespocarlos@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T10:02:51Z","message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","backport:prev-major","Team:obs-ux-infra_services","v9.1.0"],"title":"[Infra]
Check ML permissions before requesting ML
data","number":218069,"url":"https://github.com/elastic/kibana/pull/218069","mergeCommit":{"message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218069","number":218069,"mergeCommit":{"message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3"}}]}]
BACKPORT-->

Co-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>
2025-04-15 14:02:53 +02:00
Kibana Machine
015a36b03b
[8.x] [ResponseOps][Cases]Horizontal scrolling in cases' comments overflows sidebar (#218107) (#218217)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ResponseOps][Cases]Horizontal scrolling in cases' comments overflows
sidebar (#218107)](https://github.com/elastic/kibana/pull/218107)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Georgiana-Andreea
Onoleață","email":"georgiana.onoleata@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T09:06:29Z","message":"[ResponseOps][Cases]Horizontal
scrolling in cases' comments overflows sidebar (#218107)\n\nCloses
https://github.com/elastic/kibana/issues/217994\n\n## Summary\n\nThe
comment section containing a table that requires horizontal\nscrolling
was being visually pushed to the right due to the presence of\nthe user
avatar. To ensure the comment section aligns properly with the\nrest of
the content and doesn't overlap the sidebar reserved for\nconnectors and
custom fields, the `max-width` property was
adjusted\naccordingly.\n\nThe offset comes from: \n- the width of the
euiAvatar--m (which uses the `xl` size token)\n- the left padding of the
`euiTimelineItemEvent`, which corresponds to\n`euiTheme.size.base`
(16px)","sha":"64a2f399d3a1d46809fe7b9b77307ce9e05e583c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","v9.0.0","backport:version","v8.18.0","v9.1.0","v8.19.0","v8.17.5"],"title":"[ResponseOps][Cases]Horizontal
scrolling in cases' comments overflows
sidebar","number":218107,"url":"https://github.com/elastic/kibana/pull/218107","mergeCommit":{"message":"[ResponseOps][Cases]Horizontal
scrolling in cases' comments overflows sidebar (#218107)\n\nCloses
https://github.com/elastic/kibana/issues/217994\n\n## Summary\n\nThe
comment section containing a table that requires horizontal\nscrolling
was being visually pushed to the right due to the presence of\nthe user
avatar. To ensure the comment section aligns properly with the\nrest of
the content and doesn't overlap the sidebar reserved for\nconnectors and
custom fields, the `max-width` property was
adjusted\naccordingly.\n\nThe offset comes from: \n- the width of the
euiAvatar--m (which uses the `xl` size token)\n- the left padding of the
`euiTimelineItemEvent`, which corresponds to\n`euiTheme.size.base`
(16px)","sha":"64a2f399d3a1d46809fe7b9b77307ce9e05e583c"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x","8.17"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218107","number":218107,"mergeCommit":{"message":"[ResponseOps][Cases]Horizontal
scrolling in cases' comments overflows sidebar (#218107)\n\nCloses
https://github.com/elastic/kibana/issues/217994\n\n## Summary\n\nThe
comment section containing a table that requires horizontal\nscrolling
was being visually pushed to the right due to the presence of\nthe user
avatar. To ensure the comment section aligns properly with the\nrest of
the content and doesn't overlap the sidebar reserved for\nconnectors and
custom fields, the `max-width` property was
adjusted\naccordingly.\n\nThe offset comes from: \n- the width of the
euiAvatar--m (which uses the `xl` size token)\n- the left padding of the
`euiTimelineItemEvent`, which corresponds to\n`euiTheme.size.base`
(16px)","sha":"64a2f399d3a1d46809fe7b9b77307ce9e05e583c"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Georgiana-Andreea Onoleață <georgiana.onoleata@elastic.co>
2025-04-15 13:17:35 +02:00
Kibana Machine
2c24a2b657
[8.x] [Console] Finishing design touches (#217887) (#218221)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Console] Finishing design touches
(#217887)](https://github.com/elastic/kibana/pull/217887)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Elena
Stoeva","email":"59341489+ElenaStoeva@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T09:08:32Z","message":"[Console]
Finishing design touches (#217887)\n\nFixes
https://github.com/elastic/kibana/issues/200195\n\n## Summary\n\nThis PR
adds the following small design improvements:\n\n### 1. Ensures that the
bottom border of the selection doesn't overlap\nwith the next line by
shifting the border up.\n\nBefore:\n<img width=\"1118\" alt=\"Screenshot
2025-04-10 at 17 50
35\"\nsrc=\"https://github.com/user-attachments/assets/085aa499-7842-4bcf-ba97-49706b58c9ad\"\n/>\n\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
05\"\nsrc=\"https://github.com/user-attachments/assets/37f2a6ca-3c0b-4a00-b1cd-117334feb480\"\n/>\n\nWe
also increase the line height a little to ensure that the action\npanel
box fits inside a single-line request selection box:\n\n\n<img
width=\"1136\" alt=\"Screenshot 2025-04-10 at 18 00
07\"\nsrc=\"https://github.com/user-attachments/assets/3f618049-d5d0-46c4-8d1b-5098a00985f5\"\n/>\n\n\n\n\n###
2. Ensures that the left border of the selection doesn't overlap\nwith
the line numbers by shifting the border to the right.\n\nBefore:\n<img
width=\"740\" alt=\"Screenshot 2025-04-10 at 17 49
30\"\nsrc=\"https://github.com/user-attachments/assets/184599c3-d5e8-40b4-b8f4-a2f40caa2c92\"\n/>\n\n\nNow:\n<img
width=\"652\" alt=\"Screenshot 2025-04-10 at 17 50
01\"\nsrc=\"https://github.com/user-attachments/assets/edacd4aa-9478-4d1a-8217-d6d1181e452d\"\n/>\n\n\n###
3. Increases the contrast between the selected text and the\nselection
blue box by increasing the transparency of the blue
selection\nbox:\n\n\nBefore:\n<img width=\"735\" alt=\"Screenshot
2025-04-10 at 17 51
43\"\nsrc=\"https://github.com/user-attachments/assets/95ff61d9-f4ef-4db9-b3d5-4ed8a64cc792\"\n/>\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
14\"\nsrc=\"https://github.com/user-attachments/assets/9b80c3a7-a053-49df-bfd2-f00b7765b545\"\n/>\n\n---------\n\nCo-authored-by:
Matthew Kime
<matt@mattki.me>","sha":"4cf7c3c5b8957e4daebe94bcb1c4233c6c236b4f","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Console","Team:Kibana
Management","release_note:skip","backport:prev-minor","v9.1.0","v8.19.0"],"title":"[Console]
Finishing design
touches","number":217887,"url":"https://github.com/elastic/kibana/pull/217887","mergeCommit":{"message":"[Console]
Finishing design touches (#217887)\n\nFixes
https://github.com/elastic/kibana/issues/200195\n\n## Summary\n\nThis PR
adds the following small design improvements:\n\n### 1. Ensures that the
bottom border of the selection doesn't overlap\nwith the next line by
shifting the border up.\n\nBefore:\n<img width=\"1118\" alt=\"Screenshot
2025-04-10 at 17 50
35\"\nsrc=\"https://github.com/user-attachments/assets/085aa499-7842-4bcf-ba97-49706b58c9ad\"\n/>\n\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
05\"\nsrc=\"https://github.com/user-attachments/assets/37f2a6ca-3c0b-4a00-b1cd-117334feb480\"\n/>\n\nWe
also increase the line height a little to ensure that the action\npanel
box fits inside a single-line request selection box:\n\n\n<img
width=\"1136\" alt=\"Screenshot 2025-04-10 at 18 00
07\"\nsrc=\"https://github.com/user-attachments/assets/3f618049-d5d0-46c4-8d1b-5098a00985f5\"\n/>\n\n\n\n\n###
2. Ensures that the left border of the selection doesn't overlap\nwith
the line numbers by shifting the border to the right.\n\nBefore:\n<img
width=\"740\" alt=\"Screenshot 2025-04-10 at 17 49
30\"\nsrc=\"https://github.com/user-attachments/assets/184599c3-d5e8-40b4-b8f4-a2f40caa2c92\"\n/>\n\n\nNow:\n<img
width=\"652\" alt=\"Screenshot 2025-04-10 at 17 50
01\"\nsrc=\"https://github.com/user-attachments/assets/edacd4aa-9478-4d1a-8217-d6d1181e452d\"\n/>\n\n\n###
3. Increases the contrast between the selected text and the\nselection
blue box by increasing the transparency of the blue
selection\nbox:\n\n\nBefore:\n<img width=\"735\" alt=\"Screenshot
2025-04-10 at 17 51
43\"\nsrc=\"https://github.com/user-attachments/assets/95ff61d9-f4ef-4db9-b3d5-4ed8a64cc792\"\n/>\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
14\"\nsrc=\"https://github.com/user-attachments/assets/9b80c3a7-a053-49df-bfd2-f00b7765b545\"\n/>\n\n---------\n\nCo-authored-by:
Matthew Kime
<matt@mattki.me>","sha":"4cf7c3c5b8957e4daebe94bcb1c4233c6c236b4f"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217887","number":217887,"mergeCommit":{"message":"[Console]
Finishing design touches (#217887)\n\nFixes
https://github.com/elastic/kibana/issues/200195\n\n## Summary\n\nThis PR
adds the following small design improvements:\n\n### 1. Ensures that the
bottom border of the selection doesn't overlap\nwith the next line by
shifting the border up.\n\nBefore:\n<img width=\"1118\" alt=\"Screenshot
2025-04-10 at 17 50
35\"\nsrc=\"https://github.com/user-attachments/assets/085aa499-7842-4bcf-ba97-49706b58c9ad\"\n/>\n\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
05\"\nsrc=\"https://github.com/user-attachments/assets/37f2a6ca-3c0b-4a00-b1cd-117334feb480\"\n/>\n\nWe
also increase the line height a little to ensure that the action\npanel
box fits inside a single-line request selection box:\n\n\n<img
width=\"1136\" alt=\"Screenshot 2025-04-10 at 18 00
07\"\nsrc=\"https://github.com/user-attachments/assets/3f618049-d5d0-46c4-8d1b-5098a00985f5\"\n/>\n\n\n\n\n###
2. Ensures that the left border of the selection doesn't overlap\nwith
the line numbers by shifting the border to the right.\n\nBefore:\n<img
width=\"740\" alt=\"Screenshot 2025-04-10 at 17 49
30\"\nsrc=\"https://github.com/user-attachments/assets/184599c3-d5e8-40b4-b8f4-a2f40caa2c92\"\n/>\n\n\nNow:\n<img
width=\"652\" alt=\"Screenshot 2025-04-10 at 17 50
01\"\nsrc=\"https://github.com/user-attachments/assets/edacd4aa-9478-4d1a-8217-d6d1181e452d\"\n/>\n\n\n###
3. Increases the contrast between the selected text and the\nselection
blue box by increasing the transparency of the blue
selection\nbox:\n\n\nBefore:\n<img width=\"735\" alt=\"Screenshot
2025-04-10 at 17 51
43\"\nsrc=\"https://github.com/user-attachments/assets/95ff61d9-f4ef-4db9-b3d5-4ed8a64cc792\"\n/>\n\nNow:\n<img
width=\"1124\" alt=\"Screenshot 2025-04-10 at 17 51
14\"\nsrc=\"https://github.com/user-attachments/assets/9b80c3a7-a053-49df-bfd2-f00b7765b545\"\n/>\n\n---------\n\nCo-authored-by:
Matthew Kime
<matt@mattki.me>","sha":"4cf7c3c5b8957e4daebe94bcb1c4233c6c236b4f"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com>
2025-04-15 12:57:07 +02:00
Kibana Machine
a8c8ab367a
[8.x] [ES|QL] Allows to retrieve empty columns (#218085) (#218205)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ES|QL] Allows to retrieve empty columns
(#218085)](https://github.com/elastic/kibana/pull/218085)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Stratoula
Kalafateli","email":"efstratia.kalafateli@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T08:28:38Z","message":"[ES|QL]
Allows to retrieve empty columns (#218085)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/200039\n\nHere we are asking ES
to do a grouping between empty columns and\nnon-empty. The
`dropNullColumns: true` in the request does the trick.\n\nIn case of
true the response comes as:\n\n```\n// only columns with data\ncolumns:
[...]\n// all columns\nall_columns: [...]\n```\n\nWhen the query is
empty the columns array comes empty but the\nall_columns has all the
columns information. The PR just takes the empty\ncolumns scenario under
consideration in order to serve the `all_columns`\ninstead. In that case
the text based datasource has the info it needs to\nserve a valid
visualization state.\n\n\n<img width=\"990\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7d0b2c58-eda2-4807-9203-36f7da48a6ff\"\n/>\n\n\n<img
width=\"814\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8b0ef3bf-14d5-4438-b8fd-a13d346da420\"\n/>\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"3c1f04dbb4483b4d4665c49c9d43430050d0fbe9","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Visualizations","Feature:Lens","Feature:ES|QL","backport:version","v9.1.0","v8.19.0"],"title":"[ES|QL]
Allows to retrieve empty
columns","number":218085,"url":"https://github.com/elastic/kibana/pull/218085","mergeCommit":{"message":"[ES|QL]
Allows to retrieve empty columns (#218085)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/200039\n\nHere we are asking ES
to do a grouping between empty columns and\nnon-empty. The
`dropNullColumns: true` in the request does the trick.\n\nIn case of
true the response comes as:\n\n```\n// only columns with data\ncolumns:
[...]\n// all columns\nall_columns: [...]\n```\n\nWhen the query is
empty the columns array comes empty but the\nall_columns has all the
columns information. The PR just takes the empty\ncolumns scenario under
consideration in order to serve the `all_columns`\ninstead. In that case
the text based datasource has the info it needs to\nserve a valid
visualization state.\n\n\n<img width=\"990\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7d0b2c58-eda2-4807-9203-36f7da48a6ff\"\n/>\n\n\n<img
width=\"814\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8b0ef3bf-14d5-4438-b8fd-a13d346da420\"\n/>\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"3c1f04dbb4483b4d4665c49c9d43430050d0fbe9"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218085","number":218085,"mergeCommit":{"message":"[ES|QL]
Allows to retrieve empty columns (#218085)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/200039\n\nHere we are asking ES
to do a grouping between empty columns and\nnon-empty. The
`dropNullColumns: true` in the request does the trick.\n\nIn case of
true the response comes as:\n\n```\n// only columns with data\ncolumns:
[...]\n// all columns\nall_columns: [...]\n```\n\nWhen the query is
empty the columns array comes empty but the\nall_columns has all the
columns information. The PR just takes the empty\ncolumns scenario under
consideration in order to serve the `all_columns`\ninstead. In that case
the text based datasource has the info it needs to\nserve a valid
visualization state.\n\n\n<img width=\"990\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/7d0b2c58-eda2-4807-9203-36f7da48a6ff\"\n/>\n\n\n<img
width=\"814\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8b0ef3bf-14d5-4438-b8fd-a13d346da420\"\n/>\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"3c1f04dbb4483b4d4665c49c9d43430050d0fbe9"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-04-15 12:20:53 +02:00
Julia Rechkunova
3f4ae8c651
[8.x] [Discover] Fix CSV for ES|QL embeddable (#216325) (#216851)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Discover] Fix CSV for ES|QL embeddable
(#216325)](https://github.com/elastic/kibana/pull/216325)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Julia
Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2025-04-02T13:14:55Z","message":"[Discover]
Fix CSV for ES|QL embeddable (#216325)\n\n- Closes
https://github.com/elastic/kibana/issues/215893\n\n## Summary\n\nThis PR
extract the logic from Share > Export > Generate CSV into new\nutils and
uses it to fix CSV export for Dashboard panels.\n\n<img width=\"903\"
alt=\"Screenshot 2025-04-01 at 12 05
58\"\nsrc=\"https://github.com/user-attachments/assets/20e611d7-b1da-4b50-a8fc-e18ac3db3a55\"\n/>\n\n\n##
Testing\n\nPlease test for both data view mode and ES|QL mode. The steps
are the\nfollowing:\n1. Save a discover session\n2. Add it to a new
dashboard\n3. Save the Dashboard and switch to View mode\n4. Via panel
actions, press \"Generate CSV report\"\n5. Compare the CSV results with
what is shown in the grid\n6. Add a custom time range to the panel via
panel actions \"Settings\"\n7. Generate a CSV report and compare results
again\n\nAlso check that reporting still works when generated from
Discover page.\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"dc78614d29da8f64f77840d3fc02846fcacfe2e5","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:Discover","release_note:fix","v9.0.0","Team:DataDiscovery","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[Discover]
Fix CSV for ES|QL
embeddable","number":216325,"url":"https://github.com/elastic/kibana/pull/216325","mergeCommit":{"message":"[Discover]
Fix CSV for ES|QL embeddable (#216325)\n\n- Closes
https://github.com/elastic/kibana/issues/215893\n\n## Summary\n\nThis PR
extract the logic from Share > Export > Generate CSV into new\nutils and
uses it to fix CSV export for Dashboard panels.\n\n<img width=\"903\"
alt=\"Screenshot 2025-04-01 at 12 05
58\"\nsrc=\"https://github.com/user-attachments/assets/20e611d7-b1da-4b50-a8fc-e18ac3db3a55\"\n/>\n\n\n##
Testing\n\nPlease test for both data view mode and ES|QL mode. The steps
are the\nfollowing:\n1. Save a discover session\n2. Add it to a new
dashboard\n3. Save the Dashboard and switch to View mode\n4. Via panel
actions, press \"Generate CSV report\"\n5. Compare the CSV results with
what is shown in the grid\n6. Add a custom time range to the panel via
panel actions \"Settings\"\n7. Generate a CSV report and compare results
again\n\nAlso check that reporting still works when generated from
Discover page.\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"dc78614d29da8f64f77840d3fc02846fcacfe2e5"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216325","number":216325,"mergeCommit":{"message":"[Discover]
Fix CSV for ES|QL embeddable (#216325)\n\n- Closes
https://github.com/elastic/kibana/issues/215893\n\n## Summary\n\nThis PR
extract the logic from Share > Export > Generate CSV into new\nutils and
uses it to fix CSV export for Dashboard panels.\n\n<img width=\"903\"
alt=\"Screenshot 2025-04-01 at 12 05
58\"\nsrc=\"https://github.com/user-attachments/assets/20e611d7-b1da-4b50-a8fc-e18ac3db3a55\"\n/>\n\n\n##
Testing\n\nPlease test for both data view mode and ES|QL mode. The steps
are the\nfollowing:\n1. Save a discover session\n2. Add it to a new
dashboard\n3. Save the Dashboard and switch to View mode\n4. Via panel
actions, press \"Generate CSV report\"\n5. Compare the CSV results with
what is shown in the grid\n6. Add a custom time range to the panel via
panel actions \"Settings\"\n7. Generate a CSV report and compare results
again\n\nAlso check that reporting still works when generated from
Discover page.\n\n### Checklist\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"dc78614d29da8f64f77840d3fc02846fcacfe2e5"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 11:58:38 +02:00
Tim Sullivan
0cc28d0e71
[8.x] NavigationItemOpenPanel: remove handling of landing page ("four squares" design) (#210893) (#218133)
# Backport

This will backport the following commits from `main` to `8.x`:
- [NavigationItemOpenPanel: remove handling of landing page ("four
squares" design)
(#210893)](https://github.com/elastic/kibana/pull/210893)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Tim
Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-09T14:25:30Z","message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["blocked","release_note:skip","backport
missing","Team:
SecuritySolution","Team:SharedUX","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0"],"title":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\"
design)","number":210893,"url":"https://github.com/elastic/kibana/pull/210893","mergeCommit":{"message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/210893","number":210893,"mergeCommit":{"message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 11:16:12 +02:00
Peter Pisljar
8e6d961497
[8.x] lens esql generation (#196049) (#209753)
# Backport

This will backport the following commits from `main` to `8.x`:
- [lens esql generation
(#196049)](https://github.com/elastic/kibana/pull/196049)

<!--- Backport version: 9.6.4 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Peter
Pisljar","email":"peter.pisljar@elastic.co"},"sourceCommit":{"committedDate":"2025-02-03T08:53:24Z","message":"lens
esql generation
(#196049)","sha":"762fd8c4d054682d2c969a7d9266289b2e5daa21","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:ExpressionLanguage","Team:Visualizations","release_note:skip","backport:skip","v9.1.0"],"title":"lens
esql
generation","number":196049,"url":"https://github.com/elastic/kibana/pull/196049","mergeCommit":{"message":"lens
esql generation
(#196049)","sha":"762fd8c4d054682d2c969a7d9266289b2e5daa21"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/196049","number":196049,"mergeCommit":{"message":"lens
esql generation
(#196049)","sha":"762fd8c4d054682d2c969a7d9266289b2e5daa21"}}]}]
BACKPORT-->
2025-04-15 10:43:10 +02:00
Bailey Cash
de6ea00825
[8.x] [SLO]: Add filtering to SLO Management table, improve UX (#216040) (#218171)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SLO]: Add filtering to SLO Management table, improve UX
(#216040)](https://github.com/elastic/kibana/pull/216040)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-03-27T22:36:16Z","message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"[SLO]:
Add filtering to SLO Management table, improve
UX","number":216040,"url":"https://github.com/elastic/kibana/pull/216040","mergeCommit":{"message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216040","number":216040,"mergeCommit":{"message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 09:10:26 +02:00
Bailey Cash
0da581350d
[8.x] [SLO] update default feature flag value for slo management (#216919) (#218162)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SLO] update default feature flag value for slo management
(#216919)](https://github.com/elastic/kibana/pull/216919)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-04-07T13:07:35Z","message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"[SLO]
update default feature flag value for slo
management","number":216919,"url":"https://github.com/elastic/kibana/pull/216919","mergeCommit":{"message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216919","number":216919,"mergeCommit":{"message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732"}}]}]
BACKPORT-->
2025-04-15 07:19:55 +02:00
Jeramy Soucy
cb0bdae67d
[8.x] Fixes bulk re-encryption for encrypted objects located in all spaces (#217625) (#218178)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Fixes bulk re-encryption for encrypted objects located in all spaces
(#217625)](https://github.com/elastic/kibana/pull/217625)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Jeramy
Soucy","email":"jeramy.soucy@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T19:20:38Z","message":"Fixes
bulk re-encryption for encrypted objects located in all spaces
(#217625)\n\nCloses #215534\n\n## Summary\n\nThe Encrypted Saved Objects
Key Rotation service makes use of the Saved\nObjects Bulk Update API to
re-encrypt objects. Bulk update supports an\noptional 'namespace'
parameter, per-object, defining the space to access\na specific object.
This allows objects outside of the current space to\nbe affected in the
update operation. The Key Rotation service leverages\nthis optional
parameter for each object to ensure that the re-encryption\noperation is
not limited to the current space.\n\nHowever, should a multi-namespace
encrypted object reside in all spaces,\nthe only value in the object's
namespaces property is the\n`ALL_NAMESPACES_STRING` constant '*'. As
this is not a valid single\nnamespace, the Bulk Update operation will
skip updating the object.\n\nPR resolves the issue by only providing a
object namespace for objects\nthat do not reside in all spaces. Objects
that reside in all spaces can\nbe accessed from the current space
without the need for an override.\n\nThis PR also updates unit tests to
account for this case.\n\n### Testing\n- [x] Set the encrypted saved
objects encryption key to a known value\n(either in kibana.yml or
kibana.dev.yml). For example:\n```\nxpack.encryptedSavedObjects:\n
encryptionKey: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" \n```\n- [x] Start
ES & Kibana\n- [x] You will need to set up a Fleet agent policy and
create a\nsynthetics location and monitor. The UI will guide you through
this when\nyou navigate to Observability -> Synthetics\n- [x] Create a
synthetics parameter, Observability -> Synthetics ->\nSettings, Global
Parameters tab. Use anything for a value, but be sure\nto check the
`Share across spaces` option.\n- [x] Update the kibana config to change
the encryption key, and use the\nold key as a decryption-only
key\n```\nxpack.encryptedSavedObjects:\n encryptionKey:
\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\" \n keyRotation:\n
decryptionOnlyKeys: [\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"] \n```\n- [x]
Wait for Kibana to restart\n- [x] Call the key rotation HTTP API as a
privileged user (I just used\nthe `elastic` superuser
account)\n\n`[you_kibana_endpoint]/api/encrypted_saved_objects/_rotate_key?type=synthetics-param`\n-
[x] Verify that 1 out of 1 objects were processed with 0 failures.\n-
[x] Repeat these steps from Main and note that 0 of 1
objects\nsucceeded, and there is 1 failure\n\n### Release Note\nFixes an
issue where the Saved Objects Rotate Encryption Key API would\nnot
affect sharable encrypted object types that exist in all
spaces.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1176625dcaf8ec8ca4e4aa0b1324279ab0f2def3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:Security","backport:all-open","v9.1.0"],"title":"Fixes
bulk re-encryption for encrypted objects located in all
spaces","number":217625,"url":"https://github.com/elastic/kibana/pull/217625","mergeCommit":{"message":"Fixes
bulk re-encryption for encrypted objects located in all spaces
(#217625)\n\nCloses #215534\n\n## Summary\n\nThe Encrypted Saved Objects
Key Rotation service makes use of the Saved\nObjects Bulk Update API to
re-encrypt objects. Bulk update supports an\noptional 'namespace'
parameter, per-object, defining the space to access\na specific object.
This allows objects outside of the current space to\nbe affected in the
update operation. The Key Rotation service leverages\nthis optional
parameter for each object to ensure that the re-encryption\noperation is
not limited to the current space.\n\nHowever, should a multi-namespace
encrypted object reside in all spaces,\nthe only value in the object's
namespaces property is the\n`ALL_NAMESPACES_STRING` constant '*'. As
this is not a valid single\nnamespace, the Bulk Update operation will
skip updating the object.\n\nPR resolves the issue by only providing a
object namespace for objects\nthat do not reside in all spaces. Objects
that reside in all spaces can\nbe accessed from the current space
without the need for an override.\n\nThis PR also updates unit tests to
account for this case.\n\n### Testing\n- [x] Set the encrypted saved
objects encryption key to a known value\n(either in kibana.yml or
kibana.dev.yml). For example:\n```\nxpack.encryptedSavedObjects:\n
encryptionKey: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" \n```\n- [x] Start
ES & Kibana\n- [x] You will need to set up a Fleet agent policy and
create a\nsynthetics location and monitor. The UI will guide you through
this when\nyou navigate to Observability -> Synthetics\n- [x] Create a
synthetics parameter, Observability -> Synthetics ->\nSettings, Global
Parameters tab. Use anything for a value, but be sure\nto check the
`Share across spaces` option.\n- [x] Update the kibana config to change
the encryption key, and use the\nold key as a decryption-only
key\n```\nxpack.encryptedSavedObjects:\n encryptionKey:
\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\" \n keyRotation:\n
decryptionOnlyKeys: [\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"] \n```\n- [x]
Wait for Kibana to restart\n- [x] Call the key rotation HTTP API as a
privileged user (I just used\nthe `elastic` superuser
account)\n\n`[you_kibana_endpoint]/api/encrypted_saved_objects/_rotate_key?type=synthetics-param`\n-
[x] Verify that 1 out of 1 objects were processed with 0 failures.\n-
[x] Repeat these steps from Main and note that 0 of 1
objects\nsucceeded, and there is 1 failure\n\n### Release Note\nFixes an
issue where the Saved Objects Rotate Encryption Key API would\nnot
affect sharable encrypted object types that exist in all
spaces.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1176625dcaf8ec8ca4e4aa0b1324279ab0f2def3"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217625","number":217625,"mergeCommit":{"message":"Fixes
bulk re-encryption for encrypted objects located in all spaces
(#217625)\n\nCloses #215534\n\n## Summary\n\nThe Encrypted Saved Objects
Key Rotation service makes use of the Saved\nObjects Bulk Update API to
re-encrypt objects. Bulk update supports an\noptional 'namespace'
parameter, per-object, defining the space to access\na specific object.
This allows objects outside of the current space to\nbe affected in the
update operation. The Key Rotation service leverages\nthis optional
parameter for each object to ensure that the re-encryption\noperation is
not limited to the current space.\n\nHowever, should a multi-namespace
encrypted object reside in all spaces,\nthe only value in the object's
namespaces property is the\n`ALL_NAMESPACES_STRING` constant '*'. As
this is not a valid single\nnamespace, the Bulk Update operation will
skip updating the object.\n\nPR resolves the issue by only providing a
object namespace for objects\nthat do not reside in all spaces. Objects
that reside in all spaces can\nbe accessed from the current space
without the need for an override.\n\nThis PR also updates unit tests to
account for this case.\n\n### Testing\n- [x] Set the encrypted saved
objects encryption key to a known value\n(either in kibana.yml or
kibana.dev.yml). For example:\n```\nxpack.encryptedSavedObjects:\n
encryptionKey: \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\" \n```\n- [x] Start
ES & Kibana\n- [x] You will need to set up a Fleet agent policy and
create a\nsynthetics location and monitor. The UI will guide you through
this when\nyou navigate to Observability -> Synthetics\n- [x] Create a
synthetics parameter, Observability -> Synthetics ->\nSettings, Global
Parameters tab. Use anything for a value, but be sure\nto check the
`Share across spaces` option.\n- [x] Update the kibana config to change
the encryption key, and use the\nold key as a decryption-only
key\n```\nxpack.encryptedSavedObjects:\n encryptionKey:
\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\" \n keyRotation:\n
decryptionOnlyKeys: [\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"] \n```\n- [x]
Wait for Kibana to restart\n- [x] Call the key rotation HTTP API as a
privileged user (I just used\nthe `elastic` superuser
account)\n\n`[you_kibana_endpoint]/api/encrypted_saved_objects/_rotate_key?type=synthetics-param`\n-
[x] Verify that 1 out of 1 objects were processed with 0 failures.\n-
[x] Repeat these steps from Main and note that 0 of 1
objects\nsucceeded, and there is 1 failure\n\n### Release Note\nFixes an
issue where the Saved Objects Rotate Encryption Key API would\nnot
affect sharable encrypted object types that exist in all
spaces.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"1176625dcaf8ec8ca4e4aa0b1324279ab0f2def3"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-14 22:23:06 -04:00
Kibana Machine
8ab1f4101a
[8.x] [Detection Engine] Cypress cleanup and simplification (#217276) (#218166)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Detection Engine] Cypress cleanup and simplification
(#217276)](https://github.com/elastic/kibana/pull/217276)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Yara
Tercero","email":"yctercero@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-14T18:46:47Z","message":"[Detection
Engine] Cypress cleanup and simplification (#217276)\n\n##
Summary\n\nThis PR attempts to simplify our Cypress tests to focus in on
what\nexactly we want a test to be doing. Many of our rule creation
cypress\ntests were testing rule creation, rule edit, rule details and
more. This\nresults in a lot of flake and us triaging tests that often
test things\nother than what we're ultimately trying to answer.\n\nI
tried to simplify it so the rule specific tests simply answer - can
we\ncreate this rule type in the UI? Then there's a single test for
checking\nthe entire flow of create rule -> rule details and check for
alerts. The\nFTRs should be ensuring that the rules generate alerts as
expected so we\ndon't need to check this for every rule type in
cypress.\n\nI also moved alert suppression into it's own folder as there
is a lot of\nspecific logic to test around
that.","sha":"81c93ca5d1dd714297b04ff80660fbdb6a267582","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Detection
Engine","backport:version","v9.1.0","v8.19.0"],"title":"[Detection
Engine] Cypress cleanup and
simplification","number":217276,"url":"https://github.com/elastic/kibana/pull/217276","mergeCommit":{"message":"[Detection
Engine] Cypress cleanup and simplification (#217276)\n\n##
Summary\n\nThis PR attempts to simplify our Cypress tests to focus in on
what\nexactly we want a test to be doing. Many of our rule creation
cypress\ntests were testing rule creation, rule edit, rule details and
more. This\nresults in a lot of flake and us triaging tests that often
test things\nother than what we're ultimately trying to answer.\n\nI
tried to simplify it so the rule specific tests simply answer - can
we\ncreate this rule type in the UI? Then there's a single test for
checking\nthe entire flow of create rule -> rule details and check for
alerts. The\nFTRs should be ensuring that the rules generate alerts as
expected so we\ndon't need to check this for every rule type in
cypress.\n\nI also moved alert suppression into it's own folder as there
is a lot of\nspecific logic to test around
that.","sha":"81c93ca5d1dd714297b04ff80660fbdb6a267582"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217276","number":217276,"mergeCommit":{"message":"[Detection
Engine] Cypress cleanup and simplification (#217276)\n\n##
Summary\n\nThis PR attempts to simplify our Cypress tests to focus in on
what\nexactly we want a test to be doing. Many of our rule creation
cypress\ntests were testing rule creation, rule edit, rule details and
more. This\nresults in a lot of flake and us triaging tests that often
test things\nother than what we're ultimately trying to answer.\n\nI
tried to simplify it so the rule specific tests simply answer - can
we\ncreate this rule type in the UI? Then there's a single test for
checking\nthe entire flow of create rule -> rule details and check for
alerts. The\nFTRs should be ensuring that the rules generate alerts as
expected so we\ndon't need to check this for every rule type in
cypress.\n\nI also moved alert suppression into it's own folder as there
is a lot of\nspecific logic to test around
that.","sha":"81c93ca5d1dd714297b04ff80660fbdb6a267582"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Yara Tercero <yctercero@users.noreply.github.com>
2025-04-14 22:34:21 +02:00
Kibana Machine
48554f91e1
[8.x] [Security Solution] Fix prebuilt rules force upgrade on Endpoint policy creation (#217959) (#218154)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Fix prebuilt rules force upgrade on Endpoint
policy creation
(#217959)](https://github.com/elastic/kibana/pull/217959)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dmitrii
Shevchenko","email":"dmitrii.shevchenko@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T17:22:38Z","message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:fix","impact:high","Feature:Endpoint","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","Feature:Prebuilt Detection
Rules","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1","v8.17.5"],"title":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy
creation","number":217959,"url":"https://github.com/elastic/kibana/pull/217959","mergeCommit":{"message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0","8.17"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217959","number":217959,"mergeCommit":{"message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dmitrii Shevchenko <dmitrii.shevchenko@elastic.co>
2025-04-14 21:09:57 +02:00
Justin Kambic
0ab217af55
[8.x] [Synthetics] Only return 404 if screenshot_ref is truly not present (#215241) (#218136)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Only return 404 if `screenshot_ref` is truly not present
(#215241)](https://github.com/elastic/kibana/pull/215241)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Justin
Kambic","email":"jk@elastic.co"},"sourceCommit":{"committedDate":"2025-03-24T14:50:18Z","message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","backport:prev-minor","Team:obs-ux-management","v9.1.0"],"title":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not
present","number":215241,"url":"https://github.com/elastic/kibana/pull/215241","mergeCommit":{"message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/215726","number":215726,"state":"MERGED","mergeCommit":{"sha":"349e4472ee62edd72cd062bb2635cb563f61168b","message":"[9.0]
[Synthetics] Only return 404 if `screenshot_ref` is truly not present
(#215241) (#215726)\n\n# Backport\n\nThis will backport the following
commits from `main` to `9.0`:\n- [[Synthetics] Only return 404 if
`screenshot_ref` is truly not
present\n(#215241)](https://github.com/elastic/kibana/pull/215241)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Justin Kambic
<jk@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215241","number":215241,"mergeCommit":{"message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7"}}]}]
BACKPORT-->
2025-04-14 19:23:14 +02:00
Kibana Machine
0b60e4c08a
[8.x] [ObsUX][A11y] Fix focus for popover in details flyout (#218095) (#218126)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ObsUX][A11y] Fix focus for popover in details flyout
(#218095)](https://github.com/elastic/kibana/pull/218095)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"Miriam","email":"31922082+MiriamAparicio@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-14T14:15:25Z","message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[ObsUX][A11y]
Fix focus for popover in details
flyout","number":218095,"url":"https://github.com/elastic/kibana/pull/218095","mergeCommit":{"message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218095","number":218095,"mergeCommit":{"message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Miriam <31922082+MiriamAparicio@users.noreply.github.com>
2025-04-14 18:18:23 +02:00
Bailey Cash
a167c9e655
[8.x] Add SLO Definition Page (#215423) (#218120)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Add SLO Definition Page
(#215423)](https://github.com/elastic/kibana/pull/215423)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-03-26T12:23:55Z","message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"Add
SLO Definition
Page","number":215423,"url":"https://github.com/elastic/kibana/pull/215423","mergeCommit":{"message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215423","number":215423,"mergeCommit":{"message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0"}}]}]
BACKPORT-->
2025-04-14 17:56:36 +02:00
Kibana Machine
8e6ff32635
[8.x] 🌊 Streams: Make deleting orphaned streams work (#218054) (#218117)
# Backport

This will backport the following commits from `main` to `8.x`:
- [🌊 Streams: Make deleting orphaned streams work
(#218054)](https://github.com/elastic/kibana/pull/218054)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Joe
Reuter","email":"johannes.reuter@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T13:49:00Z","message":"🌊
Streams: Make deleting orphaned streams work (#218054)\n\nCurrently
streams doesn't allow you to delete an orphaned stream
because\n`getPipelineTargets` required the data stream to exist.\n\nThis
PR fixes the problem by handling the case
gracefully.","sha":"e2f0fddfd12d5f0fad09821f6559054190305ac7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:obs-ux-logs","backport:version","Feature:Streams","v9.1.0","v8.19.0"],"title":"🌊
Streams: Make deleting orphaned streams
work","number":218054,"url":"https://github.com/elastic/kibana/pull/218054","mergeCommit":{"message":"🌊
Streams: Make deleting orphaned streams work (#218054)\n\nCurrently
streams doesn't allow you to delete an orphaned stream
because\n`getPipelineTargets` required the data stream to exist.\n\nThis
PR fixes the problem by handling the case
gracefully.","sha":"e2f0fddfd12d5f0fad09821f6559054190305ac7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218054","number":218054,"mergeCommit":{"message":"🌊
Streams: Make deleting orphaned streams work (#218054)\n\nCurrently
streams doesn't allow you to delete an orphaned stream
because\n`getPipelineTargets` required the data stream to exist.\n\nThis
PR fixes the problem by handling the case
gracefully.","sha":"e2f0fddfd12d5f0fad09821f6559054190305ac7"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
2025-04-14 17:40:13 +02:00
Kibana Machine
0c8a0b29db
[8.x] [Streams 🌊] Update condition editor enabling and fixes (#218055) (#218106)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Streams 🌊] Update condition editor enabling and fixes
(#218055)](https://github.com/elastic/kibana/pull/218055)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marco Antonio
Ghiani","email":"marcoantonio.ghiani01@gmail.com"},"sourceCommit":{"committedDate":"2025-04-14T12:25:46Z","message":"[Streams
🌊] Update condition editor enabling and fixes (#218055)\n\n## 📓
Summary\n\nCloses #217884 \n\n- Updates the condition editor to have a
more consistent behaviour for\nenabled/disabled routing.\n- A more
explicit tooltip is added to describe how the status flag\naffects the
routing behaviour.\n- The status switch is visible by default, while
before it was shown\nonly in edit mode for a routing condition.\n -
Fixed crashes when manually working on the syntax editor.\n- Removes the
routing status flag from the condition editor in the\nprocessors'
config.\n\n<img width=\"763\" alt=\"Screenshot 2025-04-14 at 10 23
42\"\nsrc=\"https://github.com/user-attachments/assets/8521739a-ac53-4751-9ad3-4400a84c5a8d\"\n/>","sha":"d46a89e4a547054077d31de1a4b281615734c6a4","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:obs-ux-logs","backport:version","Feature:Streams","v9.1.0","v8.19.0"],"title":"[Streams
🌊] Update condition editor enabling and
fixes","number":218055,"url":"https://github.com/elastic/kibana/pull/218055","mergeCommit":{"message":"[Streams
🌊] Update condition editor enabling and fixes (#218055)\n\n## 📓
Summary\n\nCloses #217884 \n\n- Updates the condition editor to have a
more consistent behaviour for\nenabled/disabled routing.\n- A more
explicit tooltip is added to describe how the status flag\naffects the
routing behaviour.\n- The status switch is visible by default, while
before it was shown\nonly in edit mode for a routing condition.\n -
Fixed crashes when manually working on the syntax editor.\n- Removes the
routing status flag from the condition editor in the\nprocessors'
config.\n\n<img width=\"763\" alt=\"Screenshot 2025-04-14 at 10 23
42\"\nsrc=\"https://github.com/user-attachments/assets/8521739a-ac53-4751-9ad3-4400a84c5a8d\"\n/>","sha":"d46a89e4a547054077d31de1a4b281615734c6a4"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218055","number":218055,"mergeCommit":{"message":"[Streams
🌊] Update condition editor enabling and fixes (#218055)\n\n## 📓
Summary\n\nCloses #217884 \n\n- Updates the condition editor to have a
more consistent behaviour for\nenabled/disabled routing.\n- A more
explicit tooltip is added to describe how the status flag\naffects the
routing behaviour.\n- The status switch is visible by default, while
before it was shown\nonly in edit mode for a routing condition.\n -
Fixed crashes when manually working on the syntax editor.\n- Removes the
routing status flag from the condition editor in the\nprocessors'
config.\n\n<img width=\"763\" alt=\"Screenshot 2025-04-14 at 10 23
42\"\nsrc=\"https://github.com/user-attachments/assets/8521739a-ac53-4751-9ad3-4400a84c5a8d\"\n/>","sha":"d46a89e4a547054077d31de1a4b281615734c6a4"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani01@gmail.com>
2025-04-14 16:37:29 +02:00