## Summary
In rare cases when the list of continuous transform exceeds the allowed
URL length, we fetch stats for all transforms.
The elasticsearch client has `transform-id` param as optional, but we
actually have to pass `_all` or `*`. This PR sets the `transform_id`
param explicitly in this case.
### 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
This PR does three things:
* Try to download agent from the central repository (expected to fail
for now as 8.15.0 agent isn't released yet
* Adjust snippet to also set up local data dir correctly
* Update k8s manifest via
https://github.com/elastic/opentelemetry-dev/pull/299
## Summary
We have been asked to stop using the `second quality gate` terminology
in favor of `kibana QA quality gate`. This PR updates the readmes to
reflect the new changes.
**‼️ DO NOT MERGE UNTIL 8.15 IS CUT**
## Summary
Part of https://github.com/elastic/kibana/issues/171425.
This PR allows parsed KQL expressions that don't have a key/field. For
example, the follow query expressions are now allowed when searching
agents:
```
last_checkin_message.keyword : "Running" and Development
```
```
macbook
```
```
"8.15.0" and tags : "Development"
```
This PR also:
* Enables the flag `enableStrictKQLValidation` now that both free-form
text expressions are allowed and validation remains on expressions which
specify a field
* Syncs the maintained agent mappings used for populating suggestions
with the [real mappings in
ES](248b045d70/x-pack/plugin/core/template-resources/src/main/resources/fleet-agents.json)
### Checklist
Delete any items that are not applicable to this PR.
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
Adds an endpoint dedicated to fetching alerts group aggregations to
avoid adding runtime mappings and client-side controlled scripts to the
`internal/rac/alerts/find` endpoint.
The new endpoint injects a `groupByField` runtime field used to
normalize the values of the field used for grouping, to account for null
and multi-element arrays.
#184635 depends on this
Closes#186383
## To verify
Review the added
[tests](x-pack/plugins/rule_registry/server/routes/get_alerts_group_aggregations.test.ts).
Use the Kibana Dev Console to test various body params and aggregations:
1. Create any type of rule that fire alerts
2. Wait for the alerts to be created
3. Call the `_group_aggregations` endpoint, using the feature id(s) that
cover the type of rules you used:
```
POST kbn:internal/rac/alerts/_group_aggregations
{
"featureIds": [...],
...
}
```
See
[here](https://github.com/elastic/kibana/pull/186475/files#diff-0780f60b57fdaa96eda1ab2853064033477617430a17cdb87750cef42c6e8668R22)
and
[here](https://github.com/elastic/kibana/pull/186475/files#diff-0780f60b57fdaa96eda1ab2853064033477617430a17cdb87750cef42c6e8668R37)
to know the available params and pre-defined aggregations.
### 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
Fixes https://github.com/elastic/kibana/issues/182213
## Summary
Allow creating a preconfigured agent policy only with `name` and `id`.
Previously this way Fleet wouldn't start.
Note that this was already defined this way in the docs, but the schema
wasn't respecting it.
### Testing
- Create a preconfigured fleet policy with just the id and name:
```
xpack.fleet.agentPolicies:
- name: agent-policy
id: agent-default-policy
```
- Verify that Fleet starts correctly
### 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
## Summary
This PR is a prerequisite to the Locator Implementation for Logs
Explorer - https://github.com/elastic/kibana/pull/186287
## Problem Statement
- Integrations were fetched when the main DQ page loads and stored in
the State Machine. This means when the Flyout Opens, it was referencing
already fetched data from the main page, updating the URL and then that
was used to render certain sections on the Flyout. This causes issues as
when a Locator is used to directly open the Flyout from some other page.
In that case everything happen asynchronously causing the data to be not
present when the flyout open thus those integration sections were not
present.
## Solution
- Now when the flyout is opened or is already open, it reads the basic
params from the URL like `DataStream`. With this information, it make
API call to fetch Integration information and thus making it
independent.
- Does this means you duplicated the Logic to fetch Integrations ? Yes
and No. Logic has to be duplicated as Flyout is moving to its own page
very soon. This means it would anyhow not be able to re-use that
Integration Information available. Secondly the duplication is not one
to one, its more catered towards Flyout logic
- Split the state machine to make Integration Calls only when the opened
Dataset is actually an integration. This is done by chaining the
respective states after the `DataStreamSettings` state confirms presence
of Integration.
## What else has been done
- Type cleaning: A lot of types has to be refactored to make this
change. Also simplified some duplicate types. We were using
- Runtime types
- Types Derived from Runtime Types
- Inferred Types from API Responses
We don't need the 3rd one. 1 and 2 and sufficient.
## Summary
This PR fixes the following bugs in templates:
1. Remove duplicate template tags
2. Set the connector to `none` if the connect is deleted when editing or
selecting a template
## Testing
### Scenario 1
1. Create a couple of templates with the same template tags.
2. Create a template and click to select template tags. In the list of
available template tags, you should not see duplicates.
### Scenario 2
1. Create a template with a connector.
2. Delete the connector.
3. Edit the template and verify that the `none` connector is shown.
4. Go to the create case form and select the template created in step 1.
5. The selected connector should be the `none` connector.
### Checklist
Delete any items that are not applicable to this PR.
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
### For maintainers
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
---------
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
## Summary
Small fix to address telemetry related errors.
Closes https://github.com/elastic/kibana/issues/186983
Make `avg_number_global_data_tags_per_policy` optional as it can be
undefined.
Filter out nulls or undefined values in `output_types`.
We can't be sure of the node count when running tests, so we just make
sure the counts are above expected values.
Also updates the route access tags to be `access:ml:canGetMlInfo` rather
than `access:ml:canGetJobs` and `access:ml:canGetDatafeeds`.
In serverless, AD can be disabled and these tags would be false.
## Summary
Resolves [#184639](https://github.com/elastic/kibana/issues/184639).
This PR hides the beta integrations toggle if user does not have
sufficient privileges to write this to Fleet settings SO. The real fix
should be handled with #187511.
Closes#187385
## Summary
This PR fixes the issue with the processes tab showing a 500 error in a
toast when performing a full page refresh.
## Testing
Go to asset details and open the processes tab. Refresh the page: there
should not be any error visible.
8998d141-8841-4138-8c76-7f555f6c44f0
## Summary
Closes https://github.com/elastic/kibana/issues/187336
Fix navigating back to Integration policies list after
Cancelling/Submitting the Edit integration policy page.
See steps to verify in the linked issue.
<img width="1119" alt="image"
src="f89028a6-ef71-4b25-aabc-4f80cb36214b">
<img width="1123" alt="image"
src="e844344c-caff-45ee-9ce7-772ba672e328">
## Summary
Closes https://github.com/elastic/observability-dev/issues/3373 and
https://github.com/elastic/observability-dev/issues/3360
Adding the check `viewInAppUrl !== ''` allows the More Action Alerts
Cell to be navigatable by keyboard. The user can now arrow into the cell
and click enter to interact with the actions in the cell. The href prop
was changed to an onClick because the href was blocking the keyboard
accessibility.

---------
Co-authored-by: Dominique Clarke <dominique.clarke@elastic.co>
## Summary
Fixes an issue where the table was not being properly updated upon
deletion.

### Checklist
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
## Summary
It closes#176700
This PR converts the DistributionBar FTR test on the Findings page into
an integration test using MSW. It also closes #176700as it was once
triggering an error in the past
Also, it adds the following changes:
- Added a `generateMultipleCspFindings` helper to help with the writing
of future tests and generating batch data.
- Removed DistributionBar FTR test
- Removed the extra layer of sub-components on the DistributionBar
component to be simpler and added an aria-label on the distribution bar
buttons.
## Screenshots


## Summary
This is part 1/n of a wider effort:)
BrowserField used to be some kind of field dictionary (!) which is
obviously wrong:). Added FieldCategory type for that as an intermediate
step as I dont know if it will hold up after the changes I am doing are
complete.
## Summary
Our initial implementation of these components assumed a very flat,
normal structure for the indicator documents we would retrieve (because
we leverage the `fields` API). However, `flattened` fields do not quite
fit this pattern, and there is a bug where indicator documents
containing `flattened` fields with complex values would not be parsed
correctly, and we attempt to render JS objects to the DOM (which React
does not like, and throws an error).
This issue was uncovered originally in an SDH.
### How to Review
See https://github.com/elastic/kibana/issues/179483 for details on how
to repro.
### Screenshots
(Using the data described in
https://github.com/elastic/kibana/issues/179483):
<img width="820" alt="Screenshot 2024-03-26 at 3 28 00 PM"
src="af62724d-6626-4b61-91b8-48612889a109">
<img width="820" alt="Screenshot 2024-03-26 at 3 28 15 PM"
src="9208e7bd-c149-44a3-9a56-4a2813d79ad7">
Linked issue: https://github.com/elastic/kibana/issues/179483
Follow up to https://github.com/elastic/kibana/pull/187318
Implement core `createMockAuthenticatedUser` in the security plugin mock
to avoid divergence.
---------
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Part of https://github.com/elastic/kibana/issues/186574
## Summary
This PR migrates the Logstash Plugin's route handler for saving a
pipeline, which consumes `authc.getCurrentUser`, to use
`coreContext.security`.
Background: This PR serves as an example of a plugin migrating away from
depending on the Security plugin, which is a high priority effort for
the last release before 9.0.
### Checklist
Delete any items that are not applicable to this PR.
- [ ] [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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Moving prompts persistence layer from the local storage to the server
side data stream `.kibana-elastic-ai-assistant-prompts`
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Closes: https://github.com/elastic/observability-dev/issues/3688
## Description
The synthetics monitors include thumbnail screenshots that open a larger
preview window. The alt text on these larger screenshots is very generic
and could be improved by concatenating more information. Screenshot and
suggested copy attached below.
### Steps to recreate
1. Open the
[Synthetics](https://keep-serverless-fyzdg-f07c50.kb.eu-west-1.aws.qa.elastic.cloud/app/synthetics)
view
2. Create a monitor if none exist
3. Click on that monitor and navigate to the [full monitor
detail](8b88e937-f917-4f12-9325-8ab005cffea5?locationId=us_central_qa)
view
4. Click on a thumbnail and verify the modal opens
5. Turn on the screen reader of your choosing
6. Navigate to the image and verify the generic alt text
### What was changed?:
1. The `label` attribute for `ScreenshotImage` calling was changed to a
unified version in all places. Now it's always follow next rule:
`"{stepName}", {stepNumber} of {totalSteps}`
### Screen:
<img width="1256" alt="image"
src="dad6d098-8c29-4310-9988-784d227e30e1">
Part of https://github.com/elastic/kibana/issues/186574
## Summary
This PR migrates the method to access an APM Plugin view model field,
which consumes `authc.getCurrentUser`, to use `coreStart.security`.
Background: This PR serves as an example of a plugin migrating away from
depending on the Security plugin, which is a high priority effort for
the last release before 9.0.
### Checklist
Delete any items that are not applicable to this PR.
- [ ] [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
Part of https://github.com/elastic/kibana/issues/186574
## Summary
This PR migrates the method to access a Serverless Search view model
field, which consumes `authc.getCurrentUser`, to use
`coreStart.security`.
Background: This PR serves as an example of a plugin migrating away from
depending on the Security plugin, which is a high priority effort for
the last release before 9.0.
### Checklist
Delete any items that are not applicable to this PR.
- [ ] [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