Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discover] Flatten document rows in a lazy way #10

Closed
wants to merge 7,288 commits into from

Conversation

jughosta
Copy link
Owner

Before:

Screenshot 2024-05-23 at 11 55 08

After:

Screenshot 2024-05-23 at 11 54 18

vadimkibana and others added 30 commits May 16, 2024 10:23
## Summary

Cloud ID copy input now has a information "?" icon with a popup and a
link.


![image](https://github.com/elastic/kibana/assets/82822460/36b07f12-bda5-41fd-baac-5cd4791042c0)


![image](https://github.com/elastic/kibana/assets/82822460/3ddb2f81-e69b-47d7-8a32-2c726c114ec1)


![cloud-id-popover](https://github.com/elastic/kibana/assets/82822460/52eed8c4-bf25-4f7b-b631-adc47de3432f)



### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

### For maintainers

- [x] 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)


### Release note

Cloud ID copy input now has a information "?" icon with a popup and a
link.


![cloud-id-popover](https://github.com/elastic/kibana/assets/82822460/52eed8c4-bf25-4f7b-b631-adc47de3432f)
## Summary

Fixes: elastic#183497

Sets the `applyGlobalQueriesAndFilters` prop correctly to
_VisualizationEmbeddable_. This property was ignored when used from the
_TopN_ component, causing it to always apply the global filters and
query.

Extra: I cleaned all props that are not used in those component

### Screenshots

Pre-condition: Setting `user.name:"0q3c5et718"` query to the global
query in the background.

Before:


![before](https://github.com/elastic/kibana/assets/17747913/0b9ee913-44dc-48a7-a170-1c537ae494cf)

After:


![after](https://github.com/elastic/kibana/assets/17747913/89b6f752-d640-4e99-a826-0ff78d84992b)

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
…lert details page (elastic#181689)

Resolves elastic#178998

## Summary

This PR
- Persists group by information and apply it in the alert details page
- Adds source and tags to the alert summary field
- Fixes annotation issue on the chart by adding a margin-top

**Note**
I showed the chart title temporarily in the screenshots below for
verification: (You can do the same by removing hideTitle)
| State | Screenshot |
|---|---|
|Before|<img
src="https://github.com/elastic/kibana/assets/12370520/46d39e04-f871-476f-b06b-66e7eb77db5d"
width=700 /><img
src="https://github.com/elastic/kibana/assets/12370520/243ea2aa-8542-4a1f-91ff-d47c01b8452b"
width=700 />|
|After|<img
src="https://github.com/elastic/kibana/assets/12370520/3b632d4f-690f-4a2f-90d6-3b9ec3d14e39"
width=700 />|

### How to test
- Create a metric threshold rule 
    - make sure to enable the related feature flag
     ```
     xpack.observability.unsafe.alertDetails.observability.enabled: true
     ```
- Go to the alert details page and verify the charts show data related
to the selected group
   - either remove hideTitle
- or make sure the data in the chart matches expectations for that
specific group
   - or check the `metrics_explorer`
   
<img
src="https://github.com/elastic/kibana/assets/12370520/20996859-0e17-44fa-a294-0c124daf849e"
width=500 />
<img
src="https://github.com/elastic/kibana/assets/12370520/21beda58-0aff-42c2-a74e-df422eda347c"
width=500 />

- Create an APM Latency threshold rule and check the active alert
annotation to have the right color.

![image](https://github.com/elastic/kibana/assets/12370520/dd14cf99-e44e-4531-a221-7ed40bb43c5a)

---------

Co-authored-by: Faisal Kanout <faisal@kanout.com>
Co-authored-by: Cauê Marcondes <55978943+cauemarcondes@users.noreply.github.com>
…onnector UI (elastic#183380)

Fixes elastic#171320

## Summary

The additional_info field for the ServiceNow ITOM connector already
existed in the backend. When creating an action it was being
pre-populated with some rule and alert data and sent to the backend with
the form.

In this PR I am making that field visible and editable by the user while
preserving the original default values.

<img width="1959" alt="Screenshot 2024-05-14 at 12 28 25"
src="https://github.com/elastic/kibana/assets/1533137/74f81ff0-a141-4744-b86c-3a7146796342">

## Release notes

Added support for the additional info field in the ServiceNow ITOM
connector.
…182666)

## Summary

* Declare all API types using Open API Schema (OAS). 
* Generate TS types from schemas
* Update the code to use the generated types
* Validate requests with `buildRouteValidationWithZod `
* Delete
`x-pack/plugins/security_solution/common/api/entity_analytics/risk_engine/common.schema.yaml`.
There were 2 common files.
* Auto format `yaml` files for consistency. 
* Rename `yaml` files from `{name}_schema.yml` to `{name}.schema.yml`.
Otherwise, they don't work with the generator.
* Rename `RiskScore`  to `EntityRiskScoreRecord` (requested by Maxim)
* Update yaml version to '1'
## Summary

This PR removes deprecated [`abab`](https://www.npmjs.com/package/abab)
package.

### 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)

Co-authored-by: Jeramy Soucy <jeramy.soucy@elastic.co>
## Summary

Follow up to elastic#181002.

Updating chromedriver to support running tests on Chrome v125
…ve configs (elastic#183600)

## Summary

Related to elastic/connectors#2566. With the
introduction of new RCF `use_document_level_security` in the Salesforce
connector, the same needs to be reflected in native Confluence
connector.

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)

### 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)
## Summary

Currently the breadcrumb of the parent navigation item isn't a link:

<img width="339" alt="Screenshot 2024-05-10 at 2 06 42 PM"
src="https://github.com/elastic/kibana/assets/1676003/1471125f-59d7-468e-8ede-3a3c3c3e42dc">

This change makes it so the breadcrumb of parent navigation item is
linkable:
<img width="293" alt="Screenshot 2024-05-10 at 2 21 27 PM"
src="https://github.com/elastic/kibana/assets/1676003/aad5e650-33e1-419d-b866-0b7ec70e1f42">

The links will go to the first item in the list of child links.

The merging of this PR depends on
elastic#183508 allows for this
functionality to work without making the left side parent collapsible
link, also a href link - only the breadcrumb.

## Testing
- Start a serverless kibana instance

- Navigate to a child link of an accordion using the left side
navigation
<img width="589" alt="Screenshot 2024-05-15 at 11 26 24 AM"
src="https://github.com/elastic/kibana/assets/1676003/d225967d-37d1-4f19-b3f5-856fcc1bce68">

- The breadcrumb should of this page should be a link and link you to
the first child link of the accordion
This was removed too early by mistake. Re-adding it back.
…must be keyboard accessible (elastic#183294)

Closes: elastic/observability-dev#3357

## Description

The Obs Alert Rules view has a table with tooltips that cannot be
reached by keyboard. These elements can be helpful to users to
understand what the column represents, and must be available to all
users. Screenshots attached below.

This ticket captures tooltips on the **Rules** and **Logs** tabs for
compactness. Let me know if you need me to break these out to individual
items.

### Steps to recreate

1. Open the [Obs Alerts
Rules](https://keepserverless-qa-oblt-b4ba07.kb.eu-west-1.aws.qa.elastic.cloud/app/observability/alerts/rules)
table
2. Click or tab to the rules table
3. Tab through the Rules table

### What was changed?: 
1. `EuiToolTip` was replaced to `EuiIconTip`

### Screen:


https://github.com/elastic/kibana/assets/20072247/659d185a-ae97-499e-bd49-c8a4830e1f0e



https://github.com/elastic/kibana/assets/20072247/8ab7b809-e3fb-4d88-b027-01d8927481fb
## Summary

The error seems to be happening because we try to delete the transform
by calling `es.transform.deleteTransform` without checking if it exists
first.

* Reuse `removeLegacyTransforms` to delete transforms if they exist
* Remove `.expect(200);` from `clearLegacyDashboards`. If the dashboard
doesn't exist, the test shouldn't fail.

It fixes: elastic#179578
elastic#182541


Flaky test runner:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/5978
@MadameSheema as we have `getDefaultUsername`from common/users and
`getDefaultUserName` from login, do you think we should have only one?

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
…stic#183589)

## 📓 Summary

After converting the factory function for the SLOs flyout into an async
function, the experience when consuming the flyout in the Logs Explorer
app was broken as React was trying to render a Promise object.


https://github.com/elastic/kibana/assets/34506779/bcb5ca86-b8a5-4b6d-b9e9-e5f8b44eb518

The bug was introduced in [this
line](elastic@90e466a#diff-a1d1227bdd927b871e65f46d0f702b2eb3a630a79e3d3e7402072d83f1249274R44),
when to receive the appMountParameters and inject them into the context,
the function was made async.

There is no need on this component for the `appMountParameters` to be in
the context, so reverting this context value property to be optional and
removing the async resolution of it fixes the issue.

Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co>
## Summary

Close elastic#182390


### To test

You can test all aspects of the script by first making some changes to
`packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts`
- delete several tests from an existing function describe block ("block
1"—except don't choose "date_diff" since it has a bunch of custom tests)
- delete another function describe block completely ("block 2")
- change the expected result of several of the tests in a third function
describe block ("block 3")

Then, run `yarn maketests` from within
`packages/kbn-esql-validation-autocomplete`

**Expected result**
- Block 1 should have the deleted tests restored
- Block 2 should be restored entirely (though it may be moved in the
tests file)
- Block 3 should be untouched

### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
…elastic#181870)

## Summary

Implements **part one** of
elastic#181674.

The main focus here is to get the code for Smart Fields and Virtual
Columns located within Discover. Whilst some hooks have been added to
decide what to register / render these should most definitely be treated
as "subject to change" once the real data type context awareness lands
in Discover. For now these hooks rely on the old extension points to say
"yes, this is a logs context". As far as I could see other solutions are
not using the extension points that have been temporarily altered here.

As this is functionality related to a data type (logs) and not a
solution (observability, for example) this is all treated as a first
class citizen. Some code has been moved to the `discover-utils`.

## Reviewer notes

- Nothing should really have *changed*, this is mostly about verifying
that the Smart Fields and Virtual Columns still work as expected when
using Logs Explorer (and that core Discover still works as expected).
Please also check the Flyout still works as expected as this was rebased
on top of https://github.com/elastic/kibana/pull/180262/files and there
were some conflicts between file relocation in the two.

- There are a couple of components now duplicated in Discover and Logs
Explorer as the `actions` column still uses them and hasn't been moved
across yet.

<img width="306" alt="Screenshot 2024-04-28 at 15 39 15"
src="https://github.com/elastic/kibana/assets/471693/7b56df75-8b0b-41a7-8f15-f1066ef269d7">
<img width="1183" alt="Screenshot 2024-04-28 at 15 39 21"
src="https://github.com/elastic/kibana/assets/471693/167ab53c-9e86-464d-9622-86d87b311b46">

---------

Co-authored-by: Achyut Jhunjhunwala <achyut.jhunjhunwala@elastic.co>
…elastic#180436)

Part of elastic#179844

### In this PR
- From Inventory, open asset details page view for Containers
- Show overview tab with CPU and Memory KPIs and metric charts
- Metadata tab with old fields, more metadata fields will be shown in
follow-up PR
- Added links to container metrics documentation, currently there are no
docs for K8s metrics just for docker containers

#### How to test
- The feature is under a FF, on inventory page go to settings and enable
`Container view`
- In containers inventory, select a container and click on 'Docker
container metrics' link (there's an
[issue](elastic#180806) to reword this
links as K8s containers are also shown)
- Container details page should be shown with overview and metadata tabs
- On overview tab KPIs for CPU and Memory and Metrics section with CPU
and Memory charts should be displayed
<img width="937" alt="image"
src="https://github.com/elastic/kibana/assets/31922082/d2f25f2a-ea4f-4516-b216-38464682fd14">
…tus, OpenSSL target. Switch to Ubuntu (elastic#182295)

Closes elastic/kibana-operations#96

[new pipeline run](https://buildkite.com/elastic/kibana-fips/builds/28)
[old pipeline run](https://buildkite.com/elastic/kibana-fips/builds/24)

- Fixes OpenSSL compilation so that it does not overwrite the OS version
and break OS functionality.
- Fixes issue where ES would not start due to ML pipe being unable to
write to Vagrant synced folder.
  - Reenabled ML in FIPS pipeline
- Fixes permission where Kibana could not write UUID file.
- Fixes smoke test exit code not reporting correctly.
- Fixes Buildkite annotation for failed tests
[example](https://buildkite.com/elastic/kibana-fips/builds/23).
- Switches the base VM image from RHEL9 to Ubuntu due to RHEL9
subscription requirements to install repo packages.
- This blocked installing Chrome, causing tests using Webdriver to fail.

---------

Co-authored-by: Dzmitry Lemechko <dzmitry.lemechko@elastic.co>
## Summary

1. Added optional role description field for Save/Edit Role page.
2. Added tooltip with description for roles ComboBox that we render on
the User and Role Mappings pages.
<details>
<summary>3. Updated <b>RolesGridPage </b>table responsive
setup.</summary>
  <br>
<table>
  <tr>
    <td>[Before] responsiveBreakpoint={false}</td>
     <td>[After] responsiveBreakpoint={true}</td>
  </tr>
  <tr>
<td><img alt="Before"
src="https://github.com/elastic/kibana/assets/165678770/d8290299-e8c8-4c00-abee-ad1fe909df1d"></td>
<td><img alt="After"
src="https://github.com/elastic/kibana/assets/165678770/917e2c78-6291-43f0-ab7e-7583c51fd69d"></td>
  </tr>
 </table>

</details>



https://github.com/elastic/kibana/assets/165678770/7035c05b-85c6-4da0-97d3-85f6d2dbc313


### Checklist

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed.
[Report](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/5960)
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### For maintainers

- [x] 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)

__Fixes: https://github.com/elastic/kibana/issues/173570__

## Release note
Added optional role description field for Save/Edit Role page.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Partially reverts elastic#183334. Some
services using kibana as a base expect it to exist for running health
checks.


cc @jsoriano
‼️ Should be reverted if
elastic/elastic-agent#4747 does not make
8.15.0.

## Summary

Resolves elastic#180778 

This PR allows agent log level to be reset back to the level set on its
policy (or if not set, simply the default agent level, see
elastic/elastic-agent#3090).

To achieve this, this PR:
- Allows `null` to be passed for the log level settings action, i.e.:

```
POST kbn:/api/fleet/agents/<AGENT_ID>/actions
{"action":{"type":"SETTINGS","data":{"log_level": null}}}
```
- Enables the agent policy log level setting implemented in
elastic#180607
- Always show `Apply changes` on the agent details > Logs tab
- For agents >= 8.15.0, always show `Reset to policy` on the agent
details > Logs tab
- Ensures both buttons are disabled if user does not have access to
write to agents

<img width="1254" alt="image"
src="https://github.com/elastic/kibana/assets/1965714/bcdf763e-2053-4071-9aa8-8bcb57b8fee1">

<img width="1267" alt="image"
src="https://github.com/elastic/kibana/assets/1965714/182ac54d-d5ad-435f-9376-70bb24f288f9">

### Caveats
1. The reported agent log level is not accurate if agent is using the
level from its policy and does not have a log level set on its own level
(elastic/elastic-agent#4747), so the initial
selection on the agent log level could be wrong
2. We have no way to tell where the log level came from
(elastic/elastic-agent#4748), so that's why
`Apply changes` and `Reset to policy` are always shown

### Testing
Use the latest `8.15.0-SNAPSHOT` for agents or fleet server to test this
change

### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [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
…ld always be visible and must be visible on keyboard focus (elastic#183513)

Closes: elastic/observability-dev#3361

## Description

The Obs Alerts have a button for opening an `Inspect Alerts table` modal
that is only visible on `:hover`. This button is easily missed by
keyboard navigation because it is not visible on `:focus`. My
recommendation is the button should **always** be visible and must be
visible when it receives focus. Screenshot attached below.

### Steps to recreate

1. Open the [Obs
Alerts](https://keepserverless-qa-oblt-b4ba07.kb.eu-west-1.aws.qa.elastic.cloud/app/observability/alerts)
table
2. Create an alert that's sure to fire, like a custom threshold that's
very low, like 100 or 1000 documents
3. Run the alert rule from the `Rules` view
4. When the alert appears in `Alerts`, tab through to the data grid
5. Watch closely for focus to "disappear"
6. Press `Tab` again and focus should reappear
7. Now press `Shift + Tab` to make focus disappear again
8. Press `Enter` and verify the modal opens

### What was done?:
1. `&:focus-visible` styles were added to correctly handle keyboard
navigation

### Screen:


https://github.com/elastic/kibana/assets/20072247/c8644009-e966-4e19-920a-62cf04b741a6
… that must be keyboard focusable (elastic#183523)

Closes: elastic/observability-dev#3379

## Description

The Obs Alert Detail view has a table with several tooltips that are not
keyboard focusable. Screenshot attached below.

### Steps to recreate

1. Open the [Obs
Alerts](https://keepserverless-qa-oblt-b4ba07.kb.eu-west-1.aws.qa.elastic.cloud/app/observability/alerts)
table
2. Click the "Manage Rules" link
3. Create a new rule and verify it appears in the Rules table if you
have none that are generating alerts
4. When the rule appears in the Rules table, click the `[ ... ]` menu
and then click "Run rule"
5. After the rule runs, go back to the `Alerts` view and click on the `[
... ]` menu in the data grid, then click on "View alert details"
6. Tab through the page until you get to the table
7. Verify the tooltips can be accessed with mouse hover, but not
keyboard focus

### What was changed?: 

1. **EuiTooltip** was replaced to **EuiIconTip**


### Screen 


https://github.com/elastic/kibana/assets/20072247/11d66ff6-9139-43fe-93fd-94c6dbb3be4e
mistic and others added 28 commits May 22, 2024 21:22
## Summary

Fixes needed for getting CI to pass when EUI throws an error if
attempting to render a component without the EuiProvider in the render
tree.

## Detailed description
In elastic#180819, I will deliver a
change that will cause EUI components to throw an error if the
EuiProvider context is missing. This PR comes in as part of the final
work to get all functional tests passing in an environment where EUI
will throw the error. The tied to the ["Fix 'dark mode' inconsistencies
in Kibana" Epic](elastic/kibana-team#805) has
so far been in preparation for this.

**Reviewers: Please interact with critical paths through the UI
components touched in this PR, ESPECIALLY in terms of testing dark mode
and i18n.**

<img width="1107" alt="image"
src="https://github.com/elastic/kibana/assets/908371/c0d2ce08-ac35-45a7-8192-0b2256fceb0e">

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
## Summary

Removing Update logic for Findings table from Client Side as well as
overriding table column name
…84040)

## Summary
Part of Quick Wins, fix for issue where CIS widget collides/overflow
with next widget's outline stroke
<img width="1443" alt="Screenshot 2024-05-22 at 9 30 45 AM"
src="https://github.com/elastic/kibana/assets/8703149/06a54012-6f49-4383-b360-8f00ce79e8ba">
## Summary

Part of elastic#183971

This PR suppresses the errors in the editor when the query is empty.

It also sets the editor in a read only state when the query is not set
and the user hasn't focused. Read only means that the validation won't
run. At the point the user focuses on the editor, the validation will
start running again.


![meow](https://github.com/elastic/kibana/assets/17003240/636a9d12-6b0e-4533-8f6a-d63664336178)![meow1](https://github.com/elastic/kibana/assets/17003240/911450a0-96bc-4627-9fff-bbdc8aadfa2a)
…stic#183886)

## Summary

Part of elastic#180588

Caching the sources in the editor in order to not retrieve them every
time a user is typing something. This is an important performance boost
for the editor.

There are more things wrong, for example we are always fetching the
metadata. I think this is wrong, the metadata is and will always be a
static list. This should be cleaned up in a follow up PR
…astic#183994)

## Summary

Fixes elastic#181666

The timeline would reset after changing to the ESQL tab due to a
location update from the embedded Discover component. This adds a
workaround on our end to prevent the reset. A more detailed
investigation can be found in the linked issue above.
…o fleet usage telemetry (elastic#184056)

## Summary

Resolves elastic#148720

elastic/telemetry#3490 needs to be merged and
post-merge action items done before these fields show in telemetry
clusters

### Testing

Fleet usage logger:
1. Change the
[interval](https://github.com/jen-huang/kibana/blob/ca5af82dd921fd1d12849e78e0f7f0234189a9bf/x-pack/plugins/fleet/server/services/fleet_usage_logger.ts#L59)
of the `FleetUsageLogger` to e.g. `1m`.
2. Wait for the log line and ensure that `fleet_server.inactive` and
`fleet_server.unenrolled` are included:
```
[2024-05-22T12:03:07.606-07:00][DEBUG][plugins.fleet] Fleet Usage: {"agents_enabled":true,"agents":{"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"inactive":0,"unenrolled":0,"total_all_statuses":0,"updating":0},"fleet_server":{"total_all_statuses":0,"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"updating":0,"inactive":0,"unenrolled":0,"num_host_urls":0},"license_issued_to":"elasticsearch"}
```

Fleet usage sender:
1. Change the
[interval](https://github.com/elastic/kibana/blob/ca5af82dd921fd1d12849e78e0f7f0234189a9bf/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts#L30)
of the `FleetUsageSender` to e.g. `1m`.
2. Wait for the log line and ensure that `fleet_server.inactive` and
`fleet_server.unenrolled` are included:
```
[2024-05-22T12:05:17.577-07:00][DEBUG][plugins.fleet] Fleet usage telemetry: {"agents_enabled":true,"agents":{"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"inactive":0,"unenrolled":0,"total_all_statuses":0,"updating":0},"fleet_server":{"total_all_statuses":0,"total_enrolled":0,"healthy":0,"unhealthy":0,"offline":0,"updating":0,"inactive":0,"unenrolled":0,"num_host_urls":0},"packages":[{"name":"nginx","version":"1.20.0","enabled":false},{"name":"system","version":"1.58.0","enabled":false},{"name":"synthetics","version":"1.2.1","enabled":false}],"agent_checkin_status":{"error":0,"degraded":0},"agents_per_policy":[],"agents_per_os":[],"fleet_server_config":{"policies":[]},"agent_policies":{"count":0,"output_types":[]},"agent_logs_panics_last_hour":[],"agent_logs_top_errors":[],"fleet_server_logs_top_errors":[],"license_issued_to":"elasticsearch"}
```

### Checklist

Delete any items that are not applicable to this PR.

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
…filters in the custom threshold rule on the Logs Explorer page (elastic#183900)

Fixes elastic#183710

## Summary

This PR fixes the issue of saving prefilled filters in the custom
threshold rule by using `getSearchConfiguration` every time the
serachConfiguration is saved in rule parameters. Now,
`getSearchConfiguration` does two things:
1. Ensure the query has the correct type (`Qurey`), or it will be set as
the default query.
2. Adjust filters by removing `$state` and only keeping `meta` and
`query`

Also, I adjusted the related type to exclude `$state`.

### How to test



https://github.com/elastic/kibana/assets/12370520/9d69e601-d021-4ae3-8baf-88286d3716fe
…jects (elastic#184022)

## Summary

Include [`security_detection_engine`
package](https://github.com/elastic/integrations/tree/d2a74171c8fc32fd8754af0a2dd733669b5f6578/packages/security_detection_engine)
into the list of excluded packages for Observability projects in Elastic
Serverless.

Relates elastic/integrations#9849
Relates elastic/integrations#9938


### For maintainers

- [x] 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)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary

Close elastic#182910

Add the ability to declare recursive schemas. Updates
`@kbn/config-schema` to support recursive types. This design follows the
underlying pattern provided by Joi:
https://joi.dev/api/?v=17.13.0#linkref:

```ts
      const id = 'recursive';
      const recursiveSchema: Type<RecursiveType> = schema.object(
        {
          name: schema.string(),
          self: schema.lazy<RecursiveType>(id),
        },
        { meta: { id } }
      );
```

Since using the `.link` API we are also using `.id` which enables us to
leverage this mechanism OOTB with `joi-to-json` for OAS generation (thus
we could delete a lot of code there).

I chose to avoid using `id` originally because I thought it would be
simpler if we control more of the conversion in config-schema's case but
for recursive schemas and references I think this is a favourable trade
off. Open to other ideas!

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…d logging (elastic#183915)

## Summary

Closes elastic#182881 

Not sure what went wrong with this test btu I did find the structure
slightly more complicated than needed, I have moved the beforeEach data
loading into the test body and removed the describe blocks.

I have also removed the afterEach, we really shouldnt need to delete the
data twice 😓

I have done [a 200 flaky test
run](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6059#018f9b55-2231-4655-ab35-c6f26aa49720)
🟠 173 succeeded and 2 failed due to a bootstrap issue which caused the
others not to run.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Copy link

Documentation preview:

@jughosta jughosta closed this May 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment