Commit graph

83655 commits

Author SHA1 Message Date
elastic-renovate-prod[bot]
3a63d1cb50
Update dependency fuse.js to ^7.1.0 2025-02-10 14:12:23 +00:00
Charlotte Alexandra Wilson
8c7714a611
Clicking link in host/user flyout does not refresh details panel (#209863)
## Summary

This PR fixes the issue of navigation link behaviour not updating after
first click/update.


## Testing Steps 
1. Kibana - 8.18 
2. Generate some data using data generator and alerts. 
3. Enable Risk Score
4. Go to Security -> Alerts 
5. Open Host Flyout of a host with risk score 
6. Click alert/risk summary link, then click the other one and observe
the tab on the left and content change in response 

### Screen Recordings

#### Host Selected 


https://github.com/user-attachments/assets/ac071adc-8255-496e-956b-cf727191cbe3



#### User Selected 


https://github.com/user-attachments/assets/ab10a640-964d-457f-9ff3-198c19641889

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-10 13:18:14 +00:00
Nicolas Chaulet
d2070ca724
[Fleet] Fix source mode synthetics when handling experimental datastream features (#210195) 2025-02-10 08:00:59 -05:00
Agustina Nahir Ruidiaz
ff5e4fa1d6
[Security Solution][Onboarding] UI refresh - align footer and header icons colors (#208899)
## Summary

This PR addresses issue https://github.com/elastic/kibana/issues/205730

<img width="1117" alt="Screenshot 2025-01-30 at 11 08 11"
src="https://github.com/user-attachments/assets/1708e49b-af1d-4ebf-a112-5a5d7cb33c1c"
/>
<img width="983" alt="Screenshot 2025-01-30 at 11 09 30"
src="https://github.com/user-attachments/assets/7c1d14e4-2c07-4361-9f22-f59e729ddffa"
/>
<img width="1097" alt="Screenshot 2025-01-30 at 11 08 42"
src="https://github.com/user-attachments/assets/404d6e9c-efc5-43fd-a357-d4ca8a4cb40c"
/>
<img width="986" alt="Screenshot 2025-01-30 at 11 08 53"
src="https://github.com/user-attachments/assets/6a05b9b9-0ef9-4dda-a21e-610cd08026e0"
/>


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-10 13:52:24 +01:00
Umberto Pepato
fca78b9826
[ResponseOps][Alerts] Wrap Stack Alerts page filter controls in error boundary with fix call-to-action (#209559)
## Summary

Wraps the stack alerts page search bar's filter controls embeddable into
an `ErrorBoundary`, showing a fallback callout with a call-to-action to
reset the persisted state of the filters. This prevents the whole page
from crashing in case of errors in the embeddable, and provides a more
user-friendly way to gracefully recover from the error caused by
https://github.com/elastic/kibana/pull/190561 in the condition that
makes [our fix](https://github.com/elastic/kibana/pull/194785)
ineffective ([visiting the page on `8.15` and then updating to
`8.16+`](https://github.com/elastic/sdh-kibana/issues/5219#issuecomment-2633560380)).

<img width="1007" alt="Alert filter controls error callout"
src="https://github.com/user-attachments/assets/0c447f89-24f6-4d07-b7a1-97b13a267121"
/>

## Release Notes

Provides a fallback view to recover from Stack Alerts page filters bar
errors.

### 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] 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>
2025-02-10 13:52:07 +01:00
Konrad Szwarc
4e734c85e4
[EDR Workflows] Workflow Insights - Propagate insight creation errors to the UI (#210186)
This PR ensures that errors encountered during insight creation are
properly propagated to the UI, specifically to the endpoint insights
component. I opted for a UI-only approach because I believe these
creation errors shouldn’t be returned as API responses. Instead, we
should rely on the already stored insight status and potential
failureReason.

Additionally, I’ve updated the Cypress tests to no longer explicitly
include feature flags for this functionality, as the feature flag has
now been enabled.



https://github.com/user-attachments/assets/11f7f601-931f-41a0-a02c-e961b4424d1e
2025-02-10 13:39:08 +01:00
Arturo Lidueña
4da647cc0e
[Observability AI Assistant] Add alert status management to AI Assistant connector (#203729)
Close #185032

## Summary

An Observability AI Assistant connector is available to be set as action
for Observability rules. When an alert is triggered, a conversation with
the AI assistant will be created sending the initial prompt set by the
user in the rule action. The conversation is then stored and can be
retrieved from the AI Assistant interface. the action is triggered on
any status change of the alert (active, recovered, untracked), creating
a new conversation for each of them using the same initial prompt which
may not be suitable for the 3 cases.

Improvement
The user is able to choose in when the action should be run (active,
recovered, untracked, all),. That would allow the user to specify more
than one AI Assistant action, with a different and more suitable prompt
in each case.


https://github.com/user-attachments/assets/69463fa0-de5e-441c-8e99-a888e076f311

### 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/packages/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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Sandra G <neptunian@users.noreply.github.com>
2025-02-10 13:31:02 +01:00
Julia Rechkunova
4b76ada490
[DiscoverSession] Change the display name on reporting page (#209250)
- Closes https://github.com/elastic/kibana/issues/209239

## Summary

This PR fixes the tooltip for Discover sessions on the reporting page.

<img width="693" alt="Screenshot 2025-02-03 at 11 55 53"
src="https://github.com/user-attachments/assets/cf1a952b-ff6c-4d7c-a523-d537ce51d484"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-02-10 13:00:57 +01:00
Eyo O. Eyo
7b2631a21d
[Share Modal] Reinstate switch to support generating public urls for embed when supported (#207383)
## Summary

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

This PR aims to resolve a regression with the share embed option, prior
to 8.14.0 there was a functionality that provided the ability for users
to get an embed link that would allow public access to the object of the
share (i.e. dashboards, visualisations) if they had the right
configuration ([see
here](https://www.elastic.co/guide/en/kibana/8.13/kibana-authentication.html#anonymous-access-and-embedding)
on how to).

## How to test
- Attempt to get an embed link from for example the dashboard, the user
shouldn't not be present with an option to create a url with public
access.
- Now configure anonymous login in your `kibana.dev.yml`, like so; 

	```
	xpack.security.authc.providers:
	  basic.basic1:
	    order: 0
	  anonymous.anonymous1:
	    order: 1
	    credentials:
	      username: "elastic"
	      password: "changeme"
	```
- On doing this, you should be presented with the option to create a
public URL using the toggle switch similar to the image below, select
this option.

<img width="602" alt="Screenshot 2025-01-20 at 15 07 03"
src="https://github.com/user-attachments/assets/2af9082b-c44c-4cd0-89ae-de423bc7d18d"
/>

- Click copy code button

- Next, we'll create a dummy html document to verify the code copied
works, in your terminal simply run;
  ```bash
	touch embed.html
	echo "paste embed code content here" >> embed.html
	npx --package=serve@latest -y serve
   ```
- On running the commands above, we can try out the embed by opening up
the URL at `http://localhost:3000/embed`
- Ideally if all the steps were followed we should have a page that
loads up the object which the share URL was generated from.


https://github.com/user-attachments/assets/c5c873a4-5417-4bcf-b0cb-132d9073992f



<!-- 
### 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-02-10 12:57:22 +01:00
Khristinin Nikita
fd7c7591da
Add refresh for event log, when we fill gap (#209906)
## Add refresh for event log, when we fill gap 

As we update gaps, and don't wait for refresh in UI we can have
inconsistent state:

- Go to gap table
- Click fill gap, wait for api response
- Then we refetch gaps, but because we don't wait for refresh we get old
gaps and action "Fill gap" still remain in the table

In this PR we introduce index refresh, which only happens when user make
an action to fill gap

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-10 12:31:49 +01:00
Efe Gürkan YALAMAN
e326c7759a
[Synonyms UI] Fix rendering issues and adds a code example (#210229)
## Summary

Improved rendering when long lists are added with explicit rule.
Added code example flyout.
<img width="1075" alt="Screenshot 2025-02-07 at 18 09 18"
src="https://github.com/user-attachments/assets/95020f5b-8162-4cb7-bf7a-11439ff5b2d0"
/>
<img width="1049" alt="Screenshot 2025-02-07 at 18 09 26"
src="https://github.com/user-attachments/assets/5912e930-1356-4919-b637-92ca4009bc30"
/>



### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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)
- [ ] [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] 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-02-10 12:27:58 +01:00
Joe Reuter
0d5cecc2af
🌊 Streams: Switch id to name (#210207)
We started out with streams having an id, but we switched that to `name`
at some point. However, some places would still use `id` which bothered
me.

This PR switches all occurrences to `name` - Kibana and Elasticearch
assets still have "id"s, but streams are all names.
2025-02-10 12:11:56 +01:00
Kibana Machine
8047a8d34d
[ES|QL] Update function metadata (#210304)
This PR updates the function definitions and inline docs based on the
latest metadata from Elasticsearch.

---------

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-02-10 11:50:47 +01:00
Julia Bardi
a61c7293c0
[Fleet] update component templates with deprecated setting (#210200)
## Summary

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

Added logic to Fleet setup that queries component templates with the
deprecated `_source.mode` setting.
Querying only `metrics-*` prefixed component templates, I think only
those use `_source.mode` setting.

Steps to verify:
- Upload
[apm-8.8.0.zip](https://github.com/user-attachments/files/18708082/apm-8.8.0.zip)
package to http://localhost:5601/app/integrations/create/upload
- Deprecation warnings should appear in Upgrade assistant
http://localhost:5601/app/management/stack/upgrade_assistant/es_deprecations
- Visit Fleet UI or run setup API to let setup logic run
- Verify that deprecations disappeared
- Verify that the component templates are updated

<img width="1190" alt="image"
src="https://github.com/user-attachments/assets/20c4265f-461e-46d1-b075-6ba1111ef9d2"
/>

<img width="2533" alt="image"
src="https://github.com/user-attachments/assets/6961c885-7a91-4d07-90b9-c01a8c133cc9"
/>

<img width="901" alt="image"
src="https://github.com/user-attachments/assets/6b712f94-fd9c-4038-8dc4-cfcf7650cca7"
/>

```
[2025-02-07T15:39:42.396+01:00][DEBUG][plugins.fleet] Update deprecated _source.mode in component templates
[2025-02-07T15:39:42.401+01:00][DEBUG][plugins.fleet] Updating component templates with deprecated _source.mode config: metrics-apm.app@package,metrics-apm.internal@package,metrics-apm.service_transaction.1m@package,metrics-apm.service_destination.60m@package,metrics-apm.transaction.1m@package,metrics-apm.service_summary.10m@package,metrics-apm.transaction.10m@package,metrics-apm.service_transaction.10m@package,metrics-apm.transaction.60m@package,metrics-apm.service_destination.10m@package,metrics-apm.service_summary.1m@package,metrics-apm.service_destination.1m@package,metrics-apm.service_transaction.60m@package,metrics-apm.service_summary.60m@package


GET _component_template/metrics-*

{
  "component_templates": [
    {
      "name": "metrics-apm.app@package",
      "component_template": {
        "template": {
          "settings": {
            "index": {
              "lifecycle": {
                "name": "metrics-apm.app_metrics-default_policy"
              },
              "default_pipeline": "metrics-apm.app-8.8.0",
              "mapping": {
                "total_fields": {
                  "limit": "1000"
                },
                "source": {
                  "mode": "synthetic"
                }
              }
            }
          },
          "mappings": {
            "dynamic": true,
            "_source": {},
            "dynamic_templates": [
              {
                "histogram": {
                  "mapping": {
                    "type": "histogram"
                  }
                }
              },
```


### 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-02-10 11:15:35 +01:00
Luke Gmys
bcb3d709b9
[Security Solution] Eui visual refresh - make palettes theme aware (#205873)
## Summary

This PR resolves https://github.com/elastic/kibana/issues/201882 by
making sure that EUI palette functions are called during component
re-renders in Security Solution.

### Testing

Please verify if visualizations are displayed properly.

Running Kibana with the Borealis theme
In order to run Kibana with Borealis, you'll need to do the following:

Set the following in kibana.dev.yml:
`uiSettings.experimental.themeSwitcherEnabled: true`

Run Kibana with the following environment variable set:
`KBN_OPTIMIZER_THEMES="borealislight,borealisdark,v8light,v8dark" yarn
start`

This will expose a toggle under Stack Management > Advanced Settings >
Theme version, which you can use to toggle between Amsterdam and
Borealis.
2025-02-10 11:05:23 +01:00
Milosz Marcinkowski
0c7fb00dee
[APM] Improve performance in dependencies endpoints to prevent high CPU usage (#209999)
## Summary

After investigating a high CPU spike in the `dependencies` endpoints for
large quantities of data, we identified the issue as a slow deep merge
of objects. The merge operation was growing exponentially in size based
on the number of objects found with the same `id`.

We improved performance by excluding the stats object from unnecessary
merges and instead joining it using the spread operator. The results
show a significant reduction in CPU usage, preventing the event loop
from being blocked and ensuring better resource availability.

|Before|After|
|-|-|
|<img width="1728" alt="Screenshot 2025-02-06 at 12 50 41"
src="https://github.com/user-attachments/assets/6cd2bd68-6f19-42e2-bc2a-ed01a9f187c0"
/>|<img width="1728" alt="Screenshot 2025-02-06 at 13 11 20"
src="https://github.com/user-attachments/assets/3ab7d9fb-0156-4d7e-a788-95cae11131f6"
/>|
|<img width="2559" alt="Screenshot 2025-02-06 at 14 34 24"
src="https://github.com/user-attachments/assets/3950525c-f5fa-4895-ae38-7927e5497d80"
/>|<img width="2558" alt="Screenshot 2025-02-06 at 14 29 08"
src="https://github.com/user-attachments/assets/f05b6747-077b-49ea-a4ac-8528f6e2eb8f"
/>|
2025-02-10 10:52:00 +01:00
Miriam
0cfc6257f6
[ObsUX][Profiling] Remove arrow icons from frames summary (#210185)
Closes https://github.com/elastic/prodfiler/issues/4912

BEFORE

<img width="824" alt="image"
src="https://github.com/user-attachments/assets/1b597cfc-6a2f-4719-85da-af9db0b2ecf3"
/>

AFTER

<img width="1175" alt="image"
src="https://github.com/user-attachments/assets/425ab4a8-2bd0-458c-920e-f79e9aac40b0"
/>
2025-02-10 08:31:36 +00:00
Kibana Machine
2cdea46fd9
[ES|QL] Update grammars (#210303)
This PR updates the ES|QL grammars (lexer and parser) to match the
latest version in Elasticsearch.
2025-02-10 08:59:37 +01:00
Kibana Machine
c4fb3c99b0
[api-docs] 2025-02-10 Daily api_docs build (#210307)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/979
2025-02-10 08:55:44 +01:00
Jen Huang
73c7f87acd
[UII] Update install snippets to include all platforms (#210249)
## Summary

Resolves [#167592](https://github.com/elastic/kibana/issues/167592).
This PR expands Fleet's enrollment/install snippets so that all
platforms & architectures are available:

**Fleet server instructions**

![image](https://github.com/user-attachments/assets/85db0e78-4100-42e7-9298-5645e1100145)

**Managed agent instructions**

![image](https://github.com/user-attachments/assets/82a41273-331c-4655-9984-f48c01a82d82)

**Standalone agent instructions** (with policy that includes K8, so K8
yml and platform is selected by default)

![image](https://github.com/user-attachments/assets/5e7ddfb1-9f34-418a-9077-addee703ed71)

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [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
- [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-02-09 09:20:00 +01:00
Kibana Machine
81a1423e28
[api-docs] 2025-02-09 Daily api_docs build (#210296)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/978
2025-02-09 08:35:07 +01:00
Miriam
9e65d7a183
[ObsUX][Profiling] Don't render missing symbols callout when frame type is root (#209978)
Closes https://github.com/elastic/prodfiler/issues/4386

### Summary

The flyout for the root block always contains the hint "Missing symbols
error" because there are no symbols for the root block. We should not
show it here.

### What was done

Added a condition to not render the callout when frameType is root

Before


![image](https://github.com/user-attachments/assets/4856bf40-6753-46bd-a20d-74eebf27533f)

After

Waiting for [this
PR](https://github.com/elastic/elasticsearch/pull/119115) to be merged
for the condition to work
2025-02-08 08:31:25 +00:00
Kibana Machine
efdc82878a
[api-docs] 2025-02-08 Daily api_docs build (#210294)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/977
2025-02-08 08:23:27 +01:00
Yuliia Naumenko
41a66ec75b
[Inference Connector][Serverless] Added preconfigured connector for inference Elastic Rainbow Sprinkles LLM (#209946)
This PR is adding the Serverless Kibana preconfigured `.inference`
connector for Elastic Rainbow Rainbow Sprinkles LLM.
Instead of adding within kibana-controller
2025-02-07 17:15:47 -08:00
Philippe Oberti
7a9bf1399c
[Security Solution][Expandable flyout] fix flyout flickering when opening/closing left panel (#210225)
## Summary

We recently improved the expandable flyout by adding support for a
[fully resizable flyout](https://github.com/elastic/kibana/pull/192906).
This work introduce a minor inconvenience, where the right panel gets
re-rendered every time the user expands or collapses the flyout.

This PR fixes this issue by better using the EUI resizable container
(see how to externally control a resizable container
[here](https://eui.elastic.co/#/layout/resizable-container#collapsible-panels-with-external-control)).
The flyout is now always showing a resizable container (even in
collapsed mode) but EUI manages internally hiding the left section and
the resize button.

#### Old behavior


https://github.com/user-attachments/assets/4d7589ec-0edf-4690-9ce4-7b969ae0bb44

#### New behavior


https://github.com/user-attachments/assets/7cf720b8-5b31-4cc9-b213-21472ea880d6

The rest of the flyout's behavior remains untouched:
- identical default widths
- user selected widths are still applied
- no changes to the preview behavior

### 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-02-07 16:34:27 -06:00
elastic-renovate-prod[bot]
ed4c5d5308
Update dependency @types/diff to ^7.0.1 (main) (#210138)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[@types/diff](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/diff)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff))
| devDependencies | patch | [`^7.0.0` ->
`^7.0.1`](https://renovatebot.com/diffs/npm/@types%2fdiff/7.0.0/7.0.1) |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJUZWFtOkRhdGFEaXNjb3ZlcnkiLCJiYWNrcG9ydDphbGwtb3BlbiIsInJlbGVhc2Vfbm90ZTpza2lwIl19-->

Co-authored-by: elastic-renovate-prod[bot] <174716857+elastic-renovate-prod[bot]@users.noreply.github.com>
2025-02-07 17:11:42 -04:00
Viduni Wickramarachchi
343b80a8a0
[Obs AI Assistant] Update the simulate function calling setting to support "auto" (#209628)
Closes https://github.com/elastic/obs-ai-assistant-team/issues/198

## Summary

The simulated function calling setting is currently a boolean. It needs
to be updated to support the option `auto`.
`export type FunctionCallingMode = 'native' | 'simulated' | 'auto';`

If the setting is set to `false`, `auto` will be passed to the inference
client. If the setting is `true`, `simulated` will be passed to it.

Relates to https://github.com/elastic/kibana/pull/208144


### 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
- [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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-02-07 16:07:20 -05:00
Viduni Wickramarachchi
77ea8fe8f1
[Obs AI Assistant] Update colors in the AI Assistant icon (#210233)
Closes https://github.com/elastic/kibana/issues/208816

## Summary

Update the AI Assistant icon colors


### 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)
2025-02-07 16:00:50 -05:00
Alexander Spies
3915d3310c
ESQL: Add reference entry for LOOKUP JOIN (#210201)
I couldn't verify if this builds correctly, as I couldn't quickly whip
up a dev environment locally that could build this. Is there a preview
built by the CI?

---------

Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2025-02-07 13:39:10 -07:00
Quynh Nguyen (Quinn)
8ce4eefad5
[ML] Fix Log rate analysis, change point detection, and pattern analysis embeddables not respecting filters from Dashboard's controls (#210039)
## Summary

This PR addresses https://github.com/elastic/kibana/issues/204246 and
fixes Log rate analysis and change point detection embeddable not
updating based on Dashboard's controls


https://github.com/user-attachments/assets/e6750cca-b579-49e8-af89-4effb3a7536e





### 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)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 14:04:35 -06:00
Quynh Nguyen (Quinn)
14eefced0f
[ML] Show analysis not available for vector fields in Index Data Visualizer (#209945)
## Summary

In 9.0, vector fields like vector embeddings or offsets are no longer
exposed in Elasticsearch API, which makes it not possible to sample the
count and show examples This PR makes it so that the expanded rows for
these fields indicate analysis is not available for these fields.

<img width="1295" alt="image"
src="https://github.com/user-attachments/assets/60a95883-2918-4af5-821a-8f8a006d8441"
/>


### 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)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 13:39:59 -06:00
Nathan Reese
8efc247688
[uptime] avoid loading uptime.chunk on every page load (#209815)
Part of https://github.com/elastic/kibana/issues/194171

PR removes all async imports run during uptime plugin setup and start
methods. This causes page load bundle size to increase and accurately
reflect its true size.

### Test instructions
* Start kibana locally
* Open network tab in browser
* Open home page. Verify `uptime.chunk` are not loaded. The screen shots
show the behavior in main where `uptime.chunk` are loaded on home page
<img width="600" alt="Screenshot 2025-02-05 at 9 06 56 AM"
src="https://github.com/user-attachments/assets/14218b85-3814-4e3c-9c04-bd73cf6c4dbd"
/>

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 12:37:40 -07:00
Nathan Reese
3ee1fa3f61
[search] avoid loading searchNavigation.chunk on on every page load (#209818)
Part of https://github.com/elastic/kibana/issues/194171

PR removes all async imports run during searchNavigation plugin setup
and start methods.

### Test instructions
* Start kibana locally
* Open network tab in browser
* Open home page. Verify `searchNavigation.chunk` are not loaded. The
screen shots show the behavior in main where `searchNavigation.chunk`
are loaded on home page
<img width="600" alt="Screenshot 2025-02-05 at 9 20 21 AM"
src="https://github.com/user-attachments/assets/e718e18e-de6e-4c1e-ba28-af713440459c"
/>

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 12:37:21 -07:00
christineweng
8c05633cb8
[Security Solution][Analyzer] Enable process title to open event preview (#210118)
## Summary

Updated process event title to be a link, opens a event preview of that
process event

#### `enableVisualizationsInFlyout` advanced setting is on:
Link is enabled


https://github.com/user-attachments/assets/a7d1992a-0b7f-436c-9137-c6626077661b


#### `enableVisualizationsInFlyout` advanced setting is off:
Link is not enabled (no change)


![image](https://github.com/user-attachments/assets/ae8f30dd-f54c-47a6-90e3-37eba8dc2a51)


### Checklist

- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or
- [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-02-07 19:28:51 +01:00
Mashhur
7dd40580bd
Updates removed params of the Fleet -> Logstash output configurations. (#210115)
## Summary
The configuration shown on Fleet -> Logstash output isn't up to date
that some of them are removed.
This PR updates obsoleted configuration(s) to align with recent Logstash
9.0 configs.

### Author's checklist
- [ ] This needs to be backported to 9.0 Kibana branch
- [ ] and would be good to trigger BC
2025-02-07 10:06:59 -08:00
Sergi Romeu
ba5ae97569
[Synthtrace] Sanitize default value for error grouping key (#210010)
## Summary

Closes #209096
2025-02-07 18:13:11 +01:00
Elena Stoeva
9409a4364b
[Index Management] Only show standard and lookup index mode in create index modal (#209998)
Fixes https://github.com/elastic/kibana/issues/209889

## Summary

This PR removes the "LogsDB" and "Time Series" index mode options in the
create index modal as per the suggestion in
https://github.com/elastic/kibana/issues/209889#issuecomment-2638045561.

The index mode field was added in
https://github.com/elastic/kibana/pull/207413.
2025-02-07 16:56:39 +00:00
Sonia Sanz Vivas
9a06509972
[Ingest Pipelines] Offer create non existing custom pipeline (#209103)
Fixes https://github.com/elastic/kibana/issues/183992
2025-02-07 17:10:28 +01:00
James Gowdy
fa76d89e48
[ML] Unskipping transform test (#209109)
Flaky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/7844
Flakey tests all passed

The underlying cause of this issue has been fixed by
https://github.com/elastic/elasticsearch/pull/121912
2025-02-07 17:04:14 +01:00
Anton Dosov
02a88d13c2
[chrome] Improve breadcrumb extension (#209765)
## Summary

fix https://github.com/elastic/kibana/issues/208728

This PR improves breadcrumb extension point for adding starring next to
a dashboard breadcrumb https://github.com/elastic/kibana/issues/200315:

- Fix breadcrumb extension didn't render in solution nav
- Support multiple extensions (search sessions are deprecated and need
to be enabled with kibana.yml flag, but we still need to support both UI
elements)
- Improve DX to unmount the extension 

To test: 

- Add `data.search.sessions.enabled: true` and see that search session
UI appears in solution nav.
- To test multiple, add more extensions by using
`chrome.setBreadcrumbsAppendExtension`, e.g. in
`src/platform/plugins/shared/data/public/search/search_service.ts` .
This actually gonna be used in
https://github.com/elastic/kibana/issues/200315

![Screenshot 2025-02-05 at 14 41
21](https://github.com/user-attachments/assets/f4bece3e-6b09-4afb-94b5-291a7387118c)
2025-02-07 15:49:35 +01:00
Carlos Crespo
e21e7482e7
[Infra] Inventory-view saved object schema fix (#210023)
fixes [#209996](https://github.com/elastic/kibana/issues/209996) 

## Summary

Fix the `inventory-view` schema. The wrong schema was causing an error
when trying to create/update a saved view on Infra Inventory UI


![inventory-saved-view](https://github.com/user-attachments/assets/682533c0-1893-47a6-9f87-99a2390bb19a)

### How to test

- Run on dev tools the request below, it should return a 400 containing
the message: `"[attributes.legend.steps]: Value must be equal to or
lower than [18].: Bad Request"`
```
POST kbn:/api/saved_objects/inventory-view
{
  "attributes": {
    "metric": {
      "type": "cpuV2"
    },
    "sort": {
      "by": "name",
      "direction": "desc"
    },
    "groupBy": [],
    "nodeType": "host",
    "view": "map",
    "customOptions": [],
    "customMetrics": [],
    "boundsOverride": {
      "max": 1,
      "min": 0
    },
    "autoBounds": true,
    "accountId": "",
    "region": "",
    "time": 1738848614746,
    "autoReload": false,
    "filterQuery": {
      "expression": "",
      "kind": "kuery"
    },
    "legend": {
      "palette": "cool",
      "steps": 20,
      "reverseColors": false
    },
    "timelineOpen": false,
    "name": "sss"
  }
}
```
- Navigate to Infra > Inventory
- Create a new saved view
2025-02-07 15:00:17 +01:00
jennypavlova
02c3373419
[Infra] Change "Inventory" to uppercase in "Infrastructure inventory" (#210078)
Closes #210027 

## Summary

This PR changes inventory to start with a capital letter in Infra and
APM

| Before | After |
|-------|-------|
|
![image](https://github.com/user-attachments/assets/f0ec7d3c-647a-4da0-94b7-f7a9f57efd47)
| <img width="1826" alt="image"
src="https://github.com/user-attachments/assets/b91a82ec-effc-45ca-9c82-622e4f631374"
/> |

## How to check
- Search for infra
- Search for inventory
- Check the left side nav 
- Check the Infrastructure Inventory page title
- Check the breadcrumbs



https://github.com/user-attachments/assets/030bab66-6f3c-45bc-9b2c-7860ae63ad24
2025-02-07 14:31:30 +01:00
Kerry Gallagher
97d0c1b2ae
[Streams] Partitioning improvements (#209095)
## Summary 

This issue predominantly tries to improve the situation around fetching
and showing samples. Some of the discussion can be seen here:
https://github.com/elastic/streams-program/issues/37#issuecomment-2605288052

We have several issues - runtime fields are expensive (but needed if
fields aren't mapped), we are susceptible to timeouts depending on
amount of data and timerange, getting exact document counts (for match /
not matched counts) is expensive etc.

After speaking with Joe we decided it might be worth trying out async
search, as this alleviates some of these issues. E.g. the ability to
load and show partial results without trying to communicate this through
our API, or have to provide a potentially confusing UI around timeouts /
running to exhaustion options / toggles.

Realistically we only fetch 100 examples, but we might need to scan many
documents to gather that set of documents, I'm not 100% sure how often
we'll actually hit partial results here, but it seems more robust than
worrying about timeouts.

For the matching counts I just couldn't see a way to get an accurate
count without something expensive (e.g. `track_total_hits`) so I've
tried to use an "approximate match rate" based on a random sample, that
random sample is then filtered to the condition to see what approximate
percent matched. One note: aggregations don't seem to return partial
results (which makes sense I guess), you get the interval polling
requests, but won't get a result until the end. I did wonder if you
could do something smart with `track_total_hits` and aggs to "stream"
partial counts, I found a Slack thread saying don't do this 😅

⚠️ ~I'm not 100% sure what I'm missing here but I have seen the filter
sub aggregation come back with a doc_count that is higher than the
random sample.~

~[From the
docs](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-random-sampler-aggregation.html#random-sampler-inner-workings)
I understand "If a query is provided, a document is returned if it is
matched by the query and if the document is in the random sampling. The
sampling is not done over the matched documents." but I don't see why
that affects the sub aggregation under the random sample.~

![Screenshot 2025-01-31 at 11 30
53](https://github.com/user-attachments/assets/e2444348-caef-41b6-9708-4fdbb84f1ccd)

~I hit this when playing with the `probability` setting, not sure if I'm
missing something stupid.~


[Solved](https://github.com/elastic/kibana/pull/209095#discussion_r1940567855)

Overall, this does seem to work well. I've used this against ~250k and
~2.5million documents, and whilst (depending on time range / runtime
fields) it can still be slow, it seems to provide a better experience
than hitting our API and holding the open connection. Obviously it comes
with the downsides of sitting on the client (not really sure it's a con,
these are platform services) and not using the standard
`streamsRepositoryClient`.

## Other changes

- The core changes here are in the `use_async_sample` hook, and where
that's consumed.

- Runtime fields are not generated for fields that are mapped.

- I've also refactored the routing index page so that components / hooks
live in their own files (this makes the diff look bigger than it is)

- Refactored some logic around preview panel / preview panel
illustration so that the two branches of logic / conditionals now become
one.

## Followups

- I haven't changed enrichment to use this or removed the actual API
route as I figured this would need discussion first to see if we want to
use this.
2025-02-07 13:07:19 +00:00
Ania Kowalska
a080734710
Discover table disappears when dragging fields from the field list (#209714)
## Summary

Closes #209442 

After dropping [color utility
functions](https://eui.elastic.co/#/theming/colors/utilities)
accidentally drag and drop zone background became solid, hiding table
content.

![image](https://github.com/user-attachments/assets/5c5b9686-ee11-4407-909f-56c53e4a0cd1)

EUI team agreed to revert `transparentize()` in this particular case
(until migration from SCSS to Emotions, when a new proper token should
already exist). Current color tokens though demanded a bit different
opacity values than previously. I was trying to achieve the most similar
effect to the `8.17` version.

I also adjusted border as it was a bit too light compared to `8.17`.

**8.17 border:**
<img width="176" alt="Screenshot 2025-02-05 at 10 43 35"
src="https://github.com/user-attachments/assets/bf71747a-63a5-4630-8a70-674a9576dbe0"
/>


**`main` border**
<img width="181" alt="Screenshot 2025-02-05 at 10 34 39"
src="https://github.com/user-attachments/assets/c0756f20-ae74-4c72-914c-3b9fde96faa0"
/>

**My choice from existing tokens (there's nothing in between `base` and
`strong` success for borders):**
<img width="174" alt="Screenshot 2025-02-05 at 10 42 24"
src="https://github.com/user-attachments/assets/584f5577-4842-4b44-a395-3b0bcbaf4c82"
/>


Below you can find gifs with both versions in action. I'm open to any
other color-opacity pairs suggestions if those don't mirror the previous
state enough.

**8.17**
![8 17 drag and
drop](https://github.com/user-attachments/assets/a95db5da-1af1-4373-a58d-6ecda33f9387)

**This PR**
![PR drag and
drop](https://github.com/user-attachments/assets/cf6c1a1e-8f8d-4462-8984-88837289ccd1)


### 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~~
- [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)
- [ ] ...

---------

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 13:54:50 +01:00
Marco Antonio Ghiani
dde1bec88b
[Streams 🌊] Fix fields simulation restricted keys (#210149)
## 📓 Summary

Fix failing fields simulation on the schema editor. This happened
because the strict excessive keys check on the zod validation for the
API request caught extra parameters used client-side on the Schema
Editor, removing those properties fixed the issue.
2025-02-07 12:45:26 +01:00
Maria Iriarte
2657b86f94
[Lens] Use AxisLabelOrientationSelector in xy axis settings (#208002)
## Summary

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

- Uses the `AxisLabelOrientationSelector` component, which was
introduced in [202143](https://github.com/elastic/kibana/pull/202143),
in the XY chart axis settings.
- Adds `AxesSettingsConfig` and `AxesSettingsConfigKeys` declarations in
`x-pack/platform/plugins/shared/lens/public/shared_components/axis/types.ts`
file

### 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] 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: Marta Bondyra <4283304+mbondyra@users.noreply.github.com>
2025-02-07 12:35:44 +01:00
Ania Kowalska
b4a2009325
[DataDiscovery] Remove color functions in favor of color tokens where possible (#208901)
## Summary

Closes #205841 205841

All Data Discovery usage of color functions removed in favor of color
tokens.

```
shade() 
tint() 
shadeOrTint() 
tintOrShade() 
transparentize()
```

As per [EUI guide](https://github.com/elastic/kibana/issues/199715)
(`(Important) Replace color calculation functions with semantic tokens`
section) some colors are not 1:1, but rather a token matching the
function of the element.
I was following this guide and tried to make it consistent, I'm open for
suggestions though, in case some color should be different.

### 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-02-07 12:32:29 +01:00
Kenneth Kreindler
2bf8a24c5c
[Security Solution] [AI Assistant] Replace polynomial regular expression with constant time string manipulation (#209314)
## Summary

Fixes https://github.com/elastic/kibana-team/issues/1442

This PR replaces a poorly performing regular expression with a constant
time string manipulation approach.

Context:
The regex is used to remove all references from a string when a user
copies a message from the assistant and when conversation history is
passed to the LLM e.g.
```
"The sky is blue{reference(1234)} and the grass is green{reference(4321)}" -> "The sky is blue and the grass is green"
```

Changes:
- Replace the regular expression inside of `removeContentReferences()`
- Add tests to verify new logic is correct.
- Fix a bug in the contentReference markdown parser that was found by
@andrew-goldstein
[here](https://github.com/elastic/kibana/pull/209314/files#r1943198510)
- For alerts page citations, add a filter for open and acknowledge
alerts within the last 24 hours
[here](https://github.com/elastic/kibana/pull/209314/files#diff-f17fbe7edfe72943fecbe5ddd8dca6c024a48fe4f90bf4f66650cef16091b769R36)


### How to test new regex:
One of the changes in this PR improves the performance of a regex. In
real life, no one has ever reached any performance issues with this
regex's and I don't think it is realistically possible to reach that
limit without other things breaking (i.e. the message sent to/returned
by the assistant would need to be so large that it would exceed the
context window). Therefore, all we can test is that the functionality
still works as expected after this change.
- Enable the feature flag
```yaml
# kibana.dev.yml
xpack.securitySolution.enableExperimental: ['contentReferencesEnabled']
```
- Open the security assistant
- Ask the assistant a question about your alerts or a document in your
KB. The assistant response should contain citations.
- Copy the response to the clipboard using the copy button.
<img width="785" alt="image"
src="https://github.com/user-attachments/assets/edded3a3-8cb9-40a8-918e-a9718e7afc22"
/>
- Your clipboard should contain the response without any citations

### How to test the alerts page filter
- Ask a question about your open alerts and make sure a citation is
returned.
- Click on the citation
- Verify a new tab is opened and the alerts page is visible with a
filter for open and acknowledge alerts and there is a now-24h time
window filter.

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

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

### 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)
- [ ] ...

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-02-07 09:22:37 +00:00
Konrad Szwarc
8831e5b25d
[EDR Workflows] Workflow Insights - filter trusted apps by policy (#209340)
This PR updates the logic for determining whether an Insight has already
been addressed by Trusted Apps. While we’ve been querying Trusted Apps
based on the Insight’s reported path and, for Windows and macOS, the
signature, this approach had a limitation: it didn’t account for cases
where a matching Trusted App existed but was assigned to a policy
unrelated to the endpoint where the Insight was generated.

To address this, we’ve extended the query to include an additional
filter for the specific policy ID associated with the endpoint, as well
as any global policies (policy:all).


https://github.com/user-attachments/assets/96470d0b-b7ea-4f59-af0a-e865ad7fd22c
2025-02-07 09:48:21 +01:00
Konrad Szwarc
b750d46c8b
[EDR Workflows] Workflow Insights - Proper Windows Signer field handling (#209117)
This PR fixes an issue where the Signer was not properly propagated
during Trusted Apps creation from Insights. With these changes, we
expect process.Ext.code_signature on Windows to be an array (ESS, ESS
Cloud) containing signatures, or a single object (Serverless). On macOS,
it will continue to be an object.

Please refer to the corresponding GitHub issue for the recordings.
2025-02-07 09:26:10 +01:00