Commit graph

85777 commits

Author SHA1 Message Date
Kuba Soboń
e27210a95f
[CSPM][Tests] Update integration test command (#216769)
## Summary

Updated command to run integration tests, the old one does not work.
2025-04-03 13:36:50 +02:00
Sergi Romeu
56c2d1073b
[A11y][APM] Add error text in environment filter when input is invalid (#216782)
## Summary

Closes #212212

This PR adds an error text to display when the input in the environment
filter is invalid.

## Before 

![image](https://github.com/user-attachments/assets/d0144dc0-57a3-4ccf-b1a3-d77ba5bbc8c5)
## After

![image](https://github.com/user-attachments/assets/c4acb759-ede1-4935-8f94-04d034245b25)
2025-04-03 13:31:48 +02:00
Irene Blanco
5c950b4f3e
[Discover][APM] Add duration section to overview tab in flyout and include basic duration information (#216291)
## Summary

Closes https://github.com/elastic/kibana/issues/214446

This PR introduces a new section in the span/transaction overview flyout
that will display the duration information along with a latency chart.
For now, only the duration data is included.

|Scenario||
|-|-|
|Span w/ `transaction.id`|![Screenshot 2025-03-28 at 13 00
04](https://github.com/user-attachments/assets/66b54f58-0474-4424-81ad-688ae0492273)|
|Span w/o `transaction.id`|![Screenshot 2025-03-28 at 13 00
27](https://github.com/user-attachments/assets/ed76c0e4-e5a3-465a-86b4-4e507237f5ac)|
|Transaction w/ `parent.id`|![Screenshot 2025-03-28 at 13 01
25](https://github.com/user-attachments/assets/14ec2d14-33ab-41de-a2e7-3c3d85f69cc3)|
|Transaction w/o `parent.id` (root transaction)|![Screenshot 2025-03-28
at 13 01
57](https://github.com/user-attachments/assets/5345bee5-3b64-45b8-91e3-374444b11b40)|


Given that both spans and transactions require retrieving data from
their respective parents, a loader has been added to reflect the ongoing
data-fetching process:

![Screen Recording 2025-03-28 at 13 02
04](https://github.com/user-attachments/assets/6fdebfda-c5e2-487a-a3af-e84d192fd512)

## Tech details

The UI for displaying the duration and its percentage relative to the
parent is already in use in APM for spans and transactions, so the logic
is consistent with that.

To avoid duplicating components and formatters, as seen in previous PRs
for Traces in Discover, a new `Duration` component has been created in a
newly created `kbn-apm-ui-shared` package. This component will be used
in Discover and [later](https://github.com/elastic/kibana/issues/211781)
in APM as well.

## How to test

- Enable the discover profiles by adding this to the` kibana.yml `file:
```discover.experimental.enabledProfiles:
  - observability-traces-data-source-profile
  - observability-traces-transaction-document-profile
  - observability-traces-span-document-profile
```
- Open Discover and select or create a data view that includes any APM
traces index (`traces-*`), or query them using ES|QL.
- Apply a filter for `data_stream.type:"traces"` to ensure only trace
documents are retrieved.
- Open the flyout.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>
2025-04-03 10:37:55 +01:00
Carlos Crespo
968dd5554e
Fix synthtrace OOM exception (#216686)
## Summary

Synthtrace was not properly freeing memory when `generatorStream` ended.
This PR fixes that.

The log entries below were printed at 5s interval

```before

 debg cpu time: (user: 718mss, sys: 43ms), memory: 150mb/194mb
 debg cpu time: (user: 2326mss, sys: 550ms), memory: 123mb/173mb
 debg cpu time: (user: 1424mss, sys: 114ms), memory: 167mb/192mb
 debg cpu time: (user: 2829mss, sys: 603ms), memory: 147mb/201mb
 debg cpu time: (user: 1999mss, sys: 155ms), memory: 176mb/210mb
 debg cpu time: (user: 3350mss, sys: 651ms), memory: 192mb/228mb
 debg cpu time: (user: 2517mss, sys: 197ms), memory: 199mb/242mb
 debg cpu time: (user: 4006mss, sys: 697ms), memory: 210mb/257mb
 debg cpu time: (user: 2748mss, sys: 216ms), memory: 238mb/277mb
 debg cpu time: (user: 5557mss, sys: 878ms), memory: 211mb/250mb
 debg cpu time: (user: 3060mss, sys: 251ms), memory: 270mb/297mb
```
after 

```bash
debg cpu time: (user: 725mss, sys: 41ms), memory: 136mb/189mb
debg cpu time: (user: 2232mss, sys: 544ms), memory: 106mb/194mb
debg cpu time: (user: 1122mss, sys: 69ms), memory: 117mb/179mb
debg cpu time: (user: 2670mss, sys: 577ms), memory: 117mb/185mb
debg cpu time: (user: 1438mss, sys: 82ms), memory: 166mb/193mb
debg cpu time: (user: 3148mss, sys: 606ms), memory: 149mb/187mb
debg cpu time: (user: 1875mss, sys: 109ms), memory: 129mb/190mb
debg cpu time: (user: 3669mss, sys: 629ms), memory: 133mb/178mb
debg cpu time: (user: 2252mss, sys: 150ms), memory: 114mb/182mb
debg cpu time: (user: 4158mss, sys: 663ms), memory: 104mb/187mb
debg cpu time: (user: 2576mss, sys: 161ms), memory: 147mb/188mb
```

Upon terminating the process

before

```bash
^C info Tearing down after kill signal
 debg Ending 28 generator streams
 debg Ending 1 client streams
```

after

```bash
^C info Tearing down after kill signal
 debg Ending 1 client streams
```

### How to test 

Run `node scripts/synthtrace.js slash_logs --live
--kibana=http://elastic:changeme@localhost:5601
--target=http://elastic:changeme@localhost:9200 --liveBucketSize=1000
--logLevel debug`

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-03 11:10:19 +02:00
Gergő Ábrahám
37c2454b95
[EDR Workflows] Fix metering cypress test (#215513)
## Summary

this PR aims to reduce flakiness in metering.cy.ts test.

- fix on constant fail: a small change was needed for metering tests: to
not expect https connection by the dummy telemetry server
- improvement against flakiness: the test tends to fail if metering task
is performed while mock heartbeats are being indexed, therefore the task
interval has been increased from 1 minute to 3 minutes. on CI it takes
less than 2 minutes to start up Kibana and index the heartbeats, so with
3 minutes we should be okay for a while.

flaky runner: 100%
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8114
- all jobs were done in 8-9 minutes, which shows that they succeeded the
first time, without the internal retry mechanism.

> [!important]
> ~45c0a33d88 needs to be reverted before
merging~

closes: https://github.com/elastic/kibana/issues/187083

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
2025-04-03 09:50:20 +02:00
Mashhur
c4ad8cbe8c
[Usage collection] Replace agent.type with hard coded value to categorize monitoring type correctly. (#216391)
## Summary
Collection type was set with `agent.type` which conflicts on stack and
metricbeat monitorings (same `metricbeat` value). For the stack
monitoring, elastic-agent internally utilizes filebat or metricbeat.
This change hard codes the `collection_types` corresponding on each
monitoring type to categorize monitoring type correctly.



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- ~~[ ] 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/src/platform/packages/shared/kbn-i18n/README.md)~~
- ~~[ ]
[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
- ~~[ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)~~
- ~~[ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.~~
- ~~[ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed~~
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

- [ ] 


### Example data
- when stack monitoring
```
{
    "clusterUuid": "WKhHGcv8Rt6nHwKRmKDdAw",
    "stats": {
      "collectionSource": "monitoring",
      "cacheDetails": {
        "updatedAt": "2025-03-31T23:07:32.154Z",
        "fetchedAt": "2025-03-31T23:07:33.349Z"
      },
      "cluster_name": "logstash",
      "timestamp": "2025-03-31T23:07:32Z",
      "version": "9.1.0",
      "cluster_uuid": "WKhHGcv8Rt6nHwKRmKDdAw",
      "stack_stats": {
        "logstash": {
          "versions": [
            {
              "version": "9.1.0",
              "count": 1
            }
          ],
          "count": 1,
          "cluster_stats": {
            "pipelines": {
              "count": 1,
              "batch_size_total": 125,
              "batch_size_max": 125,
              "batch_size_min": 125,
              "batch_size_avg": 125,
              "workers_total": 10,
              "workers_max": 10,
              "workers_min": 10,
              "workers_avg": 10,
              "sources": {
                "file": true
              }
            },
            "plugins": [
              {
                "name": "logstash-input-heartbeat",
                "count": 1
              },
              {
                "name": "logstash-filter-ruby",
                "count": 1
              },
              {
                "name": "logstash-filter-mutate",
                "count": 1
              },
              {
                "name": "logstash-output-stdout",
                "count": 1
              }
            ],
            "monitoringClusterUuid": "WKhHGcv8Rt6nHwKRmKDdAw",
            "collection_types": {
              "agent": 1
            },
            "queues": {
              "memory": 1
            }
          }
        }
      },
      "cluster_stats": {}
    }
  }
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-03 08:06:38 +01:00
Kibana Machine
3c87833a0a
[api-docs] 2025-04-03 Daily api_docs build (#216945)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/1031
2025-04-03 07:18:02 +01:00
Jiawei Wu
4bdea60433
[Response Ops][Task Manager] Run tasks as the current user (#205577)
## Summary

Resolves: https://github.com/elastic/kibana/issues/190661

This PR allows tasks to be ran scoped as the current user. It
accomplishes this by creating an API when the user schedules this task.
It will then persist the API key in the task instance which allows the
task handler to have access to the user's privileges.

To test: 

1. Run `yarn start --run-examples`
2. Navigate to
`http://localhost:5601/app/triggersActionsUiExample/task_manager_with_api_key`
3. Click on `Schedule Task 1 and 2`, this will schedule a mock test that
is defined in
`x-pack/platform/plugins/shared/alerting/server/plugin.ts`, which prints
out the task instance and the scoped clients.
4. Click on `Remove` to cancel the task, which then cleans up and
invalidates the API keys.
5. Reschedule the 2 tasks and click on `Remove All Tasks` which will
bulk remove tasks and invalidate API keys.

Limitation of this approach:
- Because we depend on a request, this would mean every schedule that is
tied to a user needs to be triggered using a request. (Unless we have a
way of generating an API key without using the request).

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 19:09:07 -06:00
Alexi Doak
8c4dc2e77b
Update puppeteer to 24.4.0 (#215944)
Resolves https://github.com/elastic/response-ops-team/issues/287
## Summary

Updates puppeteer to 24.4.0

 Tested locally, on cloud, and on windows


> [!NOTE]
> There is a known issue that print-mode PDF is not working for Mac
arm64, but will be fixed in this
[PR](https://github.com/elastic/kibana/pull/216688)
2025-04-02 14:08:02 -07:00
elastic-renovate-prod[bot]
34ba08d0cb
Update LaunchDarkly (main) (#216366) 2025-04-02 21:52:36 +01:00
Nathan Reese
45b7af2fbd
[dashboard] fix State being dropped when editing visualize embeddables (#216901)
Closes https://github.com/elastic/kibana/issues/216886

8.17 and 8.16 resolve in branch specific patch
https://github.com/elastic/kibana/pull/216910

### Problem
1) Open previously saved empty dashboard. `panels$.value` is `{}`
2) add new markdown panel. This takes you to visualize editor. On return
to dashboard, embeddable state transfer service contains the markdown
embeddable runtime state. `panels$.value` is `{ markdownPanelId: {
explicitInput: {}}}`. Markdown panel is rendered with empty
serializedState and runtimeState from embeddable transfer service.
3) Click save dashboard. This is where the bug lies. `panels$.value` is
not updated to `{ markdownPanelId: { explicitInput: { // serializedState
}}}` but instead, remains unchanged.
4) Click duplicate panel. New panel is added to `panels$.value`. This
triggers unsaved changes to be stored in session storage. Unsaved
changes store `panels$.value` so `{ markdownPanelId: { explicitInput: {
// empty!!! }}, duplicatedMarkdownPanelId: { explicitInput: {
serializedState }}}` is put into session storage
5) Edit duplicated markdown panel. This takes you to visualize editor.
On return to dashboard, embeddable state transfer service contains the
new markdown embeddable runtime state for the duplicated panel. This is
where things start to fall apart. The dashboard state is loaded from
saved object state and `panels` contains the serialized state for both
`markdownPanelId` and `duplicatedMarkdownPanelId`. Then unsaved changes
state is loaded from dashboard session and replaces dashboard saved
state. This causes the first markdown panel to render with empty
serializedState.


### Solution
The problem is resolved by updating `panels$` on save. This causes step
4 to store the current serializedState in unsaved changes.
2025-04-02 14:12:27 -06:00
Tim Sullivan
d17b301d35
[User Profile Settings] Implement toggle for high contrast mode (#216242)
## Summary

Closes https://github.com/elastic/kibana/issues/176219
Depends on https://github.com/elastic/kibana/pull/215698

EUI provides documentation about high contrast mode. This includes info
about when it is enabled automatically, and some developer utilities.
See: https://eui.elastic.co/#/theming/high-contrast-mode


![high-contrast-demo](https://github.com/user-attachments/assets/98c150e3-1d12-4388-8eb5-e71924afaf17)

## Release note
Added an option to User Settings that allows the Kibana interface to
display in a high contrast mode.
2025-04-02 21:04:20 +01:00
Søren Louv-Jansen
1c5e1479d7
[Obs AI Assistant] Improvements to KB test utils (#216733)
This updates the Knowledge base test utils and adds test for index asset
creation.

### `setupKnowledgeBase`

#### Before
```
await importTinyElserModel(ml);
await setupKnowledgeBase(observabilityAIAssistantAPIClient);
await waitForKnowledgeBaseReady({ observabilityAIAssistantAPIClient, log, retry });
```

#### After
```
await setupKnowledgeBase(getService);
```

### `deleteKnowledgeBaseModel`

#### Before
```
await deleteKnowledgeBaseModel(ml);
await deleteInferenceEndpoint({ es });      
```

#### Before
```
await deleteKnowledgeBaseModel(getService);
```

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>
2025-04-02 21:02:50 +01:00
Drew Tate
2fda88c166
[ES|QL] Autocomplete for STATS...WHERE (#216379)
## Summary

Resolve https://github.com/elastic/kibana/issues/209359

(No match operator or full-text search functions)

### 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/src/platform/packages/shared/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
2025-04-02 20:37:49 +01:00
Alejandro Fernández Haro
7bf76b0e7a
[Status logging] More performant throttling (#216534) 2025-04-02 21:10:47 +02:00
Ievgen Sorokopud
63f010c41f
[Attack Discovery] Share actionsClient within the rule execution context (#10142) (#216644)
## Summary

Main ticket ([Internal
link](https://github.com/elastic/security-team/issues/12004))

We are working on a new AI Assistant feature which will allow users to
schedule Attack Discovery generation. It will also allow users to setup
actions. The plan is to use alerting framework for that and create a new
rule type with executor handler. One thing which is missing right now is
the `actionsClient` (to get access and use AI connectors) within the
executor context.

With these changes, we expose `actionsClient` within the
`RuleExecutorOptions` for Attack Discovery Schedule rule type.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 20:35:09 +02:00
Ioana Tagirta
00e776f166
Add autocomplete support for all field types (#216765) 2025-04-02 19:56:01 +02:00
Arturo Lidueña
50c2237757
update retrieve_elastic_doc api test (#215237)
Related: https://github.com/elastic/kibana/issues/180787

- Update test for `retrieve_elastic_doc` function

---------

Co-authored-by: Søren Louv-Jansen <sorenlouv@gmail.com>
Co-authored-by: Viduni Wickramarachchi <viduni.ushanka@gmail.com>
2025-04-02 18:43:03 +01:00
David Luna
fba2d2b809
Add default metrics dashboard for Node.js OTel (#215735) 2025-04-02 19:00:46 +02:00
seanrathier
2b987bea61
[Cloud Security] Remove check for latest agent available version in AgentlessDeploymentUpgrade task (#215248) 2025-04-02 18:00:09 +01:00
Kerry Gallagher
e8f2a7f78e
[Streams] Support more processors via config driven processors (#216168)
## Summary

Closes https://github.com/elastic/streams-program/issues/38.

- Adds configuration driven support for processors
- Adds support for the following processors:
  - Geoip
  - KV
  - Rename
  - Set
  - URL Decode
  - User agent 

## Notes

- `if` is now conditional as not all processors support a condition

- With `set` you can either have a `value` OR a `copy_from`. To avoid
types, form, and validation complexity for now I've just allowed the use
of `value`.

- I didn't add `extract_device` to the user agent configuration as it's
Beta.

## Future improvements

- We could add configuration for the grok, dissect, and date processors
too. This would align things so that each processor has things "in one
place". We could extend the field types available to provide a `custom`
type, this would allow those processors to return a React component for
their specialised fields / UI (still driven by `react-hook-form` under
the hood). Overall the code footprint would decrease.

- A couple of types can possibly be refined but I wanted to try and get
this open before the Milestone 2 deadline.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 17:27:13 +01:00
Kyra Cho
ec32de9c4a
[Obs AI Assistant] Only allow .ndjson files when bulk importing to the knowledge base (#215433) 2025-04-02 12:23:39 -04:00
Julia Rechkunova
43b6cc4c1d
[Discover][ES|QL] Fix JSON view for ES|QL record in DocViewer (#216642)
- Closes https://github.com/elastic/kibana/issues/214805

## Summary

By default ES|QL records don't have `_id` unless it's requested via the
query `METADATA`.
This PR fixes the JSON view inside DocViewer for ES|QL records.
Previously it was relying on `textBasedHits` which gets updated when
query changes hence there is a possibility of loosing the reference to
the last viewed record.

## Testing

Example queries:
```
FROM kibana_sample_data_ecommerce METADATA _index
FROM kibana_sample_data_ecommerce METADATA _index, _id
```

### 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
2025-04-02 17:59:03 +02:00
Michel Losier
cc09a96efe
Optional ssl for fleet logstash output (#216216)
## Summary

Resolves: https://github.com/elastic/kibana/issues/145266

* Allows SSL configuration to be disabled for Fleet agent logstash
output
  * Adds an SSL toggle in the logstash output form.
  * On is the default state of the form
  * When off:
    * Authentication form section is removed
    * Logstash input config has SSL related fields removed
* Submitting update removes SSL fields and related SSL secrets in output
config
    * Shows a call out to proceed with caution
2025-04-02 08:36:32 -07:00
Alex Prozorov
8a7860cf61
[Cloud Security] fix cnvm and cspm agentless flaky tests (#216793)
## Summary

This PR fixes the flakiness of in the following issues -
[190967](https://github.com/elastic/kibana/issues/190967) and
[209529](https://github.com/elastic/kibana/issues/209529).
the observed issue was that the loader in the page headers sometimes
remains on the screen even though the modal is already visible. Seems
like its stuck sometimes. Therefore changed the check to see if the
'Launch Cloud formation' button exists instead of relying on the loader
indicator.


### Checklist

Reviewers should verify this PR satisfies this list as well.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-04-02 18:30:27 +03:00
Luke Gmys
26d1255edd
[Security Solution] Replace sourcerer in global header (#216685)
## Summary

This PR replaces the Sourcerer component with the data view picker from
discover app, if the feature flag is enabled.

<img width="600" alt="Screenshot 2025-04-02 at 09 46 21"
src="https://github.com/user-attachments/assets/7ec35bf5-12dc-4e72-9292-4a734034806f"
/>

**Until we add relevant hooks on the target page that has the global
header, this will only be a cometic change.**
Don't expect data view changes made in the picker to be applied just
yet.

### Testing

Add the following feature flag to your configuration:

```xpack.securitySolution.enableExperimental: ['newDataViewPickerEnabled']```

and navigate to a page with global header, eg. alerts.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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

### Identify risks
We should still show the original sourcerer if the flag is not enabled
2025-04-02 16:22:48 +01:00
Nicolas Chaulet
a750c7366e
[Fleet] Do not allow to edit anything else than namespace for managed policies (#216701) 2025-04-02 16:06:02 +01:00
Steph Milovic
73974a2f88
[Security solution] Read config from preconfigured connectors in Assistant/Attack Discovery (#216700) 2025-04-02 09:04:06 -06:00
Saikat Sarkar
230354b6c9
[Search Playground] Add Search execution time badge (#216711)
## Summary

This PR adds an execution_time badge in the Preview of Search
Playground.

![Screenshot 2025-04-01 at 1 42
26 PM](https://github.com/user-attachments/assets/af76abd8-3b66-4ffd-9687-f3330f778569)

### Feature Flag

** This work is behind the `searchPlayground:searchModeEnabled` feature
flag **
Enable feature with Dev Tools
```
POST kbn:/internal/kibana/settings/searchPlayground:searchModeEnabled
{"value": true}
```
OR
Enable feature in `kibana.dev.yml`
```yaml
uiSettings.overrides:
  'searchPlayground:searchModeEnabled': true
```


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-04-02 08:56:44 -06:00
Maria Iriarte
972da88f8f
[Lens/SCSS] Migrate tooltip.scss file (#215702)
## Summary

Part of https://github.com/elastic/kibana/issues/208908

Replaces `tooltip.scss` file to css-in-js .

## Considerations

We copied the styles found in the
[euiToolTipStyle](80dacb3dcc/packages/eui/src/global_styling/mixins/_tool_tip.scss (L1))
mixing that the .scss file is using the right background and color
tokens .

<!--

We want to replace `euiToolTipStyle` mixin that we can find in the file
that we want to migrate:


8d81ed4a5b/src/platform/plugins/shared/chart_expressions/expression_xy/public/components/tooltip/tooltip.scss (L3)

We decided to follow a similar approach to the one used here:


12aa3fc6ca/x-pack/platform/plugins/shared/ml/public/application/components/chart_tooltip/chart_tooltip_styles.ts (L12)

That imports from:


f615b48410/packages/eui/src/components/tool_tip/tool_tip.styles.ts (L47)

However, the styles are not exactly the same as the ones found in the
mixing:


80dacb3dcc/packages/eui/src/global_styling/mixins/_tool_tip.scss (L1)

For this reason, we need to override some of the fields e.g. `position:
absolute` ➡️ `position: relative`.

As we can see in the comparison, the color looks different:

-->

### before
<img width="304" alt="Screenshot 2025-03-25 at 13 36 01"
src="https://github.com/user-attachments/assets/434ae0eb-0895-47a8-b959-624760f14492"
/>

### after

<!--

<img width="326" alt="Screenshot 2025-03-25 at 13 33 20"
src="https://github.com/user-attachments/assets/a172bd05-489d-4396-830a-72e4296328ab"
/>

-->

<img width="297" alt="Screenshot 2025-03-26 at 11 31 22"
src="https://github.com/user-attachments/assets/cd7727ff-764c-4bbe-b863-aa1ee01639bd"
/>


## Checklist

- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co>
Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
2025-04-02 16:49:22 +02:00
Davis McPhee
d08e5521f2
[Discover] Fix getAdditionalCellActions FTR tests (#216540)
## Summary

This PR fixes the `getAdditionalCellActions` FTR tests that started
failing due to an issue dismissing alerts.

Resolves #213300.
Resolves #213422.

### Checklist

- [ ] 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/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [x] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2025-04-02 11:45:08 -03:00
Mark Hopkin
5bfa0564ae
[Entity Analytics][Entity Store] Fix error callout placement on engine status page (#216228)
## Summary

The error callouts were getting squished to the side, I have moved them
to be in their respective engine section.

**Before**

<img width="1728" alt="Screenshot 2025-03-27 at 11 05 38"
src="https://github.com/user-attachments/assets/c244acd1-a75e-4b43-a509-8bff9966b31e"
/>


**After**
<img width="1728" alt="Screenshot 2025-03-27 at 19 39 53"
src="https://github.com/user-attachments/assets/2b0dd9ad-568a-4e9c-aad7-6922b2085d69"
/>

Bonus refactor:

I have added type definitions for the error object keys on the engine
status object and moved the error callout to a common component as it's
now used in 3 places.


## Test Steps

the easies way to test this is to try and init the entity store in a
space that is lobger than 45 chars long.

- create a space with a very long name e.g
'this_is_a_very_long_space_name_indeed_hello_world_123456789'
- enable the entity store from the entity analytics dashboard (it should
error)
- navigate to the entity store management page to see the error
callouts.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 15:29:24 +01:00
Nathan Reese
58508856be
[dashboard] optimize chunk loading (#216207)
### Before
<img width="300" alt="Screenshot 2025-03-27 at 10 25 03 AM"
src="https://github.com/user-attachments/assets/b161e177-e450-4266-9374-515e6b60bc70"
/>

### After
<img width="300" alt="Screenshot 2025-03-27 at 10 24 21 AM"
src="https://github.com/user-attachments/assets/d692dffa-7d12-4866-8b11-d4ac0ef2cd00"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-02 08:11:34 -06:00
Robert Stelmach
d92ecd4a17
[One Discover] Add 'Read More', 'Read Less' functionality to highlight_fields (#215326)
Added Read More/ Read Less functionality to fields in Document view in
Discover.
Also width of a field has been slightly increased.

<img width="766" alt="Screenshot 2025-03-21 at 11 10 02"
src="https://github.com/user-attachments/assets/771f0b0e-4613-4b5f-9785-558f22f44236"
/>
<img width="784" alt="Screenshot 2025-03-21 at 11 15 28"
src="https://github.com/user-attachments/assets/3b5a8b18-fbce-4cf6-9ede-9dfb70b33c2f"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 16:01:12 +02:00
Philippe Oberti
c1939bb647
[Security Solution] Fix alerts table grouping severity stats not showing badge (#216738)
## Summary

This PR fixes an issue introduced by [this
PR](https://github.com/elastic/kibana/pull/184635) back in `8.16`. I
don't think anyone noticed the problem until now...

In the PR linked above, the name of the property responsible to render
custom components in the group stats section of the alerts table
grouping was changed from `renderer` to `component` but there was (at
least) one usage that had not been updated. Because that usage wasn't
correctly typed and there was no unit tests to verify the behavior, the
issue went unnoticed...

### Notes

This whole code should be refactored eventually. This is not the purpose
of this PR. This only focuses on fixing the issue, adding proper types
and unit tests.

| Before | After |
| ------------- | ------------- |
| ![Screenshot 2025-04-01 at 5 00
16 PM](https://github.com/user-attachments/assets/c64b8140-4c16-4618-b8b0-0c295e9e35d5)
| ![Screenshot 2025-04-01 at 5 05
48 PM](https://github.com/user-attachments/assets/5b06ee16-b6eb-4d33-9510-75a80c569718)
|

### 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
2025-04-02 08:42:46 -05:00
Marshall Main
01ef04980f
[Security Solution][Detection Engine] Remove lastlookbackdate throughout rule executors (#216509)
## Summary

`lastLookbackDate` is a variable we used to use to set a field on the
SIEM rule status SOs, e.g.
[here](https://github.com/elastic/kibana/blob/main/x-pack/test/functional/es_archives/cases/migrations/7.11.1/mappings.json#L2068).
It contained the date from the last doc in the rule search results, if
there were any results. The last doc in the search results should be the
most recent one. Since we removed the SIEM rule status SOs, we have not
been storing this data anywhere so we don't need to compute it in the
rule executors anymore.
2025-04-02 09:40:18 -04:00
Paulo Silva
1b3b66b6de
[Asset Inventory] Add OnboardingSuccessCallout to the All Assets page (#216739)
## Summary

It closes https://github.com/elastic/kibana/issues/210717

This PR adds the OnboardingSuccessCallout component to the All Assets
page, but the component is only visible to the user who initiated the
Onboarding and it no longer shows once dismissed by the user.

Also, this PR adds the `checkAndInitAssetCriticalityResources` to the
enablement as it's required by the transforms installed during the
Entity Store initialization.

## Recording


https://github.com/user-attachments/assets/31130195-c67c-4a55-aa37-555d527f38f0
2025-04-02 06:37:40 -07:00
Stratoula Kalafateli
cf289cbd1e
[ES|QL] Fixes the field controls FT flakiness (#216747)
## Summary

Closes https://github.com/elastic/kibana/issues/216398

I also stabilized the values FT as it was also flaky 🤞 

### Checklist

- [ ] [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
2025-04-02 15:31:48 +02:00
Carlos Crespo
03f4b4892d
[Synthtrace] Fluent API for APM otel (#216099)
closes https://github.com/elastic/kibana/issues/216032

## Summary

Create a fluent API for APM Otel. The interface is similar to the one
currently used to create scenarios for elastic APM data.

This will make it easier to create tests and more flexible synthetic
scenarios to cover Otel specificities.

### How to test

- run `node scripts/synthtrace otel_simple_trace.ts --live --uniqueIds
--clean`

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-04-02 14:27:20 +01:00
Matthias Wilhelm
92d18e1553
[Discover] Unskip and improve a11y test (#216627) 2025-04-02 15:26:49 +02:00
Marco Antonio Ghiani
9268afecf7
[Streams 🌊] Enrichment - Add Schema editor on simulation outcome (#215824)
## 📓 Summary

Closes https://github.com/elastic/streams-program/issues/70

This work embed the Schema Editor into the enrichment part, such that
detected fields during the simulation can be directly mapped and saved
with the newly created processors.


https://github.com/user-attachments/assets/09a3fe48-4bfc-4501-8c2c-133b1290d884

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 14:22:18 +01:00
Ioana Tagirta
2687a8d73f
Dev console - improve autocomplete for ES|QL _query API (#216795) 2025-04-02 15:20:44 +02:00
Julia Rechkunova
dc78614d29
[Discover] Fix CSV for ES|QL embeddable (#216325)
- Closes https://github.com/elastic/kibana/issues/215893

## Summary

This PR extract the logic from Share > Export > Generate CSV into new
utils and uses it to fix CSV export for Dashboard panels.

<img width="903" alt="Screenshot 2025-04-01 at 12 05 58"
src="https://github.com/user-attachments/assets/20e611d7-b1da-4b50-a8fc-e18ac3db3a55"
/>


## Testing

Please test for both data view mode and ES|QL mode. The steps are the
following:
1. Save a discover session
2. Add it to a new dashboard
3. Save the Dashboard and switch to View mode
4. Via panel actions, press "Generate CSV report"
5. Compare the CSV results with what is shown in the grid
6. Add a custom time range to the panel via panel actions "Settings"
7. Generate a CSV report and compare results again

Also check that reporting still works when generated from Discover page.

### 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
- [x] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 15:14:55 +02:00
Ash
cf1cd55a49
[Ai4dSoc] Hide notes/timelines for search_ai_lake tier (#215334)
> [!CAUTION]
> Do not merge yet!
> This PR is mergeable based on the assumption that we do not allow
downgrading to `search_ai_lake` tier from `essentials`/`complete` or
`trial` `complete/essentals`.

## Summary

On serverless with following sets of product types/lines timelines and
notes are not available to the user.

```json5
[
  { product_line: 'ai_soc', product_tier: 'search_ai_lake' }
]
```
or 
```json5
[
  { product_line: 'security', product_tier: 'search_ai_lake' }
]
```
or with 
```json5
[
  { product_line: 'ai_soc', product_tier: 'search_ai_lake' },
  { product_line: 'security', product_tier: 'search_ai_lake' }
]
```

This applies to custom role creation flyout where timelines/notes
privileges are not available for RBAC.

### Screenshots (where timeline and notes are not available)

#### Custom role creation 
![Screenshot 2025-03-20 at 14 04
30](https://github.com/user-attachments/assets/5368b85e-ac29-4eac-a397-8f978c217369)

Also on alerts page notes and timelines is not available action items.
Trying to access these via URL does not show them either.

#### Current alerts page (with timelines and notes not available)
![Screenshot 2025-03-20 at 14 08
46](https://github.com/user-attachments/assets/735c0968-c8aa-4954-b8aa-4e6be53e147b)

#### Alert details via URL (without notes on the expanded flyout)
![Screenshot 2025-03-20 at 14 18
55](https://github.com/user-attachments/assets/8b47978f-12f7-4022-8a72-22de8f7652fc)


## How to Test

1. While on the Kibana root directory, run ES/Kibana on serverless mode
with:

```bash
yarn es serverless --kill --projectType security --kibanaUrl=http://0.0.0.0:5601
```
and on a new window
```bash
yarn serverless-security --no-base-path
```

Enable the AI for SOC tier, by adding the following to your
`serverless.security.dev.yaml` file:

```json5
xpack.securitySolutionServerless.productTypes:
  [
    { product_line: 'ai_soc', product_tier: 'search_ai_lake' },
  ]
```

2. Once Kibana is up and running login in with the `admin` role using
the role dropdown.
3. Navigate to `app/management/roles/edit`
4. Click on `Assign to space` button and assign a space to that role on
the `Assign role to spaces` flyout.
5. Expand the `Security` privileges and verify that only 4
sub-privileges are seen and that Timelines and Notes are not among them.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

### Identify risks

Does this PR introduce any risks? For example, consider risks like hard
to test bugs, performance regression, potential of data loss.

Describe the risk, its severity, and mitigation for each identified
risk. Invite stakeholders and evaluate how to proceed before merging.

- [ ] [See some risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)
- [ ] ...
2025-04-02 15:05:12 +02:00
Jordan
3f7e0ade8d
[Cloud Security] Generic Entity Flyout Fields Table and ECS adjustment (#215380) 2025-04-02 13:56:52 +01:00
Robert Jaszczurek
62a1589ed1
[ML] Replace Legacy Base Theme Usage (#216307)
Fix for: https://github.com/elastic/kibana/issues/213974
Replacing legacy base theme with appropriate theme from the charts hook.


| Before  | After |
| ------------- | ------------- |
| <img width="404" alt="decision_path_before_light"
src="https://github.com/user-attachments/assets/217cb07d-65a2-4ac0-948b-9950af1e2663"
/> |
![decision_path_after_light](https://github.com/user-attachments/assets/6c75ab42-2985-41c4-b095-9a469b765598)
|
|
![decision_path_before_dark](https://github.com/user-attachments/assets/a917b699-dae2-4146-b708-b0acd76daca8)
| <img width="403" alt="decision_path_after_dark"
src="https://github.com/user-attachments/assets/5fc47999-e8c6-48f1-9293-03f23ce437e0"
/> |
| <img width="769" alt="feature_importance_before_light"
src="https://github.com/user-attachments/assets/6d25f980-0dd2-4a6a-a43f-450afa76fa62"
/> |
![feature_importance_after_light](https://github.com/user-attachments/assets/eee1b0ee-1872-426b-a825-d9bcbcef2231)
|
| <img width="767" alt="feature_importance_before_dark"
src="https://github.com/user-attachments/assets/db7eb5d7-80b3-49fa-99a5-1ae204fdbcc6"
/> |
![feature_importance_after_dark](https://github.com/user-attachments/assets/d48efb1e-4e3d-45e8-be2c-4c071a3ca144)
|
| <img width="536" alt="datafeed_chart_before_light"
src="https://github.com/user-attachments/assets/a5230c96-50f4-4754-a09f-8fe429da5f8d"
/> | <img width="728" alt="image"
src="https://github.com/user-attachments/assets/12d37527-cdec-410c-a8db-3c1176a6e1c9"
/> |
| <img width="497" alt="datafeed_chart_before_dark"
src="https://github.com/user-attachments/assets/3db9a313-baed-4abd-9cec-33abffcfd9d9"
/> | <img width="732" alt="datafeed_chart_after_dark"
src="https://github.com/user-attachments/assets/b8bf681a-f873-43a7-ad2d-2775ae91d4e3"
/> |
| <img width="813" alt="anomaly_chart_before_light"
src="https://github.com/user-attachments/assets/cf7cab54-513f-40dc-bb28-dbb7d93850b5"
/> | <img width="805" alt="anomaly_chart_after_light"
src="https://github.com/user-attachments/assets/25b95962-00ec-4066-895a-71ee771609c9"
/> |
| <img width="795" alt="anomaly_chart_before_dark"
src="https://github.com/user-attachments/assets/a87e2f8e-b871-409a-9485-9b05a5195025"
/> | <img width="802" alt="anomaly_chart_after_dark"
src="https://github.com/user-attachments/assets/ac27f414-c5fa-409b-b289-4f629de4e729"
/> |
| <img width="799" alt="event_rate_chart_before_light"
src="https://github.com/user-attachments/assets/346fdfaf-4c71-4e1d-ad72-ac3ef8abde32"
/> | <img width="801" alt="event_rate_chart_after_light"
src="https://github.com/user-attachments/assets/23a14bee-bd89-4dea-ad67-c29116e7e275"
/> |
| <img width="797" alt="event_rate_chart_before_dark"
src="https://github.com/user-attachments/assets/7c255206-299c-4dfd-9134-06517f82ba23"
/> | <img width="810" alt="event_rate_chart_after_dark"
src="https://github.com/user-attachments/assets/6f2c912e-cdeb-4be4-84a1-1520eec65d01"
/> |
2025-04-02 14:47:42 +02:00
Jean-Louis Leysens
4d65a1027c
[Saved objects] Update import docs (#216658)
## Summary

Close https://github.com/elastic/kibana/issues/159453

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 14:44:38 +02:00
Andreana Malama
2989154605
[Lens] Suggest area charts (#216265)
## Summary

Fix #166362

This PR contains the following changes in order to include area charts
in the xy chart suggestions:

- If the current visualization is a `bar_stacked ` chart -> suggest an
`area_stacked ` chart
- If the current visualization is a `line ` chart -> suggest an `area`
chart

<img width="1203" alt="Screenshot 2025-03-28 at 11 17 33 AM"
src="https://github.com/user-attachments/assets/6a588c0d-0530-47e8-8ac9-81def7eeeb63"
/>
<img width="1195" alt="Screenshot 2025-03-28 at 11 17 58 AM"
src="https://github.com/user-attachments/assets/87219b61-2aa2-4aca-8df2-6e64986f7de4"
/>


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
2025-04-02 15:24:39 +03:00
Marshall Main
e303fb3d20
[Security Solution][Detection Engine] Simplify searchAfterBulkCreate (#216498)
## Summary

Long ago, we did multiple searches on each "page" of results to search
for both docs with the timestamp override and default `@timestamp`. We
then merged the results together before attempting to bulk create
alerts. We no longer do this, instead we have a simpler process that
just does one query per page so there's no need to merge search results
together.

We also used to build the `tuple` inside `searchAfterBulkCreate`, so we
had logic to verify if the tuple was created correctly. The time range
tuple is now calculated in the shared security wrapper, which is
responsible for any error handling. The TS types tell us that `tuple`
and its subcomponents can't be null, we don't need to check in
`searchAfterBulkCreate`.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-02 08:23:02 -04:00
Andreana Malama
40e02f1745
[Lens] Replace the inline quick function documentation icon and popover with tooltips (#216204)
## Summary

Fix #152522 

This PR replaces the inline quick function documentation icon and
popover (screenshot 1) with simple tooltips for every function
(screenshot 2).
<img width="670" alt="Screenshot 2025-03-31 at 8 15 17 PM"
src="https://github.com/user-attachments/assets/f98d065b-a82b-4807-9375-79994dab9117"
/>
<img width="635" alt="Screenshot 2025-03-31 at 8 14 12 PM"
src="https://github.com/user-attachments/assets/a3788318-27b5-4435-abf8-157dc9efd1df"
/>

If a function is disabled then the tooltip should show the
disabled-reason and not the documentation:

![Kapture 2025-03-31 at 20 21
05](https://github.com/user-attachments/assets/5a25fc1c-2017-427d-b3fc-5b7906d9c62b)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] 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/src/platform/packages/shared/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [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
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This was checked for breaking HTTP API changes, and any breaking
changes have been approved by the breaking-change committee. The
`release_note:breaking` label should be applied in these situations.
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] The PR description includes the appropriate Release Notes section,
and the correct `release_note:*` label is applied per the
[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: Marco Liberati <dej611@users.noreply.github.com>
2025-04-02 15:22:47 +03:00