Commit graph

434 commits

Author SHA1 Message Date
Stratoula Kalafateli
33a056bec6
[8.14] [ES|QL] Remove version from _query requests (#184053) (#184228)
# Backport

This will backport the following commits from `main` to `8.14`:
- [[ES|QL] Remove version from _query requests
(#184053)](https://github.com/elastic/kibana/pull/184053)

<!--- Backport version: 8.9.8 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Stratoula
Kalafateli","email":"efstratia.kalafateli@elastic.co"},"sourceCommit":{"committedDate":"2024-05-24T13:44:52Z","message":"[ES|QL]
Remove version from _query requests (#184053)\n\n##
Summary\r\n\r\nRemoves the versioning from the _query api
requests.\r\n\r\nThis ES PR removes the version from the _query
requests\r\nhttps://github.com/elastic/elasticsearch/pull/108919 and got
backported\r\nat 8.14 too. We need to also remove it from our side too
to be in sync\r\nwith ES
changes.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c78c0132163b10917ea68407d66bc4d70d09025","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","Team:Obs
AI
Assistant","Feature:ES|QL","ci:project-deploy-observability","v8.14.0","Team:ESQL","v8.15.0"],"number":184053,"url":"https://github.com/elastic/kibana/pull/184053","mergeCommit":{"message":"[ES|QL]
Remove version from _query requests (#184053)\n\n##
Summary\r\n\r\nRemoves the versioning from the _query api
requests.\r\n\r\nThis ES PR removes the version from the _query
requests\r\nhttps://github.com/elastic/elasticsearch/pull/108919 and got
backported\r\nat 8.14 too. We need to also remove it from our side too
to be in sync\r\nwith ES
changes.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c78c0132163b10917ea68407d66bc4d70d09025"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","labelRegex":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/184053","number":184053,"mergeCommit":{"message":"[ES|QL]
Remove version from _query requests (#184053)\n\n##
Summary\r\n\r\nRemoves the versioning from the _query api
requests.\r\n\r\nThis ES PR removes the version from the _query
requests\r\nhttps://github.com/elastic/elasticsearch/pull/108919 and got
backported\r\nat 8.14 too. We need to also remove it from our side too
to be in sync\r\nwith ES
changes.\r\n\r\n---------\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"5c78c0132163b10917ea68407d66bc4d70d09025"}}]}]
BACKPORT-->

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2024-05-29 10:50:11 +02:00
Kibana Machine
2ce61f75b9
[8.14] [Search] Fix integration id overlap for connectors (#184353) (#184372)
# Backport

This will backport the following commits from `main` to `8.14`:
- [[Search] Fix integration id overlap for connectors
(#184353)](https://github.com/elastic/kibana/pull/184353)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Navarone
Feekery","email":"13634519+navarone-feekery@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-05-28T16:50:23Z","message":"[Search]
Fix integration id overlap for connectors (#184353)\n\n##
Summary\r\n\r\nConnectors registered as custom integrations use the
value in\r\n`connector.serviceType` as an id. However, there are some
connectors\r\nthat share a service type. This causes an error when
running Kibana due\r\nto the id clash.\r\n\r\nThis PR changes the id
into a concatenation of `serviceType` and `name`\r\nto ensure all ids
are unique.\r\n\r\nErrors before change (these no longer recur after the
changes):\r\n\r\n```log\r\n[2024-05-28T12:06:10.514+00:00][ERROR][plugins.customIntegrations]
Integration with id=confluence already
exists.\r\n[2024-05-28T12:06:10.516+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.517+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.518+00:00][ERROR][plugins.customIntegrations]
Integration with id=salesforce already
exists\r\n```","sha":"ef7677341b39e762d30aeeabd1ab6e163bd4668c","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:EnterpriseSearch","v8.14.0","v8.15.0"],"title":"[Search]
Fix integration id overlap for
connectors","number":184353,"url":"https://github.com/elastic/kibana/pull/184353","mergeCommit":{"message":"[Search]
Fix integration id overlap for connectors (#184353)\n\n##
Summary\r\n\r\nConnectors registered as custom integrations use the
value in\r\n`connector.serviceType` as an id. However, there are some
connectors\r\nthat share a service type. This causes an error when
running Kibana due\r\nto the id clash.\r\n\r\nThis PR changes the id
into a concatenation of `serviceType` and `name`\r\nto ensure all ids
are unique.\r\n\r\nErrors before change (these no longer recur after the
changes):\r\n\r\n```log\r\n[2024-05-28T12:06:10.514+00:00][ERROR][plugins.customIntegrations]
Integration with id=confluence already
exists.\r\n[2024-05-28T12:06:10.516+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.517+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.518+00:00][ERROR][plugins.customIntegrations]
Integration with id=salesforce already
exists\r\n```","sha":"ef7677341b39e762d30aeeabd1ab6e163bd4668c"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","branchLabelMappingKey":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/184353","number":184353,"mergeCommit":{"message":"[Search]
Fix integration id overlap for connectors (#184353)\n\n##
Summary\r\n\r\nConnectors registered as custom integrations use the
value in\r\n`connector.serviceType` as an id. However, there are some
connectors\r\nthat share a service type. This causes an error when
running Kibana due\r\nto the id clash.\r\n\r\nThis PR changes the id
into a concatenation of `serviceType` and `name`\r\nto ensure all ids
are unique.\r\n\r\nErrors before change (these no longer recur after the
changes):\r\n\r\n```log\r\n[2024-05-28T12:06:10.514+00:00][ERROR][plugins.customIntegrations]
Integration with id=confluence already
exists.\r\n[2024-05-28T12:06:10.516+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.517+00:00][ERROR][plugins.customIntegrations]
Integration with id=jira already
exists.\r\n[2024-05-28T12:06:10.518+00:00][ERROR][plugins.customIntegrations]
Integration with id=salesforce already
exists\r\n```","sha":"ef7677341b39e762d30aeeabd1ab6e163bd4668c"}}]}]
BACKPORT-->

Co-authored-by: Navarone Feekery <13634519+navarone-feekery@users.noreply.github.com>
2024-05-28 11:23:51 -07:00
Kibana Machine
04b5443966
[8.14] [Search] Update connectors license (#181153) (#181547)
# Backport

This will backport the following commits from `main` to `8.14`:
- [[Search] Update connectors license
(#181153)](https://github.com/elastic/kibana/pull/181153)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Efe Gürkan
YALAMAN","email":"efeguerkan.yalaman@elastic.co"},"sourceCommit":{"committedDate":"2024-04-24T11:29:13Z","message":"[Search]
Update connectors license (#181153)\n\n## Summary\r\n\r\nUpdates various
connector configurations.\r\n\r\n- Box, Notion, Slack, Teams, and Zoom
are set to run native.\r\n- Oracle, Outlook and Gmail are GA now. \r\n-
GraphQL and OpenText Documentum added as Tech Preview
connector\r\nclients.\r\n- Fixed a few tooltip issues.\r\n- Fixed a
Teams `service_type` in integrations page.\r\n\r\nNote, waiting for
icons for GraphQL and OpenText Documentum before\r\nmerging. Screenshots
below will have broken images until they are added.\r\n\r\n\"Select
Connector\" with basic license:\r\n<img width=\"1008\" alt=\"Screenshot
2024-04-18 at 15 33
30\"\r\nsrc=\"113237fb-94e0-465f-8134-f09fc871bc96\">\r\n<img
width=\"1028\" alt=\"Screenshot 2024-04-18 at 15 33
35\"\r\nsrc=\"c59d63bb-fd27-45d3-9e05-093fdf5af6d6\">\r\n\r\nIntegrations
tiles:\r\n<img width=\"1244\" alt=\"Screenshot 2024-04-18 at 14 51
28\"\r\nsrc=\"314c2c0e-722e-400d-a933-3b99190181b2\">\r\n<img
width=\"577\" alt=\"Screenshot 2024-04-18 at 14 51
34\"\r\nsrc=\"56ef87b9-4ffc-4762-a37e-fa38a2a98c0c\">\r\n\r\nNative
Upgrades:\r\n<img width=\"342\" alt=\"Screenshot 2024-04-18 at 14 50
12\"\r\nsrc=\"324d006d-9f01-4761-be72-1346f88e47c0\">\r\n<img
width=\"346\" alt=\"Screenshot 2024-04-18 at 14 50
21\"\r\nsrc=\"d5d67838-1459-4a2a-9480-4c6e2fd6035b\">\r\n<img
width=\"352\" alt=\"Screenshot 2024-04-18 at 14 50
32\"\r\nsrc=\"4622d3bd-67b4-442b-9264-0d7ae889b8e7\">\r\n<img
width=\"347\" alt=\"Screenshot 2024-04-18 at 14 50
36\"\r\nsrc=\"929ea8fa-fadf-46ea-b23b-eaaa193e169e\">\r\n<img
width=\"378\" alt=\"Screenshot 2024-04-18 at 14 50
40\"\r\nsrc=\"44ae8fd6-5791-49c3-b4ef-7b7cb49f5038\">\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4a9132ef5e174d4ccba15dcb7800d9f5b2e5302","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:EnterpriseSearch","v8.14.0","v8.15.0"],"title":"[Search]
Update connectors
license","number":181153,"url":"https://github.com/elastic/kibana/pull/181153","mergeCommit":{"message":"[Search]
Update connectors license (#181153)\n\n## Summary\r\n\r\nUpdates various
connector configurations.\r\n\r\n- Box, Notion, Slack, Teams, and Zoom
are set to run native.\r\n- Oracle, Outlook and Gmail are GA now. \r\n-
GraphQL and OpenText Documentum added as Tech Preview
connector\r\nclients.\r\n- Fixed a few tooltip issues.\r\n- Fixed a
Teams `service_type` in integrations page.\r\n\r\nNote, waiting for
icons for GraphQL and OpenText Documentum before\r\nmerging. Screenshots
below will have broken images until they are added.\r\n\r\n\"Select
Connector\" with basic license:\r\n<img width=\"1008\" alt=\"Screenshot
2024-04-18 at 15 33
30\"\r\nsrc=\"113237fb-94e0-465f-8134-f09fc871bc96\">\r\n<img
width=\"1028\" alt=\"Screenshot 2024-04-18 at 15 33
35\"\r\nsrc=\"c59d63bb-fd27-45d3-9e05-093fdf5af6d6\">\r\n\r\nIntegrations
tiles:\r\n<img width=\"1244\" alt=\"Screenshot 2024-04-18 at 14 51
28\"\r\nsrc=\"314c2c0e-722e-400d-a933-3b99190181b2\">\r\n<img
width=\"577\" alt=\"Screenshot 2024-04-18 at 14 51
34\"\r\nsrc=\"56ef87b9-4ffc-4762-a37e-fa38a2a98c0c\">\r\n\r\nNative
Upgrades:\r\n<img width=\"342\" alt=\"Screenshot 2024-04-18 at 14 50
12\"\r\nsrc=\"324d006d-9f01-4761-be72-1346f88e47c0\">\r\n<img
width=\"346\" alt=\"Screenshot 2024-04-18 at 14 50
21\"\r\nsrc=\"d5d67838-1459-4a2a-9480-4c6e2fd6035b\">\r\n<img
width=\"352\" alt=\"Screenshot 2024-04-18 at 14 50
32\"\r\nsrc=\"4622d3bd-67b4-442b-9264-0d7ae889b8e7\">\r\n<img
width=\"347\" alt=\"Screenshot 2024-04-18 at 14 50
36\"\r\nsrc=\"929ea8fa-fadf-46ea-b23b-eaaa193e169e\">\r\n<img
width=\"378\" alt=\"Screenshot 2024-04-18 at 14 50
40\"\r\nsrc=\"44ae8fd6-5791-49c3-b4ef-7b7cb49f5038\">\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4a9132ef5e174d4ccba15dcb7800d9f5b2e5302"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","branchLabelMappingKey":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/181153","number":181153,"mergeCommit":{"message":"[Search]
Update connectors license (#181153)\n\n## Summary\r\n\r\nUpdates various
connector configurations.\r\n\r\n- Box, Notion, Slack, Teams, and Zoom
are set to run native.\r\n- Oracle, Outlook and Gmail are GA now. \r\n-
GraphQL and OpenText Documentum added as Tech Preview
connector\r\nclients.\r\n- Fixed a few tooltip issues.\r\n- Fixed a
Teams `service_type` in integrations page.\r\n\r\nNote, waiting for
icons for GraphQL and OpenText Documentum before\r\nmerging. Screenshots
below will have broken images until they are added.\r\n\r\n\"Select
Connector\" with basic license:\r\n<img width=\"1008\" alt=\"Screenshot
2024-04-18 at 15 33
30\"\r\nsrc=\"113237fb-94e0-465f-8134-f09fc871bc96\">\r\n<img
width=\"1028\" alt=\"Screenshot 2024-04-18 at 15 33
35\"\r\nsrc=\"c59d63bb-fd27-45d3-9e05-093fdf5af6d6\">\r\n\r\nIntegrations
tiles:\r\n<img width=\"1244\" alt=\"Screenshot 2024-04-18 at 14 51
28\"\r\nsrc=\"314c2c0e-722e-400d-a933-3b99190181b2\">\r\n<img
width=\"577\" alt=\"Screenshot 2024-04-18 at 14 51
34\"\r\nsrc=\"56ef87b9-4ffc-4762-a37e-fa38a2a98c0c\">\r\n\r\nNative
Upgrades:\r\n<img width=\"342\" alt=\"Screenshot 2024-04-18 at 14 50
12\"\r\nsrc=\"324d006d-9f01-4761-be72-1346f88e47c0\">\r\n<img
width=\"346\" alt=\"Screenshot 2024-04-18 at 14 50
21\"\r\nsrc=\"d5d67838-1459-4a2a-9480-4c6e2fd6035b\">\r\n<img
width=\"352\" alt=\"Screenshot 2024-04-18 at 14 50
32\"\r\nsrc=\"4622d3bd-67b4-442b-9264-0d7ae889b8e7\">\r\n<img
width=\"347\" alt=\"Screenshot 2024-04-18 at 14 50
36\"\r\nsrc=\"929ea8fa-fadf-46ea-b23b-eaaa193e169e\">\r\n<img
width=\"378\" alt=\"Screenshot 2024-04-18 at 14 50
40\"\r\nsrc=\"44ae8fd6-5791-49c3-b4ef-7b7cb49f5038\">\r\n\r\n\r\n###
Checklist\r\n\r\nDelete any items that are not applicable to this
PR.\r\n\r\n- [x] Any text added follows [EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[
]\r\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\r\nwas
added for features that require explanation or tutorials\r\n- [ ] [Unit
or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common
scenarios\r\n\r\n---------\r\n\r\nCo-authored-by: Kibana Machine
<42973632+kibanamachine@users.noreply.github.com>","sha":"d4a9132ef5e174d4ccba15dcb7800d9f5b2e5302"}}]}]
BACKPORT-->

Co-authored-by: Efe Gürkan YALAMAN <efeguerkan.yalaman@elastic.co>
2024-04-24 05:51:52 -07:00
Kibana Machine
adc946a202
[8.14] [ES|QL] Unskip search tests and add version (#181114) (#181256)
# Backport

This will backport the following commits from `main` to `8.14`:
- [[ES|QL] Unskip search tests and add version
(#181114)](https://github.com/elastic/kibana/pull/181114)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Julia
Rechkunova","email":"julia.rechkunova@elastic.co"},"sourceCommit":{"committedDate":"2024-04-21T16:46:05Z","message":"[ES|QL]
Unskip search tests and add version (#181114)\n\n- Closes
https://github.com/elastic/kibana/issues/181090\r\n- Closes
https://github.com/elastic/kibana/issues/181091\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b288ab4880958100287a1f7457af0d4693adf98f","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:DataDiscovery","backport:prev-minor","Feature:ES|QL","v8.15.0"],"title":"[ES|QL]
Unskip search tests and add
version","number":181114,"url":"https://github.com/elastic/kibana/pull/181114","mergeCommit":{"message":"[ES|QL]
Unskip search tests and add version (#181114)\n\n- Closes
https://github.com/elastic/kibana/issues/181090\r\n- Closes
https://github.com/elastic/kibana/issues/181091\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b288ab4880958100287a1f7457af0d4693adf98f"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.15.0","branchLabelMappingKey":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/181114","number":181114,"mergeCommit":{"message":"[ES|QL]
Unskip search tests and add version (#181114)\n\n- Closes
https://github.com/elastic/kibana/issues/181090\r\n- Closes
https://github.com/elastic/kibana/issues/181091\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"b288ab4880958100287a1f7457af0d4693adf98f"}}]}]
BACKPORT-->

Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
2024-04-21 11:24:18 -07:00
Tiago Costa
74b3ccaaff
skip flaky suite (#181090) 2024-04-18 04:24:23 +01:00
Drew Tate
bec1755030
[ES|QL] Add more functions to the validator (#180640)
## Summary

- [x]
[`SIGNUM`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-signum)
- [x] spatial functions
- [x]
[`ST_CENTROID_AGG`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-agg-st-centroid)
- [x]
[`ST_CONTAINS`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_contains)
- [x]
[`ST_DISJOINT`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_disjoint)
- [x]
[`ST_INTERSECTS`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_intersects)
- [x]
[`ST_WITHIN`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_within)
- [x]
[`ST_X`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_x)
- [x]
[`ST_Y`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-st_y)
- [x]
[`MV_SLICE`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-mv_slice)
- [x]
[`MV_ZIP`](https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-functions-operators.html#esql-mv_zip)

### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2024-04-13 08:54:45 +02:00
Stratoula Kalafateli
125c8951e5
[ES|QL] Runs the _query requests with the version (#180248)
## Summary

Due to https://github.com/elastic/kibana/issues/179641

ES is going to add a mandatory field `version`. (it is optional for now
but they want to make it required for the GA).

The version will change in backwards incompatible changes:
- syntax changes
- functions / commands output changes

This is the first PR which is adding the first version manually for now.
In https://github.com/elastic/kibana/issues/179641 we are exploring how
to deal with versioning in kibana. We are going to offer a solution in
8.15. For now we are adding the version hardcoded (otherwise when the
field is marked required kibana _query requests will fail.

👮‍♀️ If you are aware of any other application which uses the _query api
and is not updated in this PR please let me know

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-04-09 17:39:08 +02:00
Marco Liberati
fb19e57a4e
[ES|QL] New @kbn/esql-services package (#179029)
## Summary

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

This PR extracts the ES|QL service like "validation", "autocomplete",
"code_action" (quick fixes) and some other services into a separate
package `@kbn/esql-validation-autocomplete` which has no tie with Monaco
editor anymore.

All the AST and grammar logic has been encapsulated into a single
`@kbn/esql-ast` package who contains the `getAst` function together with
the `parser` and `lexer`.

## Validation enhancements

The validation API has been enhanced to gracefully degrade whenever
callbacks are not provided, via the `ignoreOnMissingCallback` option.
Tests are included as well for this scenario.

### Example plugin

An example plugin app has been developed to show to to use the
validation API

<img width="500" alt="Screenshot 2024-03-22 at 17 45 38"
src="ebc172d3-ee61-4f3a-9e42-dcb9b15c7e69">

The app starts with a missing callback:

<img width="855" alt="Screenshot 2024-03-22 at 17 36 22"
src="c9b81370-8a10-487d-b22f-2359e1365a54">

Toggling the ignore option will hide the index error due to the lack of
`getSources` callback:

<img width="816" alt="Screenshot 2024-03-22 at 17 28 17"
src="931f4e5f-3ad6-46f7-97ca-63d7bb66646b">

Warnings are shown as well when detected:

<img width="807" alt="Screenshot 2024-03-22 at 17 35 56"
src="5e3e0537-cba2-475f-946b-0302867384ca">

#### Code snippet

The example app produces a copyable code snippet of the current
configuration of the validator:

![Code
snippet](https://private-user-images.githubusercontent.com/924948/316838987-fd16da58-8790-40b2-851d-b92aca1811dc.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTE0NTY0MzUsIm5iZiI6MTcxMTQ1NjEzNSwicGF0aCI6Ii85MjQ5NDgvMzE2ODM4OTg3LWZkMTZkYTU4LTg3OTAtNDBiMi04NTFkLWI5MmFjYTE4MTFkYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwMzI2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDMyNlQxMjI4NTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZDhhOGRlMjZjMzZhN2NjNTdkYWMxYTNjOWVkNTA3NDk5NGViOTg2NWEzMTAyZGM4MGYyOTQ0YjQ2N2Q3ZDI1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.H-3r_B57NK1-rS8UbR_bxlNtAMQ0flFGtW0oTIiOlr0)

### Checklist

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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-03-27 14:39:48 +01:00
Julia Rechkunova
fc2c389cce
[DataViewField] Allow to add a custom description for data view fields (#168577)
- Closes https://github.com/elastic/kibana/issues/89726

## Summary

This PR extends Data View Field flyout with a new textarea to enter and
save a custom field description. This description will be shown in a
field popover for Discover sidebar, in Doc Viewer and also on Data View
management page. Current limit for the custom description is 300.

When creating/editing a field:
<img width="600" alt="Screenshot 2024-03-07 at 18 59 24"
src="433e66d1-9366-4906-8aea-33b77ae81c16">

In the field popover(truncated):
<img width="500" alt="Screenshot 2024-03-07 at 18 56 52"
src="8753a11d-6b27-40c1-adaa-de35addb50df">

In the field popover(expanded):
<img width="500" alt="Screenshot 2024-03-07 at 18 57 00"
src="b593169e-305e-4d4b-853a-4937324e2470">

In Doc Viewer popover(always expanded):
<img width="500" alt="Screenshot 2024-03-07 at 18 57 21"
src="106562a2-baad-4952-a9cc-fa779f96c1e1">

On Data View Management page(truncated):
<img width="500" alt="Screenshot 2024-03-07 at 18 57 42"
src="031ed482-5c84-484f-ae9e-6b1e7622c17c">



<details>
<summary>Initial implementation examples</summary>

 
![Oct-11-2023
11-45-45](533ddd34-a1bd-4553-8fc9-7b9d006f0837)


<img width="600" alt="Screenshot 2023-10-11 at 11 52 22"
src="8e40da6f-fcfc-4e36-9314-d3fc34e6ecab">

<img width="600" alt="Screenshot 2023-10-11 at 11 46 44"
src="d5ee22a7-0314-4742-b75f-6534e1b4024d">

<img width="600" alt="Screenshot 2023-10-11 at 11 46 29"
src="dcd809df-7942-4165-8b83-4a83267cea00">

<img width="600" alt="Screenshot 2023-10-11 at 11 47 15"
src="197add4d-b185-4631-a2b9-eaf013aad8ba">

<img width="600" alt="Screenshot 2023-10-11 at 12 05 29"
src="9b619e20-c3d1-4c20-ac65-8b922ad1da72">

</details>

### Checklist

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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Matthew Kime <matt@mattki.me>
Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
2024-03-19 17:30:59 +01:00
Hannah Mudge
235c4d5ad7
[Controls] Add "Apply" button (#174714)
Closes https://github.com/elastic/kibana/issues/170396
Closes https://github.com/elastic/kibana/issues/135459

## Summary

This PR adds the option to **stop** selections from being auto-applied -
instead, authors can make it so that their selections are only applied
once the new apply button is clicked:



d785631c-0aa5-4e3f-81f9-2d1d0f582b70

### Brief Summary of Changes

- **Publishing Filters**
We used to publish the control group filters as soon as **any** child
changed its output - however, if the apply button is enabled, this logic
no longer works. So, we added an extra step to the publishing of
filters:

1. When a child's output changes, we check if the apply button is
enabled
2. If it is disabled, we publish the filters to the control group output
right away (like we used to); otherwise, we push the new filters to the
`unpublishedFilters` array.
3. Clicking the apply button will publish the `unpublishedFilters`
array.

- **Unsaved Changes**
We used to publish control group unsaved changes whenever **anything**
about the children panels' persistable input changed - however, this no
longer works with the apply button because we **don't** want selections
to trigger unsaved changes when it is enabled.
   
To get around this, we **no longer** take into account selections when
checking for unsaved changes - instead, we compare the **output
filters** from the control group to determine whether anything about the
children changed. As described above, if the control group has
"auto-apply selections" turned off, the control group waits to change
its output until the apply button is clicked - therefore, unsaved
changes will **also** not be triggered until the apply button is
clicked. This unsaved changes logic works **regardless** of if the apply
button is enabled or not.

- **Saved Object**
This required changes to the **dashboard** saved object because of how
we store the control group input as part of the dashboard SO - so, we
are now on a second version for the Dashboard SO. I've also made this
version **slightly less strict** by allowing unknown attributes in the
schema - that way, unknown attributes will no longer throw an error (as
they do on version 1).

### Checklist

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


### For maintainers

- [ ] 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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nick Peihl <nick.peihl@elastic.co>
2024-03-12 12:22:39 -06:00
Matthew Kime
ed29b977bd
[data views] Support field type as param for getting fields (#177905)
## Summary

We want to be more specific about which fields we load and therefore
need more expressive options for querying. This adds support for
querying by field type which is already supported by the field caps api.

This extends the fields_for_wildcard and fields internal endpoints.

Broken out of https://github.com/elastic/kibana/pull/173948

---------

Co-authored-by: Julia Rechkunova <julia.rechkunova@gmail.com>
2024-03-08 09:50:51 -07:00
Navarone Feekery
9262d96788
[Search] Fix native connector search results (#178003)
## Summary

This fixes the search result to redirect to native connector pages if
the user is on cloud and the connector supports native. Otherwise the
connector page will be for a connector client.

Also consolidate the reference for connector integrations used for
searching the top search bar and the integrations page.
There's a lot of repetitiveness here, and because they are very similar
in both use and design, it is ideal to have a single source of truth.
2024-03-06 09:34:12 +01:00
Matthew Kime
9f3bab6d99
[data views] Field retrieval - better handling of closed indices (#177370)
## Summary

The field caps api returns an error if an index pattern matches a closed
index. Now the error is handled and and an empty set is returned.

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

---------

Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
2024-03-04 06:58:49 -07:00
Artem Shelkovnikov
c2dedc957a
Add tiles and integrations for Jira Data Center and Confluence Data Center (#177436)
## Summary

This PR adds tiles for two connectors:

- Jira Data Center
- Confluence Data Center

These connectors internally use same service types: `jira` and
`confluence`. They re-use documentation for these connectors - it can be
found in the same pages as for original Jira/Confluence connectors.

The tiles are added to Enterprise Search connectors page + into
integrations page. See screenshots.

<img width="1217" alt="Screenshot 2024-02-21 at 14 10 20"
src="da944de9-828b-453b-ad38-1695ae3d557a">

<img width="1217" alt="Screenshot 2024-02-21 at 14 11 09"
src="aaac975e-e423-42a3-846b-628e9e673b5a">


### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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

- [ ] 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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-02-21 17:49:21 -07:00
Artem Shelkovnikov
81bccc5a81
Add tiles for Notion and Redis connector (#177306)
## Summary

This PR adds tiles for two new connectors:

- Redis
- Notion

The tiles are added to Enterprise Search connectors page + into
integrations page. See screenshots.

<img width="1217" alt="image"
src="17bac917-f636-477e-91ae-facc48b3c06c">

<img width="1217" alt="image"
src="f56f44bf-25a9-464c-b84b-f71947d7a3c3">

<img width="1217" alt="image"
src="329a3a7e-da1b-49b3-902f-75421fb9e289">


### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [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

- [ ] 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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2024-02-21 10:50:08 -07:00
Marco Liberati
392bb4024e
[ES|QL] Integration tests (#177017)
## Summary

The validation test suite now dumps all test cases into a JSON with a
flag that tell if the query should fail or not.

On top of that an integration test has been written, who collects the
JSON and execute it again against the ES ES|QL `_query` endpoint, then
compare the two result.

* if both results are the same (both pass or errors) then it's good to
go 
* if client side fails and ES pass, then it's a failure  
* if client side passes and ES fails, then it's bad but still ok ⚠️ 
* in this case the error is logged and stored into a JSON (not
committed)

All tests are ran 8 times ( stringField => `["text", "keyword"]`,
numberField => `["integer", "double", "long", "unsigned_long]` for a
totale of ~16k assertions (2000 x 8 tests).
Assertions have to be within a single test to avoid memory issues on the
CI otherwise.

~~Fixes the signature utility for functions with a minimum number of
args.~~



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

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2024-02-19 12:07:55 +01:00
Davis McPhee
509248b0c6
[Saved Queries] Improve saved query management (#170599)
## Summary

This PR introduces a number of changes and improvements to saved query
management:
- Add server side pagination (5 queries per page) and search
functionality to the "Load query" list, which improves UX and
performance by no longer requesting all queries at once.
- Redesign the "Load query" list to improve the UX and a11y, making it
possible for keyboard users to effectively navigate the list and
load/delete queries.
- Add an "Active" badge to the "Load query" list to indicate which list
entry represents the currently loaded query, and hoist the entry to the
top of the first page for better visibility when no search term exists.
- Deprecate the saved query `/_all` endpoint and update it to return
only the first 100 queries instead of loading them all into memory at
once.
- Add a new `titleKeyword` field to the saved query SO, which allows
sorting queries alphabetically by title when displaying them in the
"Load query" list.
- Improve the performance of the "has saved queries" check when Unified
Search is mounted to no longer request actual queries, and instead just
request the count.
- Update the saved query duplicate title check to no longer rely on
fetching all queries at once, and instead asynchronously check for
duplicates by title on save.
- Add server side duplicate title validation to the create and update
saved query endpoints.
- Various small fixes and cleanups throughout saved query management.


43328aea-0f7b-4b7a-a5fb-e33ed822f317

Resolves #172044.
Resolves #176427.

## Testing

To generate saved queries for testing, run the script below and replace
`{KIBANA_REQUEST_COOKIE}` with the cookie header value from an API
request of a Kibana user with an active session:
```shell
for i in {1..100}; do curl 'http://localhost:5601/internal/saved_query/_create' \
  -H 'Accept: */*' \
  -H 'Accept-Language: en-US,en;q=0.9,az;q=0.8,es;q=0.7' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/json' \
  -H 'Cookie: {KIBANA_REQUEST_COOKIE}' \
  -H 'elastic-api-version: 1' \
  -H 'kbn-build-number: 9007199254740991' \
  -H 'kbn-version: 8.13.0' \
  -H 'x-elastic-internal-origin: Kibana' \
  --data-raw '{"title":"query '"$(echo $(($i - 1)) | tr '[0-9]' '[a-j]')"'","description":"","query":{"query":"bytes > 500","language":"kuery"},"filters":[]}' \
  --compressed; done
```

### Checklist

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

### For maintainers

- [ ] 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: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
2024-02-12 13:18:17 -04:00
Stratoula Kalafateli
43d93baf29
Make the drop_null_columns configurable in ES|QL search strategies (#176236)
## Summary

Fixes https://github.com/elastic/kibana/issues/176227

As not everyone is using expressions and the `?drop_null_columns`
significantly changing the output, I am making this configurable. So for
the expressions users it will always be true but for anyone else it
would be false unless they specifically configure it.

This PR is fixing it but Nathan is going to follow up:

- maps are setting the drop_null_columns to true (as it makes the
response smaller, which is always a benefit)
- add some FTs to test the output

---------

Co-authored-by: Julia Rechkunova <julia.rechkunova@gmail.com>
2024-02-06 16:28:08 +02:00
Stratoula Kalafateli
5104183911
[ES|QL] Distinguish among empty and available fields (#174585) 2024-02-02 18:30:24 +02:00
Matthew Kime
acdaf0127e
[data views] cache field caps requests (#168910)
## Summary

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

Field caps request caching - implement `stale-while-revalidate` cache
headers and etags with 304 responses as appropriate.

This PR accomplishes
- Adds 304 Not Modified to http server
- Adds refresh button to data view management that force refreshes field
list
- Adds `/internal/data_views/fields` endpoint which supports caching. 
- This is necessary since `fields_for_wildcard` doesn't support caching
due to POST requests
- Adds `stale-while-revalidate` header directive UNLESS field list is
empty.
- Uses Vary header with hash of user id to force requests when user has
changed.
- Unchanged field list responses won't recreate data view field list

### How to test
1. Pop open the dev tools to the network tab and make sure 'Disable
cache' is unchecked. filter for 'fields' requests
2. Load more than one data set (sample data is fine)
3. Go to discover
4. Switch selected data views. Notice status code on first load vs
subsequent loads
5. Open a new window, notice loading from cache
6. Push document that changes field list. You'll need to wait for cache
to expire for it to load. The default is 5s.
7. Notice that field list loads after cache is old properly result in
304 response.
8. Set `data_views:cache_max_age`, shift reload. No field requests will
be cached.

#### Note on Safari

Safari doesn't support the `stale-while-revalidate` directive.
Additionally, the Safari dev console shows 304 responses as 200's. I
figured this out by adding console statements to the fields endpoint. As
best I can tell, Safari won't be performant on slow clusters but its
also no slower than it was before this PR. Safari does respect the
disabling of cache headers.

## Release note

Data View field list requests are now cached with a
`stale-while-revalidate` strategy. This means that after the initial
field list request, all subsequent requests return the cached response
which is very fast. If the cache is determined to be stale then the
cache will update in the background and new data will be available on
the next request.

This behavior can be modified via the `data_views:cache_max_age` Kibana
advanced setting. Setting it to zero will disable the cache. All other
values (in seconds) will be used to determine whether the cache is
stale. The default value is 5 seconds.

The field list can be manually updated via the refresh button in data
view management or a hard refresh with your browser.

Note for Safari: The `stale-while-revalidate` cache directive is
unsupported, therefore it makes additional requests. If this is
impacting Kibana performance then try Chrome or Firefox.

Data View Management

<img width="1064" alt="Screenshot 2024-01-09 at 1 36 20 PM"
src="f272c19f-81b4-4697-9303-b1f8f150e2b9">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com>
Co-authored-by: Julia Rechkunova <julia.rechkunova@elastic.co>
Co-authored-by: Julia Rechkunova <julia.rechkunova@gmail.com>
2024-01-16 06:54:38 -06:00
Elena Stoeva
946b38ed57
[Advanced Settings] Fix defaultIndex setting's default value (#170865)
Fixes https://github.com/elastic/kibana/issues/168732

## Summary

This PR changes the default value of the `defaultIndex` setting to an
empty string. Previously, the default value was set to `null` and this
was causing a wrong behaviour in the Advanced Settings UI as it expects
a string value for the settings of type `string`.

**Before - the "Reset to default" link did not clear the user value:**


2c47306b-feac-4e08-bbae-3db7b0a3e5fd


**With these changes:**


dc46caa8-9860-4b66-87ca-9c184c5a8391
2023-12-11 10:01:01 +00:00
Eyo O. Eyo
cfe0d1cbc8
Investigate failing sample data API integration test (#169638)
## Summary

Investigate failing sample data integration test. Changes expectation to
consider the entire interval in milliseconds of the sample data, in
place of the value in weeks.

<!-- 
### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] 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 renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

-->
2023-12-08 16:38:07 +01:00
Yulia Čech
a29b0f4573
[Console] Add api integration tests for serverless (#172306)
## Summary

This PR adds api integration test for Console routes: some were missing
on stateful and all are now enabled on serverless.
2023-12-05 10:26:51 +01:00
Ahmad Bamieh
32d9e22a18
[Tests] apis UI Counters UI remove dependency on date (#170734)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Alejandro Fernández Haro <afharo@gmail.com>
2023-11-14 06:37:52 -07:00
Nathan Reese
f28445449e
[inspector] show request method, path, and querystring (#169970)
Closes https://github.com/elastic/kibana/issues/45931

PR updates data plugin `search` and `bsearch` endpoints to return
method, path, and querystring request params from elasticsearch-js
client requests. This provides inspector with the exact details used to
fetch data from elasticsearch, ensuring inspector displays request
exactly as used by elasticsearch-js client.

**ESQL** This PR makes it possible to open ESQL searches in console.
<img width="500" alt="Screen Shot 2023-09-16 at 4 19 58 PM"
src="56019fb5-ca88-46cf-a42f-86f5f51edfcc">

### background
If you are thinking to yourself, "haven't I reviewed this before?", you
are right. This functionality has been through several iterations.
1) Original PR https://github.com/elastic/kibana/pull/166565 was
reverted for exposing `headers`.
2) [Fix to only expose method, path, and querystring keys from request
parameters](https://github.com/elastic/kibana/pull/167544) was rejected
because it applied changes to
`kibana_utils/server/report_server_error.ts`, which is used extensively
throughout Kibana.
3) This iteration moves logic into the data plugin to be as narrow as
possible.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-11-03 15:46:55 -06:00
Nathan Reese
adf3b8b436
[search source] return rawResponse on search failure (#168389)
Closes https://github.com/elastic/kibana/issues/167099

#### Problem
`/bsearch` and `/search` APIs only return `error` key from elasticsearch
error response. This is problematic because Inspector needs
`rawResponse` to populate "Clusters and shards"

While working on this issue, I discovered another problem with how error
responses are added to inspector requestResponder. The `Error` instance
is added as `json` key. This is a little awkward since the response tab
just stringifies the contents of `json`, thus stringifing the Error
object instead of just the error body returned from API. This PR address
this problem by setting `json` to either `attributes` or `{ message }`.

#### Solution
PR updates `/bsearch` and `/search` APIs to return `{ attributes: {
error: ErrorCause, rawResponse }}` for failed responses. Solution
avoided changing KbnServerError and reportServerError since these
methods are used extensivly throughout Kibana (see
https://github.com/elastic/kibana/pull/167544#discussion_r1342460941 for
more details). Instead, KbnSearchError and reportSearchError are created
to report search error messages.

#### Test
1) install web logs sample data set
2) open discover
3) add filter
    ```
    {
      "error_query": {
        "indices": [
          {
            "error_type": "exception",
            "message": "local shard failure message 123",
            "name": "kibana_sample_data_logs",
            "shard_ids": [
              0
            ]
          }
        ]
      }
    }
    ```
4) Open inspector. Verify "Clusters and shards" tab is visible and
populated. Verify "Response" tab shows "error" and "rawResponse" keys.
<img width="500" alt="Screenshot 2023-10-09 at 9 29 16 AM"
src="461b0eb0-0502-4d48-a487-68025ef24d35">
<img width="500" alt="Screenshot 2023-10-09 at 9 29 06 AM"
src="9aff41eb-f771-48e3-a66d-1447689c2c6a">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Gloria Hornero <gloria.hornero@elastic.co>
2023-10-23 10:59:17 -06:00
Steph Milovic
91435a573f
Data views, getExistingIndices method to server side (#168522) 2023-10-16 14:19:50 -06:00
Tiago Costa
fed5c52859
skip flaky suite (#166572) 2023-10-15 19:39:02 +01:00
Efe Gürkan YALAMAN
8d9e12a19b
[Enterprise Search] Update connector tiles (#167656)
## Summary

- Update Integration Tiles
- Update Select Connector Tiles
- GitHub, OneDrive, Google Drive to native connectors

<img width="1427" alt="Screenshot 2023-09-29 at 16 38 08"
src="49607717-9c1d-4b73-8ae9-612c13641671">
<img width="1243" alt="Screenshot 2023-09-29 at 16 38 13"
src="f2ca0c1f-95ab-4f59-9baa-5fc59a42d5dc">
<img width="1317" alt="Screenshot 2023-09-29 at 16 38 25"
src="b8c758d5-f615-4ba7-805f-e944712b8777">
<img width="1366" alt="Screenshot 2023-09-29 at 16 38 44"
src="ca102329-e40c-4ebd-b7d4-6184b18bf0c2">
<img width="1452" alt="Screenshot 2023-09-29 at 16 38 51"
src="f6116d57-9a68-4538-8b92-7c296886c0bd">



### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-10-03 14:33:13 +02:00
Tiago Costa
7fdd25184d
skip flaky suite (#98240) 2023-10-03 12:08:42 +01:00
Rudolf Meijering
239e50389f
Revert "[inspector] show request method, path, and querystring" (#167485)
This reverts commit d61a5a0516 from
#166565

## Summary

Summarize your PR. If it involves visual changes include a screenshot or
gif.


### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] 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 renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2023-09-28 14:27:14 +02:00
Nathan Reese
d61a5a0516
[inspector] show request method, path, and querystring (#166565)
Closes https://github.com/elastic/kibana/issues/45931

PR updates bsearch service to return request params from
elasticsearch-js client requests. This provides inspector with the exact
details used to fetch data from elasticsearch, ensuring inspector
displays request exactly as used by elasticsearch-js client.

**ESQL** This PR makes it possible to open ESQL searches in console.
<img width="500" alt="Screen Shot 2023-09-16 at 4 19 58 PM"
src="56019fb5-ca88-46cf-a42f-86f5f51edfcc">

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-09-21 06:52:03 -06:00
Drew Tate
6d47334528
[Event annotations] add more API integration tests (#166463)
## Summary

Covers the event annotations API in tests.

Part of https://github.com/elastic/kibana/issues/159053
Part of https://github.com/elastic/kibana/issues/161038

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-09-18 12:45:06 -05:00
Eyo O. Eyo
92fcfa9747
Fix issue with flaky sample data API integration test (#165328)
## Summary

Closes;  
- https://github.com/elastic/kibana/issues/164568
- https://github.com/elastic/kibana/issues/121883
  
## Context;  

This issue is caused by inconsistencies in timestamp format existing in
the [sample data for
flights](https://github.com/elastic/kibana/blob/8.10/src/plugins/home/server/services/sample_data/data_sets/flights/flights.json.gz).

See screenshot; 

<img width="1020" alt="Screenshot 2023-09-06 at 09 45 18"
src="e358eb2d-dc92-4e0d-b697-e362e2dbd33b">

When the flight sample data is being installed, on encountering any one
of these data points with a timestamp that's not a valid representation
for a date ISOString, it results in the [computation of a
value](https://github.com/elastic/kibana/blame/v8.9.1/src/plugins/home/server/services/sample_data/lib/translate_timestamp.ts#L46)
that can not be parsed as a valid date, this is verifiable taking a look
at the result of a failed flaky test run
[here](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3037#018a5164-27e7-45d9-897c-56f34fe2bfc3/288-1243)
logging the documents returned that the test would run against, one
would note that the timestamp value for the first document is
`2000-01-15T` which computes to `NaN` when parsed which further cascades
into other parts of the test, causing it to fail eventually.

This PR removes the data points with the invalid timestamps and modifies
the tests to match the new expectation for the number of documents that
should have been indexed. This change set was also ran through the
[flaky test
runner](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3077)
with success.


### 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
2023-09-13 13:05:55 +02:00
Alejandro Fernández Haro
0ea37c1b42
[On-Week] Hot update of APM/EBT labels (#157093) 2023-08-31 14:36:20 +02:00
Alejandro Fernández Haro
0236516351
[Flaky #98240] Unskip test (#165197) 2023-08-30 17:04:22 +02:00
Matthias Wilhelm
76ac34a9b7
[DataViews] Improve error handling of resolving indices (#164400)
When in data view management an exact match index pattern is entered (without wildcard), there's now a status code of 404 instead of 500 returned, and no more error message logged.
2023-08-25 18:27:30 +02:00
Matthew Kime
0d72b8f75b
[data views] fix fields for wildcard integration test (#164772)
## Summary

I'm waiting for this to fail CI - this means that a new ES snapshot is
being used. Then we update the test snapshot and should be good to
merge.

The lastest ES snapshot is returning field types in a different order
which really doesn't matter to this endpoint so I'll just update the
snapshot.

Closes https://github.com/elastic/kibana/issues/164753
2023-08-24 21:03:33 -05:00
Kibana Machine
13701d3842 skip failing test suite (#164568) 2023-08-24 13:11:20 -04:00
Tiago Costa
30872c4bab
skip failing es promotion suites (#164753) 2023-08-24 17:36:20 +01:00
Rudolf Meijering
9a77123e4b
Fix 7.17 forward compatibility with 8.2+ (#164274)
## Summary

Forward-ports #164043 to `main`


### Checklist

Delete any items that are not applicable to this PR.

- [ ] 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
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] 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 renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
2023-08-23 04:09:26 -07:00
Lukas Olson
57b7efc3eb
Update error handling for saved query service (#163904)
## Summary

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

Updates the saved query service to properly handle & return errors from
the saved object client. Instead of displaying "internal server error"
and returning 500, specific error messages occur for corresponding saved
object client errors.

After:


![image](f8ba7b90-77fe-4db9-8377-0a1f878fe3a0)

### To do

- [x] API integration tests

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-08-22 13:09:00 -07:00
Tim Sullivan
f1402d682c
unskip sample_data_apis test: dates (#164112)
## Summary

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

I'm not seeing flakiness in the test suite after enabling all the tests.

Test suite: `test/api_integration/config.js`
Test runs:
*
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2904
*
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2917
2023-08-18 16:44:21 -07:00
Drew Tate
276cf86858
[Event annotations] add types to integration tests (#164103) 2023-08-17 09:17:25 -05:00
Drew Tate
08a48f3cf1
[Lens] allow removing ad-hoc data view from event annotation group (#163976) 2023-08-16 10:24:15 -05:00
Alejandro Fernández Haro
0284cc158d
[Telemetry] Use header-based versioned APIs instead of path-based (#159839) 2023-08-12 14:20:06 -07:00
Matthew Kime
cafaa9295e
[data views] swap_references api improvements (#163225)
## Summary

Some simple dev UX improvements to the swap_references data views api - 

```
POST /api/data_views/swap_references/_preview
{
     "fromId" : "abcd-efg",
     "toId" : "xyz-123"
}

returns 
{
  result: [{ id: "123", type: "visualization" }],
}
```


```
POST /api/data_views/swap_references
{
     "fromId" : "abcd-efg",
     "toId" : "xyz-123",
     "delete" : true // optional, removes data view which is no longer referenced
}

returns 
{
  result: [{ id: "123", type: "visualization" }],
  deleteStatus: {
    remainingRefs: 0,
    deletePerformed: true
}
```

Additional params - 

```
fromType: string - specify the saved object type. Default is `index-pattern` for data view
forId: string | string[] - limit the affected saved objects to one or more by id
forType: string - limit the affected saved objects by type
```

Improves upon https://github.com/elastic/kibana/pull/157665

Docs will be created in follow up PR
2023-08-11 20:56:46 -05:00
Sander Philipse
a4d3c0203f
[Enterprise Search] Update connectors for 8.10 (#162909)
## Summary

This adds native connectors, updates existing connectors, and rebrands
the Enterprise Search tag to Search in the Integrations page.
2023-08-03 07:14:07 -07:00
Gerard Soldevila
c3a5da8825
[FTR - esArchiver] Update encrypted_saved_objects_api_integration test archives to reduce flakiness (#162321)
## Summary

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

Updates all archives of the `encrypted_saved_objects_api_integration`
test suite:
* Removing SO index definitions.
* Updating documents defined in `data.json`.
2023-07-24 12:33:42 -04:00
Lukas Olson
13372c91ce
[data] Use versioned router for remaining routes (#161919)
## Summary

Uses the versioned router for the remaining routes in the data plugin:
KQL telemetry (opt-in stats), and scripting languages list.

### 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
2023-07-18 14:40:11 -07:00