## Summary
👋 Hey y'all - EUI will shortly be deprecating the `ghost` color in all
button components (see
https://eui.elastic.co/v89.0.0/#/navigation/button#ghost-vs-dark-mode).
In this PR, all components using `color="ghost"` are being used within
an `EuiBottomBar` and as such already automatically inherit dark mode
coloring.
I'm opening this PR ahead of time for your team so you can test this
migration and ensure no UI regressions have occurred as a result.
### Checklist
- [x] Tested in light and dark mode
This PR updates rule preview panel in the document expandable flyout:
- Replaced rule details sections with the simplified components from
https://github.com/elastic/kibana/pull/166158
- Added `itemRenderer` to allow custom render of the description list
- Removed `isPanelView` props from the rule detail read only components.
It was added to accommodate the preview styling
(https://github.com/elastic/kibana/pull/163027)
**No UI change from this PR**
**How to test**
- Go to alerts page and generate some alerts
- Expand a row in the table, a flyout should appear
- Click `Show rule summary` to expand the rule preview panel
Closes#168196
## Summary
This PR handles the case when `process_list` API returns `null` value
for `cpu`.
## Investigation
I checked when that happened and my first assumption was that the API
would return null in case the process data is not fully available for
all processes (in case of restarting metricbeat for example) but I saw
some hosts also on `edge lite` that have null values (only for some
processes - not all of them). I tried the same query on the edge lite
and then I saw documents with the cpu value `null` and some processes
that have the cpu value available for the same timeframe:

I don't think it's related to certain processes or indices as it is
reproducible using different ones. This could be considered an edge case
but as mentioned in [the
comment](https://github.com/elastic/kibana/issues/168196#issuecomment-1752967009)
having the null values is likely to happen when using the auto-refresh
option.
## The fix
To fix the issue we agreed on handling the case when `null` cpu value is
present by showing a `N/A` with an explanation and a CPU chart
placeholder with the same explanation in the process list table instead
of throwing an error
| Before | After |
| ------ | ------ |
|

|


|
## Testing
- Go to infra -> Hosts -> open the hosts flyout and select the processes
tab:
- It can be tricky to reproduce the issue locally some options are:
- Remote cluster: In case egde **lite** cluster is used the host who I
find to have this issue is
[gke-edge-lite-oblt-edge-lite-oblt-poo-c1d12345-sbnt](https://edge-lite-oblt.kb.us-west2.gcp.elastic-cloud.com/app/metrics/hosts?waffleTime=(currentTime:1697469375748,isAutoReloading:!f)&_a=(dateRange:(from:now-2m,to:now-1m),filters:!(),limit:50,panelFilters:!(),query:(language:kuery,query:%27%27))&controlPanels=(cloud.provider:(explicitInput:(fieldName:cloud.provider,id:cloud.provider,title:%27Cloud%20Provider%27),grow:!f,order:1,type:optionsListControl,width:medium),host.os.name:(explicitInput:(fieldName:host.os.name,id:host.os.name,title:%27Operating%20System%27),grow:!f,order:0,type:optionsListControl,width:medium))&tableProperties=(detailsItemId:gke-edge-lite-oblt-edge-lite-oblt-poo-c1d12345-sbnt-Ubuntu,pagination:(pageIndex:0,pageSize:20),sorting:(direction:asc,field:name))&assetDetails=(dateRange:(from:%272023-10-17T09:18:11.097Z%27,to:%272023-10-17T09:19:11.097Z%27),name:gke-edge-lite-oblt-edge-lite-oblt-poo-c1d12345-sbnt,tabId:processes)&waffleFilter=(expression:%27%27,kind:kuery)&waffleOptions=(accountId:%27%27,autoBounds:!t,boundsOverride:(max:1,min:0),customMetrics:!(),customOptions:!(),groupBy:!(),legend:(palette:cool,reverseColors:!f,steps:10),metric:(type:cpu),nodeType:host,region:%27%27,sort:(by:name,direction:desc),source:url,timelineOpen:!f,view:map))
- Metricbeat: It can be reproduced by stoping metricbeat for around a
minute then stating it again and refreshing the interval to `now` until
data with `null` CPU values are displayed.
- Look at the processes and find a process with `N/A` value in the CPU
column (A tooltip should appear after clicking on the question mark icon
next to `N/A`) and extend the process:

- The same tooltip should appear after clicking on the question mark
icon next to the "No results found" placeholder:

---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Fixes#169296
- Resets the rule settings modal when the user clicks Cancel, but caches
the initial pull from the server so that a second request isn't
necessary on reopen
- Updates this cache on save so that the reset on modal close remains
accurate
### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
Some add to timeline actions are missing version header when sending
requests. This is preventing user from adding alerts (of the rule types
below) to timeline - clicking `investigate in timeline` will throw a
`failed to create ... timeline` error. This PR adds version header to
api calls related to:
1. alert suppression
2. threshold rule
3. new term rule
### For maintainers
- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
Unskipped tests:
1. `endpoint_alerts.cy.ts`
2. `response_console_mocked_data.cy.ts` -
https://github.com/elastic/security-team/issues/7763
3. `no_license.cy.ts` -
https://github.com/elastic/security-team/issues/7763
4. `endpoints.cy.ts`
Changes:
1. Introduced interval for `cy.waitUntill` calls, I've noticed locally
that running these request without throttling can cause API issues
2. Increased timeout for CI `burn` jobs - with this PR as an example,
when burning 3 test suites one hour might not be enough at this point.
We should think about splitting these.
---------
Co-authored-by: Patryk Kopyciński <contact@patrykkopycinski.com>
## Summary
Makes the shared-ux navigation the default side navigation component for
Security projects.
The old Security navigation component and the experimental flag will be
removed altogether in a separate PR.
There is no visual difference from the previous navigation:

---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Improves the `flushFix` behaviour for Log Rate Analysis. Previously the
setting would add a 4KB size additional dummy payload to each object
returned as ndjson. For the dataset used for testing this, this would
result in an overall response payload of ˜900Kbytes. For comparison,
without `flushFix` the response size would be ˜40Kbytes in this case.
This PR changes the behaviour to only send a dummy payload every 500ms
if the real data sent in the last 500ms wasn't bigger than 4Kbytes.
Depending on the speed of the response, this can bring down the overall
response payload to ˜300Kbytes (Cloud uncached), ˜150Kbytes (Cloud
cached) or even ˜70Kbytes (local cluster) for the same dataset.
## Summary
New attempt at fixing https://github.com/elastic/kibana/issues/116718
Inspired on https://github.com/elastic/kibana/pull/126320
Here's what the newly logged `[status]` information looks like on a
fresh startup:
<img width="1834" alt="image"
src="d78d7f88-139f-4daf-9dc0-c4e6724ea412">
The first 2 entries are logs from Core services 🆕 .
The next 5 entries are emitted due to `taskManager` plugin emitting a
degraded status right at startup.
I have created an issue to tackle that one:
https://github.com/elastic/kibana/issues/168237
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
👋 Hey y'all - EUI will shortly be deprecating the `ghost` color in all
button components (see
https://eui.elastic.co/v89.0.0/#/navigation/button#ghost-vs-dark-mode).
In this PR, all components using `color="ghost"` are being used within
an `EuiBottomBar` and as such already automatically inherit dark mode
coloring.
I'm opening this PR ahead of time for your team so you can test this
migration and ensure no UI regressions have occurred as a result.
### Checklist
- [x] Tested in light and dark mode
## Summary
This PR adds UI tracking for Change Point Detection for AIOps.
- tracks type of analysis and source (where the analysis is being run
from)
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Quynh Nguyen (Quinn) <43350163+qn895@users.noreply.github.com>
## Summary
Similar to #169639
The tests fail on MKI because username is hardcoded to
`elastic_serverless`. Reading value from FTR config should fix it.
## Summary
This fixes deeper context breadcrumbs in serverless navigation for fleet
and integration apps.
This builds on top of https://github.com/elastic/kibana/pull/169513
where we added merging of navigational project breadcrumbs with deeper
context breadcrumbs set by `chrome.setBreadcrumbs`. The merging is based
on `deepLinkId`, so we're adding it to base breadcrumbs. The
`deepLinkId` is type checked.
Example Before/After:
Before:


After:


## Summary
Continuation of #169221. Part of
https://github.com/elastic/kibana/issues/157458
_Note: The experimental feature flag `outputSecretsStorage` must be
enabled to see these changes._
Introduces the UI components to create and edit output secrets,
currently there are only 3 output secrets:
- Kafka output password
- Kafka output SSL key
- Logstash output SSL key
Some key behaviours of the new UI:
- on creating an output, the user can opt to revert to using plain text
values if they want
- once an output has been created with a secret, when editing the
output, the secret values can only be replaced, never viewed
- If an output uses plain values, there currently isn't a way to convert
to using secrets.
**Create**
<img width="1639" alt="Screenshot 2023-10-24 at 14 48 49"
src="4f1d6715-70bb-4a91-a619-78cbc37106d7">
**Edit**
d8d44911-81d3-4a06-a0ff-ece981a36496
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Ensuring saved objects are synced before running the tests for the
trained models. This should fix the occasional test failure where the
build in `lang_ident_model_1` is missing from the list due to a sync
being needed.
Flaky test runner, all have passed.
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3703
## Summary
Updated the error message when the user tried to update a case with
missing required custom fields.
<details><summary>Before</summary><img width="606" alt="Screenshot
2023-10-24 at 14 42 18"
src="999272cb-b558-4b89-a100-6c5a80ec714c"></details>
<details><summary>After</summary>
<img width="393" alt="Screenshot 2023-10-25 at 10 38 14"
src="ea10b349-03cd-4ed3-bc52-7d1feb82abac"></details>
## Summary
close https://github.com/elastic/kibana/issues/167337
It introduces a new way to automatically set the deeper context
breadcrumbs in serverless navigation. Instead of using the
`serverless.setBreadcrumbs` for setting deeper context breadcrumbs in
serverless, the project navigation service merges navigational
breadcrumbs with regular chrome's breadcrumbs by deepLinkId
Adds basic functional tests for serverless for the transform list. Since
transforms are available in all project types, this adds the tests to
`common` so they are run in all three project types.
- Navigates to the empty transform list and asserts the page.
- Checks `transform` is available as a search feature.
**Addreses:** https://github.com/elastic/kibana/issues/161540
## Summary
This PR unskips `search_bar.cy.ts` Serverless Cypress tests.
## Details
Besides just unskipping `search_bar.cy.ts` this PR also makes sure the test isn't flaky by making `operator` required in `fillAddFilterForm()`. It turned out the test works only if the Cypress window is in focus when an operator isn't set. Such behavior can lead to test flakiness in CI. This way choosing an operator via keyboard is a safer option.
## Flaky test runner
`search_bar.cy.ts` [150 runs](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3614)