Commit graph

2678 commits

Author SHA1 Message Date
Dzmitry Lemechko
f6a90974e9
[es_archives] add 'auto_expand_replicas: 0-1' in index mappings (#162499)
Currently, if you try loading archive with index mappings not having
replica set into stateless ES, it won't work properly: you will get 503
error on calling `GET <index_name>/_stats`:
```
{
  "error": {
    "root_cause": [
      {
        "type": "no_shard_available_action_exception",
        "reason": null
      }
    ],
    "type": "search_phase_execution_exception",
    "reason": "all shards failed",
    "phase": "query",
    "grouped": true,
    "failed_shards": [
      {
        "shard": 0,
        "index": "indices-stats",
        "node": null,
        "reason": {
          "type": "no_shard_available_action_exception",
          "reason": null
        }
      }
    ]
  },
  "status": 503
}
```
In stateless replica is
[required](https://elastic.slack.com/archives/C037J0RKRAN/p1690218904855299)
in order to perform search requests (the "search shard").

This PR updates index mappings in es_archives with
`"auto_expand_replicas": "0-1"`, in order to be compatible with
stateless ES and so that we can re-use existing data sets rather than
creating new ones.

I checked with Core Team that we should fine to just adapt all mapping
files, but let me know if that doesn't work for you.
The same value is used to create the "real" SO
[indices](c79c09c3d0/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/actions/constants.ts (L21))
in Kibana.
2023-07-26 14:30:54 +01:00
Gerard Soldevila
59450f0a22
[FTR - esArchiver] Update saved_objects_management test archives to reduce flakiness (#162259)
## Summary

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

Updates all archives of the
`test/functional/fixtures/es_archiver/saved_objects_management` test
suite:
* Removing SO index definitions.
* Updating documents defined in `data.json`.
2023-07-24 10:11:39 +02:00
Gerard Soldevila
2e15549b58
[FTR - esArchiver] Update the remaining "dynamic" archives, removing mappings.json (#162029)
## Summary

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

- Updates the remaining "dynamic" es archives (aka those using the
`$KIBANA_PACKAGE_VERSION` variable), deleting mappings.json.
- It also removes the piece of logic in `esArchiver` that replaces that
variable.
2023-07-19 17:43:00 +02:00
Sébastien Loix
fde21b15de
[Files management] Fix flaky functional test (#162146) 2023-07-18 07:40:51 -07:00
Davis McPhee
a1090ed1e4
[Discover] Re-enable _request_counts saved search test for SQL mode (#162086)
## Summary

This PR re-enables the disabled saved search functional test for SQL
mode in `test/functional/apps/discover/group3/_request_counts.ts`.
Recent improvements we've made to data fetching in SQL mode fixed the
underlying issue and the test now runs as expected.

Flaky test runs:
- x100:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2654
🟢

### Checklist

- [ ] ~Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/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
- [ ] ~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)~

### 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-07-18 10:20:50 -03:00
Sébastien Loix
c6deb252b2
[TableListView] Fix regression when resetting search (#162034) 2023-07-18 04:47:01 -07:00
Dzmitry Lemechko
72907cfe1e
convert more tests to use uiSettings for timePicker (#161737)
While searching in test files, I found few more places to replace
`PageObjects.timePicker.setAbsoluteRange` with
`PageObjects.common.setTime`.

Before changing I reviewed tests if it is not important to select
datePicker via UI component, but please double check scenarios because I
might miss the context.
2023-07-18 13:27:47 +02:00
Davis McPhee
9191bd9939
[Discover] Fix duplicate request in Discover when adding a filter (#161992)
This PR fixes a bug in Discover that can cause a duplicate request to be
sent when adding a filter under certain circumstances. It also reenables
the flaky tests that were skipped in #161157 which were failing due to
this bug.

Flaky test runs:
- x50:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2645
🔴
- x100:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2646
🔴
- x100:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2647
🟢

Resolves #161157.
2023-07-17 10:52:51 -03:00
Gerard Soldevila
e28ed4ea33
[FTR - esArchiver] Update deprecations_service archive to NOT delete SO indices (#161937)
## Summary

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

Updates the `test/functional/fixtures/es_archiver/deprecations_service`
archive:
* deleting `mappings.json`
* updating documents in `data.json`

This way, _esArchiver_ will not delete SO indices and recreate them,
eliminating the odds of the related tests being flaky.
2023-07-17 11:28:21 +02:00
Dzmitry Lemechko
85a99c954f
[ftr] migrate time picker GUI selection to uiSettings API call (#161642)
closes #113998

In order to make FTR functional tests faster and less flaky, we started
migrating time picker selection from UI action to Kibana API call:

```
    await this.kibanaServer.uiSettings.update({
      'timepicker:timeDefaults': `{ "from": <startTime>, "to": <endTime>}`,
    });
```

In this PR I updated most of the tests listed in the meta issue, so we
can close it.

Flaky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2606
2023-07-12 09:06:53 +02:00
Matthew Kime
d9d1404119
[saved search] Remove saved object client from data views plugin for saved search usage (#159109)
## Summary

Previously the data plugin relied on the data view plugin to load saved
searches since the saved searches depend upon the data plugin and
circular dependencies needed to be avoided. This is innovative and
perhaps a bit crazy.

What this PR does
- Data view api no longer loads saved searches, removing browser saved
object client usage
- Moves `kibana_context` expression and getKibanaContext function from
data plugin to saved search plugin since it loads saved searches
- Rename data views `SavedObjectsClientCommon` to `PersistenceAPI` -
this is the abstraction around saved object loading that no longer is
exclusive to the saved objects api.
- Adds saved search server api (plugin contract) for loading saved
searches.
- Functional tests on browser and server for kibana_context expression
when loading saved searches

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-07-11 08:23:46 -05:00
Stratoula Kalafateli
f8ef18a26b
[Textbased] Depict histogram for timebased adhoc dataviews (#161524)
## Summary

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

We decided that in the case we don't render a Lens suggestion (for
example when we have the SELECT * case) to render the histogram.

**Reminder**: Histogram makes sense only of there is a time field. For
text based mode, time field exists **ONLY** if there is the @timestamp
field.

I don't allow navigation to Lens or open the edit flyout in this case.
When the edit flyout allows the editing of the form based visualizations
(such as histogram) I will enable it then.

FTs have been changed to accomodate this change.


<img width="1751" alt="image"
src="3d28d881-bc60-43de-acf8-8cbcd172a3df">


### 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-11 14:32:33 +03:00
Catherine Liu
112a0f9abf
[Dashboard] Editing toolbar update (#154966) 2023-07-05 10:52:26 -07:00
Julia Rechkunova
bfab1b0659
[Discover] Fix shared links flaky test (#161172)
- Closes https://github.com/elastic/kibana/issues/158465

100x
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2550
2023-07-04 18:46:47 +02:00
Dzmitry Lemechko
8a95bf7fab
[ftr] Improve FTR error handling for NoSuchSessionError (#161025)
## Summary

Sometimes browser/driver process dies during test run on CI and FTR
fails with errors cascade, good example is
[here](https://buildkite.com/elastic/kibana-pull-request/builds/138535#0188fd74-9adf-4011-8168-1bdc6e3d0f17)



Current behaviour on `main`: FTR lifecycle hooks, defined in
[remote](57aea91fae/test/functional/services/remote/remote.ts)
service, has no access to the information about test suite run and
particular test failure. These hooks are related to WebDriver (browser)
state management and suppose to reset it to default state.
Currently we silently fail screenshot taking which means tests execution
is continued even if `--bail` flag is passed. It ends with cascade of
failures with the same error `NoSuchSessionError: invalid session id`

<details>

<summary>FTR output on failure</summary>

```
         └- ✖ fail: discover/group1 discover test query should show correct time range string by timepicker
         │      Error: expected 'Sep 19, 2015 @ 06:31:44.000' to equal 'Sep 23, 2015 @ 18:31:44.000'
         │       at Assertion.assert (expect.js💯11)
         │       at Assertion.apply (expect.js:227:8)
         │       at Assertion.be (expect.js:69:22)
         │       at Context.<anonymous> (_discover.ts:53:31)
         │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
         │       at Object.apply (wrap_function.js:73:16)
         │
         │
       └-> "after all" hook: afterTestSuite.trigger for "should reload the saved search with persisted query to show the initial hit count"
         └- ✖ fail: discover/group1 discover test query "after all" hook: afterTestSuite.trigger for "should reload the saved search with persisted query to show the initial hit count"
         │      NoSuchSessionError: invalid session id
         │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
         │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
         │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
         │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
         │       at Task.exec (prevent_parallel_calls.ts:28:20)
         │
         │
       └-> "after all" hook in "discover test"
         │ debg Cleaning all saved objects { space: undefined }
         │ succ deleted 2 objects
       └-> "after all" hook: afterTestSuite.trigger in "discover test"
         └- ✖ fail: discover/group1 discover test "after all" hook: afterTestSuite.trigger in "discover test"
         │      NoSuchSessionError: invalid session id
         │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
         │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
         │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
         │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
         │       at Task.exec (prevent_parallel_calls.ts:28:20)
         │
         │
       └-> "after all" hook: unloadMakelogs in "discover/group1"
         │ info [test/functional/fixtures/es_archiver/logstash_functional] Unloading indices from "mappings.json"
         │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.22"
         │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.20"
         │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.21"
         │ info [test/functional/fixtures/es_archiver/logstash_functional] Unloading indices from "data.json.gz"
       └-> "after all" hook: afterTestSuite.trigger in "discover/group1"
         └- ✖ fail: discover/group1 "after all" hook: afterTestSuite.trigger in "discover/group1"
         │      NoSuchSessionError: invalid session id
         │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
         │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
         │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
         │       at runMicrotasks (<anonymous>)
         │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
         │       at Task.exec (prevent_parallel_calls.ts:28:20)
         │
         │
     │
     │0 passing (15.7s)
     │4 failing
     │
     │1)    discover/group1
     │       discover test
     │         query
     │           should show correct time range string by timepicker:
     │
     │      Error: expected 'Sep 19, 2015 @ 06:31:44.000' to equal 'Sep 23, 2015 @ 18:31:44.000'
     │       at Assertion.assert (expect.js💯11)
     │       at Assertion.apply (expect.js:227:8)
     │       at Assertion.be (expect.js:69:22)
     │       at Context.<anonymous> (_discover.ts:53:31)
     │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
     │       at Object.apply (wrap_function.js:73:16)
     │
     │
     │2)    discover/group1
     │       discover test
     │         query
     │           "after all" hook: afterTestSuite.trigger for "should reload the saved search with persisted query to show the initial hit count":
     │
     │      NoSuchSessionError: invalid session id
     │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
     │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
     │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
     │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
     │       at Task.exec (prevent_parallel_calls.ts:28:20)
     │
     │
     │3)    discover/group1
     │       discover test
     │         "after all" hook: afterTestSuite.trigger in "discover test":
     │
     │      NoSuchSessionError: invalid session id
     │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
     │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
     │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
     │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
     │       at Task.exec (prevent_parallel_calls.ts:28:20)
     │
     │
     │4)    discover/group1
     │       "after all" hook: afterTestSuite.trigger in "discover/group1":
     │
     │      NoSuchSessionError: invalid session id
     │       at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:524:15)
     │       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:601:13)
     │       at Executor.execute (node_modules/selenium-webdriver/lib/http.js:529:28)
     │       at runMicrotasks (<anonymous>)
     │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
     │       at Task.exec (prevent_parallel_calls.ts:28:20)
```

</details>

This PR change: I didn't find a good reason why we need to fail silently
on screenshot taking. I added a check WebDriver session status with
`hasOpenWindow` and take failure artefacts only if is still valid.
Next change is to fail FTR after hooks related to WebDriver silently:
there is no help having cascade of the repeated stacktrace so I wrap
WebDriver call in hooks with `tryWebDriverCall` that catches the error
and only prints it for visibility.

<details>

<summary>FTR new output on failure</summary>

```
 │ERROR WebDriver session is no longer valid.
         │      Probably Chrome process crashed when it tried to use more memory than what was available.
         │ERROR Browser is closed, no artifacts were captured for the failure
         └- ✖ fail: discover/group1 discover test query should show correct time range string by timepicker
         │      Error: expected 'Sep 19, 2015 @ 06:31:44.000' to equal 'Sep 23, 2015 @ 18:31:44.000'
         │       at Assertion.assert (expect.js💯11)
         │       at Assertion.apply (expect.js:227:8)
         │       at Assertion.be (expect.js:69:22)
         │       at Context.<anonymous> (_discover.ts:53:31)
         │       at processTicksAndRejections (node:internal/process/task_queues:96:5)
         │       at Object.apply (wrap_function.js:73:16)
         │
         │
       └-> "after all" hook: afterTestSuite.trigger for "should reload the saved search with persisted query to show the initial hit count"
         │ERROR WebDriver session is no longer valid
     └-> "after all" hook in "discover test"
       │ debg Cleaning all saved objects { space: undefined }
       │ warn browser[SEVERE] ERROR FETCHING BROWSR LOGS: This driver instance does not have a valid session ID (did you call WebDriver.quit()?) and may no longer be used.
       │ succ deleted 2 objects
     └-> "after all" hook: afterTestSuite.trigger in "discover test"
       │ERROR WebDriver session is no longer valid
   └-> "after all" hook: unloadMakelogs in "discover/group1"
     │ info [test/functional/fixtures/es_archiver/logstash_functional] Unloading indices from "mappings.json"
     │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.22"
     │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.20"
     │ info [test/functional/fixtures/es_archiver/logstash_functional] Deleted existing index "logstash-2015.09.21"
     │ info [test/functional/fixtures/es_archiver/logstash_functional] Unloading indices from "data.json.gz"
   └-> "after all" hook: afterTestSuite.trigger in "discover/group1"
     │ERROR WebDriver session is no longer valid

0 passing (16.2s)
1 failing

1)    discover/group1
       discover test
         query
           should show correct time range string by timepicker:

      Error: expected 'Sep 19, 2015 @ 06:31:44.000' to equal 'Sep 23, 2015 @ 18:31:44.000'
       at Assertion.assert (expect.js💯11)
       at Assertion.apply (expect.js:227:8)
       at Assertion.be (expect.js:69:22)
       at Context.<anonymous> (_discover.ts:53:31)
       at processTicksAndRejections (node:internal/process/task_queues:96:5)
       at Object.apply (wrap_function.js:73:16)
```

</details>


Flaky-test-runner verification: started 100x to hopefully catch invalid
session on CI
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2539
Note: locally I was simulating it by calling `this.driver.close()` to
close browser before screenshot taking
2023-07-04 18:26:57 +02:00
Kibana Machine
ad5930927c skip failing test suite (#161157) 2023-07-04 07:25:35 -04:00
Catherine Liu
938716e58a
[Dashboard] Redesign clone experience (#159752)
## Summary

Closes #154500. 
Closes https://github.com/elastic/kibana/issues/114206.

This updates the UX around cloning dashboards. I removed the clone
confirm model, so cloning a dashboard is just a one click action now.
This aligns with how other apps like ML handle cloning. I've also made
the dashboard title breadcrumb a button in edit mode that opens the
dashboard settings flyout for better discoverability.


4f5ea117-a5e4-4ec5-9113-8b09fd8c84a1

I also changed the pattern for cloned dashboard title from `Dashboard
Title Copy` to `Dashboard Title (#)`.
<img width="1226" alt="Screenshot 2023-06-30 at 1 03 35 PM"
src="b50ba5c6-dc95-4aab-a320-b1a78b74c1b6">
2023-06-30 20:45:39 -07:00
Matthew Kime
646539c45b
[data view editor] Fix data view timestamp validation (#150398)
## Summary

Previously - If you changed a data view's index pattern AND the new
pattern didn't contain the timestamp field, you'd see a blank timestamp
field and it would let you save. The data view would have been saved
with the previous timestamp field which doesn't exist.

Now - The timestamp validator checks to make sure the selected timestamp
field is in the list of available options. This is helpful because it
keeps the previous timestamp value in case you do select an index
pattern that contains it.

Closes: https://github.com/elastic/kibana/issues/150219
2023-06-30 07:29:44 -05:00
Julia Rechkunova
91fbd8e9e0
[Discover] Adjust NoData screen (#160747)
- Closes https://github.com/elastic/kibana/issues/150317

## Summary

This PR:
- hides "Use without saving" button from NoData screen on Discover page
to align with Dashboard and Lens behaviour
- allows to open a saved search via URL even if there are no data views
present (before NoData screen was shown instead).
2023-06-30 10:10:49 +02:00
Matthew Kime
b2200e4d33
[data views / runtime fields] Fix runtime fields with dots in the name (#160458)
## Summary

Composite runtime fields with dots in the name were broken, now fixed. 

To verify - 
1. Create runtime field with dot in the name
2. Make a composite runtime field with subfields with dot in the name
3. Go back and edit those fields

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

### Release note

Fixes creation and editing of composite runtime fields with dots in the
names.
2023-06-29 21:20:05 -05:00
Tiago Costa
95a2d32c7a
skip flaky suite (#160178) 2023-06-29 20:46:25 +01:00
Alison Goryachev
85c1e03d4f
[Console] Run console test on chrome only (#160442) 2023-06-29 12:10:16 -04:00
Davis McPhee
d9744464dc
[Discover] Fix documents request missing pinned filters (#160693)
## Summary

This PR fixes a bug where pinned filters were not being applied to the
Discover documents request.

Fixes #160579.

### Checklist

- [ ] ~Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/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
- [ ] ~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))~
- [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)
2023-06-29 11:39:04 -03:00
Nathan Reese
9f73f9479c
[Content management] fix table list flashes table interface when empty (#160650)
Closes https://github.com/elastic/kibana/issues/159507
Closes https://github.com/elastic/kibana/issues/148557

Flaky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2508

### Test instructions
* Install sample web logs data set
* Delete dashboard that ships with sample data set
* switch to another app, like visualize
* Use debugger tools to throttle network connection to "slow 3g"
* Open dashboard application again
* Verify empty table view is never displayed and there is no flickering
between views.

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-06-29 07:55:16 -06:00
Stratoula Kalafateli
5f5d5525c4
[TSVB] Stabilize the functional test (#160847)
## Summary

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

I think this change is going to stabilize this test once and for all.

Runner 100times
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2532
2023-06-29 15:17:27 +03:00
renovate[bot]
a5ff6e6c76
Update dependency @elastic/charts to v59 (main) (#160700)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@elastic/charts](https://togithub.com/elastic/elastic-charts) |
[`58.2.0` ->
`59.0.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/58.2.0/59.0.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/59.0.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/59.0.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/59.0.0/compatibility-slim/58.2.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/59.0.0/confidence-slim/58.2.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>elastic/elastic-charts (@&#8203;elastic/charts)</summary>

###
[`v59.0.0`](https://togithub.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#&#8203;5900-httpsgithubcomelasticelastic-chartscomparev5821v5900-2023-06-27)

[Compare
Source](https://togithub.com/elastic/elastic-charts/compare/v58.2.1...v59.0.0)

##### Bug Fixes

- **legend:** use reading direction sorting for stacked bar charts
([#&#8203;2080](https://togithub.com/elastic/elastic-charts/issues/2080))
([be9c839](be9c83906a))

##### BREAKING CHANGES

- **legend:** the sorting order of the legend is now inverted for
stacked charts, following the reading direction of the legend
(top-to-bottom in insertion order)

####
[58.2.1](https://togithub.com/elastic/elastic-charts/compare/v58.2.0...v58.2.1)
(2023-06-23)

##### Bug Fixes

- remove unused redux dev tools
([#&#8203;2079](https://togithub.com/elastic/elastic-charts/issues/2079))
([1870303](1870303880))

###
[`v58.2.1`](https://togithub.com/elastic/elastic-charts/blob/HEAD/CHANGELOG.md#&#8203;5821-httpsgithubcomelasticelastic-chartscomparev5820v5821-2023-06-23)

[Compare
Source](https://togithub.com/elastic/elastic-charts/compare/v58.2.0...v58.2.1)

##### Bug Fixes

- remove unused redux dev tools
([#&#8203;2079](https://togithub.com/elastic/elastic-charts/issues/2079))
([1870303](1870303880))

</details>

---

### 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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/elastic/kibana).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjM1LjE0MS4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-28 23:36:06 -03:00
Dzmitry Lemechko
54fddef2db
Ftr/speedup dashboard tests (#160722)
## Summary

While splitting `test/functional/apps/dashboard/group2/config.ts` in
#160612, I noticed that some tests (`it` function level) takes 30-45
seconds though having little actions to do in Kibana.

After closer look I found that:
- `await PageObjects.dashboard.clickNewDashboard();` call takes ~13-15
seconds when dashboard is empty
- `await dashboardAddPanel.closeAddPanel();` call takes ~12 seconds when
there are no flyouts displayed

Expected improvement:
- `await PageObjects.dashboard.clickNewDashboard()` call takes **2**
seconds, used **103** times in tests.
- `await dashboardAddPanel.closeAddPanel()` call takes **3** seconds,
used **21** times in tests.

PR FTR configs runtime
<img width="778" alt="image"
src="673fee19-91ef-4bc3-9848-5f844b42774c">

`main` branch last 3 days avg configs runtime
<img width="1555" alt="image"
src="6e364cb9-c786-411a-9491-a749351f4c94">



flaky test runner 50x for 6 most affected configs
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2519
2023-06-28 18:49:32 +02:00
Dzmitry Lemechko
51fb80a226
[ftr] split dashboard/group2/config into 2 configs (#160612)
## Summary

Splitting `test/functional/apps/dashboard/group2/config.ts` as it
getting close to 35 minutes and quite often run on its own on CI worker.

<img width="1713" alt="image"
src="ac7f5dc6-2a12-4057-af98-81ff53bac1c4">`

This PR splits config into 2 almost run time equal groups:

- test/functional/apps/dashboard/group2/config.ts 18m 31s
- test/functional/apps/dashboard/group6/config.ts 16m 53s

Flaky-test-runner for both configs:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2522
2023-06-28 18:27:24 +02:00
Nathan Reese
ef7fda2d24
fix Failing test: X-Pack Saved Object Tagging Functional Tests.x-pack/test/saved_object_tagging/functional/tests/dashboard_integration·ts - saved objects tagging - functional tests dashboard integration creating allows to select tags for a new dashboard (#160687)
Closes https://github.com/elastic/kibana/issues/160583

flaky test runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2513

Harden `dashboard_page.enterDashboardTitleAndClickSave` for retry loops
so does not try to open save dialog when its already open from first
save attempt failure.

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-06-28 10:14:50 -06:00
Dzmitry Lemechko
599bbacab0
[ftr] split dashboard_elements/config to speedup CI run (#160550)
## Summary

Splitting FTR config as it consistently takes over 37 minutes to run.

This PR splits it into 5 smaller configs:

- test/functional/apps/dashboard_elements/controls/common/config.ts 15m
24s
-
test/functional/apps/dashboard_elements/controls/options_list/config.ts
17m 38s
- test/functional/apps/dashboard_elements/image_embeddable/config.ts 2m
14s
- test/functional/apps/dashboard_elements/input_control_vis/config.ts 4m
41s
- test/functional/apps/dashboard_elements/markdown/config.ts 1m 24s
2023-06-28 17:00:34 +02:00
Achyut Jhunjhunwala
384cf7864b
[APM] Revert skip for flaky Tests (#160391)
## Summary

Closes
- https://github.com/elastic/kibana/issues/120056
- https://github.com/elastic/kibana/issues/122001
- https://github.com/elastic/kibana/issues/127431
- https://github.com/elastic/kibana/issues/127416


## Flakiness Testing

Changes in the PR were tested with the flaky test runner, running 50
times for all 5 configs for APM
1. 4 config (Trial, Basic, Cloud and Rules) present inside
`apm_api_integration` folder and
2. 1 config present inside `functional/apps/apm`

https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2499
2023-06-28 10:29:46 +02:00
Tiago Costa
cc6e1ef591
skip flaky suite (#135251) 2023-06-28 02:53:09 +01:00
Kibana Machine
bccd549df5 skip failing test suite (#158972) 2023-06-27 15:38:43 -04:00
Kibana Machine
b33d008522 skip failing test suite (#154699) 2023-06-27 10:12:40 -04:00
renovate[bot]
b2c6c71a8d
Update dependency @elastic/charts to v58 (main) (#159082)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@elastic/charts](https://togithub.com/elastic/elastic-charts) |
[`57.0.1` ->
`58.2.0`](https://renovatebot.com/diffs/npm/@elastic%2fcharts/57.0.1/58.2.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/58.2.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/58.2.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/58.2.0/compatibility-slim/57.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@elastic%2fcharts/58.2.0/confidence-slim/57.0.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>elastic/elastic-charts</summary>

#
[58.2.0](https://github.com/elastic/elastic-charts/compare/v58.1.0...v58.2.0)
(2023-06-23)


### Bug Fixes

* `Chart` component `children` type
([#2071](https://github.com/elastic/elastic-charts/issues/2071))
([525c782](525c782829))
* **deps:** update dependency @elastic/eui to v82
([#2074](https://github.com/elastic/elastic-charts/issues/2074))
([69a655f](69a655f0da))


### Features

* **flame:** expose search field text and search text change listener
([#2068](https://github.com/elastic/elastic-charts/issues/2068))
([c339947](c339947c39))
* support native chart title and description
([#2002](https://github.com/elastic/elastic-charts/issues/2002))
([341a990](341a990c5d))

#
[58.1.0](https://github.com/elastic/elastic-charts/compare/v58.0.0...v58.1.0)
(2023-06-08)


### Features

* **flame:** expose search control
([#2064](https://github.com/elastic/elastic-charts/issues/2064))
([011b56b](011b56b3f5))

#
[58.0.0](https://github.com/elastic/elastic-charts/compare/v57.0.1...v58.0.0)
(2023-06-06)


### Bug Fixes

* **axis:** reduce number of y axis ticks on linear scale
([#2005](https://github.com/elastic/elastic-charts/issues/2005))
([0ef828b](0ef828b535))
* **deps:** update dependency @elastic/eui to v81
([#2052](https://github.com/elastic/elastic-charts/issues/2052))
([4c55e01](4c55e0119e))


### BREAKING CHANGES

* **axis:** the default number of desired ticks in the Y-Axis was
changed from `10` to `5`

</details>

---

### 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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/elastic/kibana).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: nickofthyme <nicholas.partridge@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Nick Partridge <nick.ryan.partridge@gmail.com>
Co-authored-by: Marco Vettorello <marco.vettorello@elastic.co>
2023-06-26 11:41:49 -07:00
Matthias Wilhelm
43b460c72b
[Discover] Fix performance when switching to text based query (#159903)
Optimize switch to text-based queries by reducing unnecessary EuiDataGrid renderings and addressing performance regression. Introduce a PARTIAL state emission in the document$ observable for text-based query results. This state indicates ongoing loading in the UI. The appState to URL changes hook completes with the COMPLETE state submission to document$, enabling UI rendering.

Co-authored-by: Davis McPhee <davismcphee@hotmail.com>
2023-06-23 20:59:03 +02:00
Stratoula Kalafateli
56bf0f6c58
[Visualize] Unskips failed percentiles test (#160228)
## Summary

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

The ES promotion failed due to this
https://github.com/elastic/elasticsearch/pull/96904

With the new algorithm there is a deviation in the results, to stabilize
it I have increased the accuracy by increasing the compression.

Flaky runner
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2455
2023-06-23 16:29:20 +03:00
Julia Rechkunova
78ee25d58c
[Discover] Encode context anchor ID (#160239)
- Closes https://github.com/elastic/kibana/issues/160212

## Summary

Added the missing encoding and updated tests.

## For testing

An id with special characters like `/` can be specified via `_bulk` API.
Example:

```
POST _bulk
{ "index" : { "_index" : "context-special", "_id" : "test&?#+/=" } }
{ "timestamp":"2023-06-20T20:00:00.123Z", "name": "test" }
```
2023-06-23 08:04:34 +02:00
Hannah Mudge
40f49337bd
[Dashboard] Unskip embed_mode screenshot tests (#160085)
Closes https://github.com/elastic/kibana/issues/160064

## Summary

This PR unskips the dashboard embed mode screenshot tests that were
added in https://github.com/elastic/kibana/pull/159754 - in order for
the tests to pass in the CI environment, I had to replace the baseline
images, which were previously generated locally, with the CI-generated
screenshots as described in the attached issue. As a result, these tests
will **not** pass locally.

[**Flaky test
runner**](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2443)


![image](4fa19bd1-1b60-4763-9e1a-2f634bbaca6a)

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


### 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-06-22 12:49:58 -07:00
Christiane (Tina) Heiligers
73f070447c
Disable the welcome screen in newsfeed ftr tests (#160210)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2023-06-22 09:15:26 -07:00
Stratoula Kalafateli
807062835e
[Lens] Add more formatters tests (#160241)
## Summary

Adds formatters tests for the number fields.

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

Flaky tests 50 times
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2449
2023-06-22 17:09:57 +03:00
Devon Thomson
25ebbb67c1
[Flaky Tests] Switch to ensureAllClosed for dashboard add panel (#159943)
Simple fix for some flaky tests.
2023-06-21 12:00:10 -04:00
Tiago Costa
b4a4e4a71a
skip failing es promotin suite (#160164) 2023-06-21 16:47:51 +01:00
Hannah Mudge
f1dc1e1869
[Controls] Move "clear selections" to hover action (#159526)
Closes https://github.com/elastic/kibana/issues/159395
Closes https://github.com/elastic/kibana/issues/153383

## Summary

This PR moves the "clear selections" button for all controls (options
list, range slider, and time slider) from inside their respective
popovers to a general hover action - this not only saves users a click
for this common interaction (which has actually been brought in user
feedback up as a downside of the current controls compared to the legacy
controls), it also allows us to fully move forward with migrating the
range slider control to the `EuiDualRange` component. This will be done
in a follow up PR, which should both (1) clean up our range slider code
significantly and (2) fix the [bug discussed
here](https://github.com/elastic/kibana/pull/159271#pullrequestreview-1477930356).
The related issue can be tracked
[here](https://github.com/elastic/kibana/issues/159724), since we might
not be able to get to it right away.

This "clear selections" action is available in both view and edit mode,
like so:

|  | Edit mode | View mode |
|--------|--------|--------|
| **Range slider** |
![image](83cb1e1a-0b20-43aa-a37b-14484b5f4945)
|
![image](0d28ce03-5242-4f3a-8a05-d447bca50ddb)
|
| **Options list** |
![image](066257f6-c0ce-4e33-a193-5bbc62e341a6)
|
![image](d1ec124c-f5ee-4137-9eb9-33e06d522435)
|
| **Time slider** |
![image](33b8bb80-fa0c-4281-ae81-f1e1b44086f3)
|
![image](bd7c41ae-706c-45f3-8b49-9bd4d259e5cf)
|

You may notice in the above screenshots that the "delete" action is now
represented with a red trash icon rather than a red cross, and the
tooltip text was also changed to use the word "Delete" rather than the
word "Remove" - these changes were both made to be more consistent with
the "Delete panel" action available on dashboards:

| Delete control - Before | Delete control - After | Delete panel |
|--------|--------|--------|
| ![Screenshot 2023-06-13 at 5 32 22
PM](2600b197-653b-43ea-a043-a50be7e6a796)
|
![image](5ef80380-2575-45fc-ba11-c59f3f252ac3)
| <img
src="a7f65777-45cf-44f2-96a7-f1042cb25e02"/>
|

Beyond these changes, I also made a few quick changes to the time slider
control, including:
1. Fixing the appearance so that the background is once again white, as
described
[here](https://github.com/elastic/kibana/pull/159526#discussion_r1229792071)
2. Adding comparison logic so that clearing selections no longer causes
unsaved changes unnecessarily, as described
[here](https://github.com/elastic/kibana/pull/159526#discussion_r1229789753)

### Videos

**Before**


96365c85-748e-4fd7-ae5d-589aa11a23ef


**After**


68352559-e71b-4b5e-8709-587016f0b35a



### 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] 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>
2023-06-20 16:53:10 -06:00
Hannah Mudge
a4d5209a9f
[Dashboard] Fix styling of top nav bar (#159754)
Closes https://github.com/elastic/kibana/issues/159353
Closes https://github.com/elastic/kibana/issues/159756

## Summary

This PR adds styling so that, when the dashboard's chrome is hidden or
when there is a header banner present, the dashboard's top navigation
bar's `top` position is adjusted as necessary - this prevents it from
either (a) getting hidden behind the Kibana chrome or (b) floating in
the wrong position and overlapping the dashboard content, regardless of
if the dashboard is in embed mode (i.e. `embed=true` is present in the
URL) or not (i.e. `embed=false` is present in the URL **or**, more
commonly, there is no `embed` parameter in the URL).

### Embed Mode

- #### Before:


76d3c70c-936c-4bcc-985c-4fb433f0cff3

- #### After:


137bc103-666b-4fdd-ab4e-8994345e21b4

It also resolves a bug where the `isEmbeddedExternally` component state
was never actually being set, which meant that the
`ExitFullScreenButton` was always receiving `toggleChrome=true`. This
made it so that entering and exiting fullscreen mode in an embedded
dashboard would force the chrome to be visible (which should never
happen in embed mode).

#### How to Test
The easiest way to test this PR is to simply add `embed=true` to your
dashboard URL - because this PR also fixes
https://github.com/elastic/kibana/issues/159756, this will essentially
mimic the embedded experience.

Alternatively, if you want to test this in an actual iframe...

1. Start and login to Kibana with the default `kibana.yml` settings
2. Create and embed a dashboard using an iframe in an HTML file and open
that file in your browser - the iframe will show a prompt to login, but
you won't be able to. Instead...
3. Add the following settings to your `kibana.yml` file:<br><Br>
   ```
    xpack.security.secureCookies: true
    xpack.security.sameSiteCookies: 'None'
   ```
4. Wait for Kibana to re-load
5. Refresh the HTML page from step 2
6. The embedded dashboard should now be available for you to test 👍 

#### Scenarios Tested

-  **Non-fullscreen mode**

    <details>
<summary> Without filter pill, without header banner <i>(click to see
screenshot)</i></summary>
<img
src="f68bbcfb-74d8-497c-a2ae-33e8e0c02660"/>
    </details>

    <details>
<summary> Without filter pill, with header banner <i>(click to see
screenshot)</i></summary>
<img
src="7c19711c-61dc-499a-b1d0-01fab639a27e"/>
    </details>

    <details>
<summary> With filter pill, without header banner <i>(click to see
screenshot)</i></summary>
<img
src="36e848bd-f0d9-41e3-8a8a-a48571ad5cd2"/>
    </details>

    <details>
<summary> With filter pill, with header banner <i>(click to see
screenshot)</i></summary>
<img
src="cd7489f6-3f34-439a-a30e-3ef39f3970b5"/>
    </details>
    
    <details>
<summary> With filter pill, with header banner <b>and</b> notification
banner <i>(click to see GIF)</i></summary>
<img
src="bd67b4eb-4f68-4d9b-9e22-4d1b2d2e4d90"/>
    </details>

-  **Fullscreen mode**

    <details>
<summary> Without filter pill, without banner <i>(click to see
screenshot)</i></summary>
<img
src="d7d15560-7698-424f-b761-59b5557abe37"/>
    </details>

    <details>
<summary> Without filter pill, with header banner <i>(click to see
screenshot)</i></summary>
<img
src="311b6f3d-5152-4d16-ba39-160978c60c96"/>
    </details>

    <details>
<summary> With filter pill, without header banner <i>(click to see
screenshot)</i></summary>
<img
src="bff9e040-8169-40c7-a086-13a19e870383"/>
    </details>

    <details>
<summary> With filter pill, with header banner <i>(click to see
screenshot)</i></summary>
<img
src="3f453811-e65d-4ac4-9524-c396f9efdbdd"/>
    </details>

    <details>
<summary> With filter pill, with header banner <b>and</b> notification
banner <i>(click to see GIF)</i></summary>
<img
src="f79673e7-03f2-49fa-be56-b67bf7a12976"/>
    </details>

### Non-Embed Mode

- #### Before:


71ffc964-2844-41a6-98d6-353e84d674be

- #### After:


894aa292-b611-4e5e-a0d7-fe3d256fc3ba


### 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] 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)
2023-06-20 16:23:06 -06:00
Hannah Mudge
0fcd4e88d3
[Dashboard] Fix flaky landing page test (#160066)
Closes https://github.com/elastic/kibana/issues/160057

## Summary

It **seems** like the failure was a one-off or, at the very least, very
rare - I [ran the test through the flaky test
runner](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2423)
without any changes and it passed 100 times. That being said, I was able
to replicate the failure locally by switching to the preset "Slow 3G"
network before running the test - this means, if the CI environment is
running especially slow for any given reason, this test has the
potential to fail again.

So, to be safe, I added an extra `await` for the Kibana **chrome** to
show up after every hard refresh - previously we were only waiting for
the header loading state to go away, which doesn't work when Kibana
itself is taking a little longer than expected to load and the Kibana
chrome (where the header loading state is located) isn't yet visible.

This **also** [passed the flaky test runner 100
times](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/2425)
but, as a bonus, the test **passed locally** when throttling the network
using the same "Slow 3G" preset as before - hopefully this means that
the test is less likely to fail even when the CI environment is running
slow 👍

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

### 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-06-20 14:21:29 -06:00
Nick Partridge
eb3e71e768
Fix flaky tsvb functional test (#159856) 2023-06-20 08:40:04 -07:00
Tiago Costa
064c0e7e62
skip flaky suite (#159167) 2023-06-20 14:37:34 +01:00
Devon Thomson
f60d43e27b
[Dashboard] Fix Time Range Regression (#159337)
Fixed Dashboard loading with a saved time range when the URL also contains a time range.
2023-06-15 16:10:55 -04:00
Hannah Mudge
9b0f10629b
[Controls] Range slider a11y and performance improvements (#159271)
Closes https://github.com/elastic/kibana/issues/135466

## Summary

The main goal of this PR is to fix the serious "Buttons must have
discernible text" a11y failure - this is accomplished by switching from
building our own range slider button using `EuiFlexGroup` to instead
using `EuiFormControlLayoutDelimited`, which both resolves these a11y
issues and also fixes a rendering regression:

| Before | After |
|--------|-------|
|
![image](49ea1516-db74-46af-baa5-4ad0a31d5b5a)
|
![image](71bc61f2-f10d-4f8c-8ad2-2681f7faf921)
|

As part of this, I also took some time to clean up some of the range
slider code, which hasn't really been touched in awhile - this
includes...
- moving the debounce on range selections from the embeddable's `input$`
subscription to the component itself, as described
[here](https://github.com/elastic/kibana/pull/159271#discussion_r1226886857).
- fixing a bug where resetting the range slider would unnecessarily
cause unsaved changes, as described
[here](https://github.com/elastic/kibana/pull/159271#discussion_r1226885018).
- improving the `onClick` behaviour (with some notable limitations), as
described
[here](https://github.com/elastic/kibana/pull/159271#discussion_r1226934124).

As a follow up, we need to move the "clear selections" button [to a
hover action](https://github.com/elastic/kibana/issues/159395), which
will enable us to then fully move forward with our transition to the
`EuiDualRange` component.

### 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
- [ ] ~Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard
accessibility](https://webaim.org/techniques/keyboard/))~
   > **Note**
> Details provided
[here](https://github.com/elastic/kibana/pull/159271#discussion_r1226934124)
on why only partial keyboard support is currently supported
- [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)
2023-06-15 10:58:11 -06:00