Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add application.navigateToUrl core API #67110

Merged
merged 6 commits into from
May 25, 2020

Conversation

pgayvallet
Copy link
Contributor

@pgayvallet pgayvallet commented May 20, 2020

Summary

Add a new navigateToUrl API to ApplicationStart to allow navigating to a url that can either be internal or external. internal urls will be handled using navigateToApp, and external urls will be handled via location.assign

Extracted from #66293 to avoid blocking #58751 which is also going to need this API.

Checklist

@pgayvallet pgayvallet added release_note:skip Skip the PR/issue when compiling release notes Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v7.9.0 v8.0.0 labels May 20, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-platform (Team:Platform)

@pgayvallet pgayvallet marked this pull request as ready for review May 20, 2020 13:50
@pgayvallet pgayvallet requested a review from a team as a code owner May 20, 2020 13:50
);
});
it('includes query and hash in the path', () => {
expect(parseAppUrl('/base-path/app/foo#hash/bang', basePath, apps, getOrigin)).toEqual({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you add a case for custom-bar with query? + for absolute URL

it('returns undefined when the app is not known', () => {
expect(
parseAppUrl(
'https://kibana.local:8080/base-path/app/non-registered',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could add an explicit test when navigating to other origin?

this.navigate!(getAppUrl(availableMounters, appId, path), state);
this.currentAppId$.next(appId);
navigateToApp,
navigateToUrl: async url => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not 100% sure we should, but we could make a polymorphic function

navigateTo(app: App): void
navigateTo(url: string): void

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure either. Upside from the polymorphic approach would mostly be reduced API exposure and 'smarter' API. Downside is a (little) less explicit API (navigateTo vs navigateToXXX), and a slightly more complex implementation as the signature got different number of parameters.

navigateTo(appId: string, options?: { path?: string; state?: any }): void
navigateTo(url: string): void

Probably outside of the scope of this PR as it gonna impact all current calls from plugin code, but shall I open a follow up issue to discuss this possibility?


describe('navigateToUrl', () => {
it('calls `redirectTo` when the url is not parseable', async () => {
parseAppUrlMock.mockReturnValue(undefined);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use a real call? The logic there is rather simple.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could remove the mock and perform a real call but as parseAppUrl is heavily tested in its own suite, I think current approach is slightly better in term of testing isolation.

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / kibana-oss-agent / Accessibility Tests.test/accessibility/apps/discover·ts.Discover should open context view on a doc

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 12 times on tracked branches: https://github.com/elastic/kibana/issues/62497

[00:00:00]       │
[00:00:00]         └-: Discover
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ info [discover] Loading "mappings.json"
[00:00:00]             │ info [discover] Loading "data.json.gz"
[00:00:00]             │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_1/rBh-RbZ7RNKuuhFOOaSFcQ] deleting index
[00:00:00]             │ info [discover] Deleted existing index [".kibana_1"]
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana] creating index, cause [api], templates [], shards [1]/[1], mappings [_doc]
[00:00:00]             │ info [discover] Created index ".kibana"
[00:00:00]             │ debg [discover] ".kibana" settings {"index":{"number_of_replicas":"1","number_of_shards":"1"}}
[00:00:00]             │ info [discover] Indexed 2 docs into ".kibana"
[00:00:00]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana/fsPyPYnkRWyjmL25VwsgGg] update_mapping [_doc]
[00:00:00]             │ debg Migrating saved objects
[00:00:00]             │ proc [kibana]   log   [09:32:18.442] [info][savedobjects-service] Creating index .kibana_2.
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_2] creating index, cause [api], templates [], shards [1]/[1], mappings [_doc]
[00:00:00]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] updating number_of_replicas to [0] for indices [.kibana_2]
[00:00:00]             │ proc [kibana]   log   [09:32:18.597] [info][savedobjects-service] Reindexing .kibana to .kibana_1
[00:00:00]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_1] creating index, cause [api], templates [], shards [1]/[1], mappings [_doc]
[00:00:00]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] updating number_of_replicas to [0] for indices [.kibana_1]
[00:00:01]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.tasks] creating index, cause [auto(task api)], templates [], shards [1]/[1], mappings [_doc]
[00:00:01]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] updating number_of_replicas to [0] for indices [.tasks]
[00:00:01]             │ info [o.e.t.LoggingTaskListener] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] 104 finished with response BulkByScrollResponse[took=136.8ms,timed_out=false,sliceId=null,updated=0,created=2,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:00:01]             │ info [o.e.c.m.MetadataDeleteIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana/fsPyPYnkRWyjmL25VwsgGg] deleting index
[00:00:01]             │ proc [kibana]   log   [09:32:19.364] [info][savedobjects-service] Migrating .kibana_1 saved objects to .kibana_2
[00:00:01]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_2/CZ-NxD4fTAu7Nd17Wu975Q] update_mapping [_doc]
[00:00:01]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_2/CZ-NxD4fTAu7Nd17Wu975Q] update_mapping [_doc]
[00:00:01]             │ proc [kibana]   log   [09:32:19.543] [info][savedobjects-service] Pointing alias .kibana to .kibana_2.
[00:00:01]             │ proc [kibana]   log   [09:32:19.628] [info][savedobjects-service] Finished in 1194ms.
[00:00:01]             │ debg applying update to kibana config: {"accessibility:disableAnimations":true,"dateFormat:tz":"UTC"}
[00:00:02]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_2/CZ-NxD4fTAu7Nd17Wu975Q] update_mapping [_doc]
[00:00:03]             │ info [logstash_functional] Loading "mappings.json"
[00:00:03]             │ info [logstash_functional] Loading "data.json.gz"
[00:00:03]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [logstash-2015.09.22] creating index, cause [api], templates [], shards [1]/[0], mappings [_doc]
[00:00:03]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.22][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.22][0]]"
[00:00:03]             │ info [logstash_functional] Created index "logstash-2015.09.22"
[00:00:03]             │ debg [logstash_functional] "logstash-2015.09.22" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:03]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [logstash-2015.09.20] creating index, cause [api], templates [], shards [1]/[0], mappings [_doc]
[00:00:03]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.20][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.20][0]]"
[00:00:03]             │ info [logstash_functional] Created index "logstash-2015.09.20"
[00:00:03]             │ debg [logstash_functional] "logstash-2015.09.20" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:03]             │ info [o.e.c.m.MetadataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [logstash-2015.09.21] creating index, cause [api], templates [], shards [1]/[0], mappings [_doc]
[00:00:04]             │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] current.health="GREEN" message="Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[logstash-2015.09.21][0]]])." previous.health="YELLOW" reason="shards started [[logstash-2015.09.21][0]]"
[00:00:04]             │ info [logstash_functional] Created index "logstash-2015.09.21"
[00:00:04]             │ debg [logstash_functional] "logstash-2015.09.21" settings {"index":{"analysis":{"analyzer":{"url":{"max_token_length":"1000","tokenizer":"uax_url_email","type":"standard"}}},"number_of_replicas":"0","number_of_shards":"1"}}
[00:00:13]             │ info progress: 9325
[00:00:17]             │ info [logstash_functional] Indexed 4633 docs into "logstash-2015.09.22"
[00:00:17]             │ info [logstash_functional] Indexed 4757 docs into "logstash-2015.09.20"
[00:00:17]             │ info [logstash_functional] Indexed 4614 docs into "logstash-2015.09.21"
[00:00:17]             │ debg applying update to kibana config: {"defaultIndex":"logstash-*"}
[00:00:17]             │ info [o.e.c.m.MetadataMappingService] [kibana-ci-immutable-centos-tests-xl-1590397820089404287] [.kibana_2/CZ-NxD4fTAu7Nd17Wu975Q] update_mapping [_doc]
[00:00:17]             │ debg navigating to discover url: http://localhost:61141/app/discover#/
[00:00:17]             │ debg navigate to: http://localhost:61141/app/discover#/
[00:00:17]             │ debg browser[INFO] http://localhost:61141/app/discover?_t=1590399155661#/ 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:17]             │
[00:00:17]             │ debg browser[INFO] http://localhost:61141/bundles/app/core/bootstrap.js 11:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:17]             │ debg ... sleep(700) start
[00:00:18]             │ debg ... sleep(700) end
[00:00:18]             │ debg returned from get, calling refresh
[00:00:20]             │ debg browser[INFO] http://localhost:61141/app/discover?_t=1590399155661#/ 341 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'unsafe-eval' 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-P5polb1UreUSOe5V/Pv7tc+yeZuJXiOi/3fqhGsU7BE='), or a nonce ('nonce-...') is required to enable inline execution.
[00:00:20]             │
[00:00:20]             │ debg browser[INFO] http://localhost:61141/bundles/app/core/bootstrap.js 11:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[00:00:20]             │ debg currentUrl = http://localhost:61141/app/discover#/
[00:00:20]             │          appUrl = http://localhost:61141/app/discover#/
[00:00:20]             │ debg TestSubjects.find(kibanaChrome)
[00:00:20]             │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[00:00:22]             │ debg browser[INFO] http://localhost:61141/33382/bundles/kbn-ui-shared-deps/kbn-ui-shared-deps.js 380:106115 "INFO: 2020-05-25T09:32:40Z
[00:00:22]             │        Adding connection to http://localhost:61141/elasticsearch
[00:00:22]             │
[00:00:22]             │      "
[00:00:22]             │ debg ... sleep(501) start
[00:00:23]             │ debg ... sleep(501) end
[00:00:23]             │ debg in navigateTo url = http://localhost:61141/app/discover#/
[00:00:23]             │ debg TestSubjects.exists(statusPageContainer)
[00:00:23]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="statusPageContainer"]') with timeout=2500
[00:00:25]             │ debg --- retry.tryForTime error: [data-test-subj="statusPageContainer"] is not displayed
[00:00:26]             │ debg Setting absolute range to Sep 19, 2015 @ 06:31:44.000 to Sep 23, 2015 @ 18:31:44.000
[00:00:26]             │ debg TestSubjects.exists(superDatePickerToggleQuickMenuButton)
[00:00:26]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerToggleQuickMenuButton"]') with timeout=20000
[00:00:26]             │ debg TestSubjects.exists(superDatePickerShowDatesButton)
[00:00:26]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=2500
[00:00:26]             │ debg TestSubjects.click(superDatePickerShowDatesButton)
[00:00:26]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[00:00:26]             │ debg TestSubjects.exists(superDatePickerstartDatePopoverButton)
[00:00:26]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=2500
[00:00:26]             │ debg TestSubjects.click(superDatePickerendDatePopoverButton)
[00:00:26]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[00:00:26]             │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[00:00:26]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:26]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:26]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:26]             │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 23, 2015 @ 18:31:44.000)
[00:00:26]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:26]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:26]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:27]             │ debg ... sleep(500) start
[00:00:28]             │ debg ... sleep(500) end
[00:00:28]             │ debg TestSubjects.click(superDatePickerstartDatePopoverButton)
[00:00:28]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[00:00:28]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[00:00:28]             │ debg Find.waitForElementStale with timeout=10000
[00:00:28]             │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[00:00:28]             │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[00:00:28]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:28]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[00:00:28]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:28]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:28]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:28]             │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 19, 2015 @ 06:31:44.000)
[00:00:28]             │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[00:00:28]             │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:28]             │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[00:00:29]             │ debg TestSubjects.exists(superDatePickerApplyTimeButton)
[00:00:29]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerApplyTimeButton"]') with timeout=2500
[00:00:31]             │ debg --- retry.tryForTime error: [data-test-subj="superDatePickerApplyTimeButton"] is not displayed
[00:00:32]             │ debg TestSubjects.click(querySubmitButton)
[00:00:32]             │ debg Find.clickByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[00:00:32]             │ debg Find.findByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[00:00:32]             │ debg Find.waitForElementStale with timeout=10000
[00:00:32]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:00:32]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:00:34]           └-> main view
[00:00:34]             └-> "before each" hook: global before each
[00:00:43]             └- ✓ pass  (9.1s) "Discover main view"
[00:00:43]           └-> Click save button
[00:00:43]             └-> "before each" hook: global before each
[00:00:43]             │ debg TestSubjects.click(discoverSaveButton)
[00:00:43]             │ debg Find.clickByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:00:43]             │ debg Find.findByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:00:51]             └- ✓ pass  (8.1s) "Discover Click save button"
[00:00:51]           └-> Save search panel
[00:00:51]             └-> "before each" hook: global before each
[00:00:51]             │ debg TestSubjects.setValue(savedObjectTitle, a11ySearch)
[00:00:51]             │ debg TestSubjects.click(savedObjectTitle)
[00:00:51]             │ debg Find.clickByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:00:51]             │ debg Find.findByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:00:59]             └- ✓ pass  (7.5s) "Discover Save search panel"
[00:00:59]           └-> Confirm saved search
[00:00:59]             └-> "before each" hook: global before each
[00:00:59]             │ debg TestSubjects.click(confirmSaveSavedObjectButton)
[00:00:59]             │ debg Find.clickByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:00:59]             │ debg Find.findByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:01:07]             └- ✓ pass  (7.8s) "Discover Confirm saved search"
[00:01:07]           └-> Click on new to clear the search
[00:01:07]             └-> "before each" hook: global before each
[00:01:07]             │ debg TestSubjects.click(discoverNewButton)
[00:01:07]             │ debg Find.clickByCssSelector('[data-test-subj="discoverNewButton"]') with timeout=10000
[00:01:07]             │ debg Find.findByCssSelector('[data-test-subj="discoverNewButton"]') with timeout=10000
[00:01:07]             │ warn WebElementWrapper.click: stale element reference: element is not attached to the page document
[00:01:07]             │        (Session info: headless chrome=81.0.4044.122)
[00:01:07]             │ debg finding element 'By(css selector, [data-test-subj="discoverNewButton"])' again, 2 attempts left
[00:01:07]             │ debg isGlobalLoadingIndicatorVisible
[00:01:07]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:01:07]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:01:08]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:01:08]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:01:16]             └- ✓ pass  (9.4s) "Discover Click on new to clear the search"
[00:01:16]           └-> Open load saved search panel
[00:01:16]             └-> "before each" hook: global before each
[00:01:16]             │ debg TestSubjects.exists(loadSearchForm)
[00:01:16]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:01:19]             │ debg --- retry.tryForTime error: [data-test-subj="loadSearchForm"] is not displayed
[00:01:19]             │ debg TestSubjects.moveMouseTo(discoverOpenButton)
[00:01:19]             │ debg TestSubjects.find(discoverOpenButton)
[00:01:19]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:19]             │ debg TestSubjects.click(discoverOpenButton)
[00:01:19]             │ debg Find.clickByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:19]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:01:20]             │ debg isGlobalLoadingIndicatorVisible
[00:01:20]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:01:20]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:01:21]             │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:01:22]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:01:22]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:01:22]             │ debg TestSubjects.exists(loadSearchForm)
[00:01:22]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:01:30]             │ debg TestSubjects.click(euiFlyoutCloseButton)
[00:01:30]             │ debg Find.clickByCssSelector('[data-test-subj="euiFlyoutCloseButton"]') with timeout=10000
[00:01:30]             │ debg Find.findByCssSelector('[data-test-subj="euiFlyoutCloseButton"]') with timeout=10000
[00:01:30]             └- ✓ pass  (13.8s) "Discover Open load saved search panel"
[00:01:30]           └-> Open inspector panel
[00:01:30]             └-> "before each" hook: global before each
[00:01:30]             │ debg Inspector.open
[00:01:30]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:30]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:32]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:33]             │ debg TestSubjects.click(openInspectorButton)
[00:01:33]             │ debg Find.clickByCssSelector('[data-test-subj="openInspectorButton"]') with timeout=10000
[00:01:33]             │ debg Find.findByCssSelector('[data-test-subj="openInspectorButton"]') with timeout=10000
[00:01:33]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:33]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:41]             │ debg Close Inspector
[00:01:41]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:41]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:41]             │ debg Closing flyout inspectorPanel
[00:01:41]             │ debg TestSubjects.find(inspectorPanel)
[00:01:41]             │ debg Find.findByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=10000
[00:01:41]             │ debg Waiting up to 20000ms for flyout closed...
[00:01:41]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:41]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=1000
[00:01:43]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:43]             │ debg TestSubjects.exists(inspectorPanel)
[00:01:43]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="inspectorPanel"]') with timeout=2500
[00:01:46]             │ debg --- retry.tryForTime error: [data-test-subj="inspectorPanel"] is not displayed
[00:01:46]             └- ✓ pass  (16.2s) "Discover Open inspector panel"
[00:01:46]           └-> Open add filter
[00:01:46]             └-> "before each" hook: global before each
[00:01:46]             │ debg TestSubjects.click(addFilter)
[00:01:46]             │ debg Find.clickByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:46]             │ debg Find.findByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:54]             └- ✓ pass  (7.9s) "Discover Open add filter"
[00:01:54]           └-> Select values for a filter
[00:01:54]             └-> "before each" hook: global before each
[00:01:54]             │ debg TestSubjects.click(addFilter)
[00:01:54]             │ debg Find.clickByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:54]             │ debg Find.findByCssSelector('[data-test-subj="addFilter"]') with timeout=10000
[00:01:54]             │ debg comboBox.set, comboBoxSelector: filterFieldSuggestionList
[00:01:54]             │ debg TestSubjects.find(filterFieldSuggestionList)
[00:01:54]             │ debg Find.findByCssSelector('[data-test-subj="filterFieldSuggestionList"]') with timeout=10000
[00:01:54]             │ debg comboBox.setElement, value: extension.raw
[00:01:54]             │ debg comboBox.isOptionSelected, value: extension.raw
[00:01:57]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:57]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:01:57]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="extension.raw"]') with timeout=2500
[00:01:57]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:01:57]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:00]             │ debg --- retry.tryForTime error: [data-test-subj~="comboBoxOptionsList"] is not displayed
[00:02:00]             │ debg comboBox.set, comboBoxSelector: filterOperatorList
[00:02:00]             │ debg TestSubjects.find(filterOperatorList)
[00:02:00]             │ debg Find.findByCssSelector('[data-test-subj="filterOperatorList"]') with timeout=10000
[00:02:01]             │ debg comboBox.setElement, value: is one of
[00:02:01]             │ debg comboBox.isOptionSelected, value: is one of
[00:02:03]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:03]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:03]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="is one of"]') with timeout=2500
[00:02:04]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:04]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:06]             │ debg --- retry.tryForTime error: [data-test-subj~="comboBoxOptionsList"] is not displayed
[00:02:07]             │ debg TestSubjects.find(filterParams)
[00:02:07]             │ debg Find.findByCssSelector('[data-test-subj="filterParams"]') with timeout=10000
[00:02:07]             │ debg comboBox.setElement, value: jpg
[00:02:07]             │ debg comboBox.isOptionSelected, value: jpg
[00:02:09]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:09]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:09]             │ debg Find.allByCssSelector('.euiFilterSelectItem[title^="jpg"]') with timeout=2500
[00:02:09]             │ debg TestSubjects.exists(~comboBoxOptionsList)
[00:02:09]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[00:02:10]             │ debg TestSubjects.click(saveFilter)
[00:02:10]             │ debg Find.clickByCssSelector('[data-test-subj="saveFilter"]') with timeout=10000
[00:02:10]             │ debg Find.findByCssSelector('[data-test-subj="saveFilter"]') with timeout=10000
[00:02:10]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:02:10]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:02:18]             └- ✓ pass  (23.7s) "Discover Select values for a filter"
[00:02:18]           └-> Load a new search from the panel
[00:02:18]             └-> "before each" hook: global before each
[00:02:18]             │ debg TestSubjects.click(discoverSaveButton)
[00:02:18]             │ debg Find.clickByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:02:18]             │ debg Find.findByCssSelector('[data-test-subj="discoverSaveButton"]') with timeout=10000
[00:02:19]             │ debg TestSubjects.setValue(savedObjectTitle, filterSearch)
[00:02:19]             │ debg TestSubjects.click(savedObjectTitle)
[00:02:19]             │ debg Find.clickByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:02:19]             │ debg Find.findByCssSelector('[data-test-subj="savedObjectTitle"]') with timeout=10000
[00:02:19]             │ debg TestSubjects.click(confirmSaveSavedObjectButton)
[00:02:19]             │ debg Find.clickByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:02:19]             │ debg Find.findByCssSelector('[data-test-subj="confirmSaveSavedObjectButton"]') with timeout=10000
[00:02:19]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:19]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:22]             │ debg --- retry.tryForTime error: [data-test-subj="loadSearchForm"] is not displayed
[00:02:22]             │ debg TestSubjects.moveMouseTo(discoverOpenButton)
[00:02:22]             │ debg TestSubjects.find(discoverOpenButton)
[00:02:22]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:22]             │ debg TestSubjects.click(discoverOpenButton)
[00:02:22]             │ debg Find.clickByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:22]             │ debg Find.findByCssSelector('[data-test-subj="discoverOpenButton"]') with timeout=10000
[00:02:23]             │ debg isGlobalLoadingIndicatorVisible
[00:02:23]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:02:23]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:02:24]             │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:02:25]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:02:25]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:02:25]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:25]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:25]             │ debg TestSubjects.exists(loadSearchForm)
[00:02:25]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="loadSearchForm"]') with timeout=2500
[00:02:25]             │ debg Find.byButtonText('filterSearch') with timeout=10000
[00:02:29]             │ debg --- retry.tryForTime error: stale element reference: element is not attached to the page document
[00:02:29]             │        (Session info: headless chrome=81.0.4044.122)
[00:02:33]             │ debg isGlobalLoadingIndicatorVisible
[00:02:33]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:02:33]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:02:34]             │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[00:02:35]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:02:35]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:02:43]             └- ✓ pass  (24.8s) "Discover Load a new search from the panel"
[00:02:43]           └-> click share button
[00:02:43]             └-> "before each" hook: global before each
[00:02:43]             │ debg TestSubjects.click(shareTopNavButton)
[00:02:43]             │ debg Find.clickByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:02:43]             │ debg Find.findByCssSelector('[data-test-subj="shareTopNavButton"]') with timeout=10000
[00:02:50]             └- ✓ pass  (7.9s) "Discover click share button"
[00:02:50]           └-> Open sidebar filter
[00:02:50]             └-> "before each" hook: global before each
[00:02:50]             │ debg TestSubjects.click(toggleFieldFilterButton)
[00:02:50]             │ debg Find.clickByCssSelector('[data-test-subj="toggleFieldFilterButton"]') with timeout=10000
[00:02:50]             │ debg Find.findByCssSelector('[data-test-subj="toggleFieldFilterButton"]') with timeout=10000
[00:02:51]             │ debg TestSubjects.exists(filterSelectionPanel)
[00:02:51]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="filterSelectionPanel"]') with timeout=120000
[00:02:58]             └- ✓ pass  (7.5s) "Discover Open sidebar filter"
[00:02:58]           └-> Close sidebar filter
[00:02:58]             └-> "before each" hook: global before each
[00:02:58]             │ debg TestSubjects.click(toggleFieldFilterButton)
[00:02:58]             │ debg Find.clickByCssSelector('[data-test-subj="toggleFieldFilterButton"]') with timeout=10000
[00:02:58]             │ debg Find.findByCssSelector('[data-test-subj="toggleFieldFilterButton"]') with timeout=10000
[00:02:58]             │ debg TestSubjects.missingOrFail(filterSelectionPanel)
[00:02:58]             │ debg TestSubjects.waitForHidden(filterSelectionPanel)
[00:02:58]             │ debg TestSubjects.find(filterSelectionPanel)
[00:02:58]             │ debg Find.findByCssSelector('[data-test-subj="filterSelectionPanel"]') with timeout=10000
[00:02:58]             │ debg Find.waitForElementHidden with timeout=2500
[00:03:06]             └- ✓ pass  (7.6s) "Discover Close sidebar filter"
[00:03:06]           └-> Add a field from sidebar
[00:03:06]             └-> "before each" hook: global before each
[00:03:06]             │ debg TestSubjects.moveMouseTo(field-@message)
[00:03:06]             │ debg TestSubjects.find(field-@message)
[00:03:06]             │ debg Find.findByCssSelector('[data-test-subj="field-@message"]') with timeout=10000
[00:03:06]             │ debg TestSubjects.click(fieldToggle-@message)
[00:03:06]             │ debg Find.clickByCssSelector('[data-test-subj="fieldToggle-@message"]') with timeout=10000
[00:03:06]             │ debg Find.findByCssSelector('[data-test-subj="fieldToggle-@message"]') with timeout=10000
[00:03:08]             └- ✓ pass  (2.6s) "Discover Add a field from sidebar"
[00:03:08]           └-> Add more fields from sidebar
[00:03:08]             └-> "before each" hook: global before each
[00:03:08]             │ debg TestSubjects.click(field-extension)
[00:03:08]             │ debg Find.clickByCssSelector('[data-test-subj="field-extension"]') with timeout=10000
[00:03:08]             │ debg Find.findByCssSelector('[data-test-subj="field-extension"]') with timeout=10000
[00:03:08]             │ debg TestSubjects.exists(plus-extension-jpg)
[00:03:08]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="plus-extension-jpg"]') with timeout=2500
[00:03:08]             │ debg TestSubjects.click(plus-extension-jpg)
[00:03:08]             │ debg Find.clickByCssSelector('[data-test-subj="plus-extension-jpg"]') with timeout=10000
[00:03:08]             │ debg Find.findByCssSelector('[data-test-subj="plus-extension-jpg"]') with timeout=10000
[00:03:09]             │ debg isGlobalLoadingIndicatorVisible
[00:03:09]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:03:09]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:03:09]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:03:09]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:03:10]             │ debg TestSubjects.click(field-geo.src)
[00:03:10]             │ debg Find.clickByCssSelector('[data-test-subj="field-geo.src"]') with timeout=10000
[00:03:10]             │ debg Find.findByCssSelector('[data-test-subj="field-geo.src"]') with timeout=10000
[00:03:10]             │ debg TestSubjects.exists(plus-geo.src-IN)
[00:03:10]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="plus-geo.src-IN"]') with timeout=2500
[00:03:10]             │ debg TestSubjects.click(plus-geo.src-IN)
[00:03:10]             │ debg Find.clickByCssSelector('[data-test-subj="plus-geo.src-IN"]') with timeout=10000
[00:03:10]             │ debg Find.findByCssSelector('[data-test-subj="plus-geo.src-IN"]') with timeout=10000
[00:03:11]             │ debg isGlobalLoadingIndicatorVisible
[00:03:11]             │ debg TestSubjects.exists(globalLoadingIndicator)
[00:03:11]             │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[00:03:11]             │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[00:03:11]             │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[00:03:12]             └- ✓ pass  (4.3s) "Discover Add more fields from sidebar"
[00:03:12]           └-> should open context view on a doc
[00:03:12]             └-> "before each" hook: global before each
[00:03:12]             │ debg TestSubjects.find(docTable)
[00:03:12]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:03:13]             │ debg TestSubjects.find(docTable)
[00:03:13]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:03:23]             │ debg --- retry.try error: row actions empty, trying again
[00:03:24]             │ debg TestSubjects.find(docTable)
[00:03:24]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:03:34]             │ debg --- retry.try failed again with the same message...
[00:03:35]             │ debg TestSubjects.find(docTable)
[00:03:35]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:03:45]             │ debg --- retry.try failed again with the same message...
[00:03:45]             │ debg TestSubjects.find(docTable)
[00:03:45]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:03:55]             │ debg --- retry.try failed again with the same message...
[00:03:56]             │ debg TestSubjects.find(docTable)
[00:03:56]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:06]             │ debg --- retry.try failed again with the same message...
[00:04:06]             │ debg TestSubjects.find(docTable)
[00:04:06]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:16]             │ debg --- retry.try failed again with the same message...
[00:04:17]             │ debg TestSubjects.find(docTable)
[00:04:17]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:27]             │ debg --- retry.try failed again with the same message...
[00:04:27]             │ debg TestSubjects.find(docTable)
[00:04:27]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:37]             │ debg --- retry.try failed again with the same message...
[00:04:38]             │ debg TestSubjects.find(docTable)
[00:04:38]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:48]             │ debg --- retry.try failed again with the same message...
[00:04:48]             │ debg TestSubjects.find(docTable)
[00:04:48]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:04:59]             │ debg --- retry.try failed again with the same message...
[00:04:59]             │ debg TestSubjects.find(docTable)
[00:04:59]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:05:09]             │ debg --- retry.try failed again with the same message...
[00:05:10]             │ debg TestSubjects.find(docTable)
[00:05:10]             │ debg Find.findByCssSelector('[data-test-subj="docTable"]') with timeout=10000
[00:05:20]             │ debg --- retry.try failed again with the same message...
[00:05:20]             │ info Taking screenshot "/dev/shm/workspace/kibana/test/functional/screenshots/failure/Discover should open context view on a doc.png"
[00:05:20]             │ info Current URL is: http://localhost:61141/app/discover#/f36c3b60-9e6a-11ea-a4e7-0519df8dffc8?_a=(columns:!(%27@message%27),filters:!((%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27logstash-*%27,key:extension.raw,negate:!f,params:!(jpg),type:phrases,value:jpg),query:(bool:(minimum_should_match:1,should:!((match_phrase:(extension.raw:jpg)))))),(%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27logstash-*%27,key:extension,negate:!f,params:(query:jpg),type:phrase),query:(match_phrase:(extension:jpg))),(%27$state%27:(store:appState),meta:(alias:!n,disabled:!f,index:%27logstash-*%27,key:geo.src,negate:!f,params:(query:IN),type:phrase),query:(match_phrase:(geo.src:IN)))),index:%27logstash-*%27,interval:auto,query:(language:kuery,query:%27%27),sort:!())
[00:05:20]             │ info Saving page source to: /dev/shm/workspace/kibana/test/functional/failure_debug/html/Discover should open context view on a doc.html
[00:05:20]             └- ✖ fail: "Discover should open context view on a doc"
[00:05:20]             │

Stack Trace

Error: retry.try timeout: Error: row actions empty, trying again
    at retry.try (test/accessibility/apps/discover.ts:140:17)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at onFailure (test/common/services/retry/retry_for_success.ts:28:9)
    at retryForSuccess (test/common/services/retry/retry_for_success.ts:68:13)

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@pgayvallet pgayvallet merged commit 54e79cb into elastic:master May 25, 2020
pgayvallet added a commit to pgayvallet/kibana that referenced this pull request May 25, 2020
* implement `navigateToUrl` core API

* fix lint

* review comments
pgayvallet added a commit that referenced this pull request May 25, 2020
* implement `navigateToUrl` core API

* fix lint

* review comments
jloleysens added a commit that referenced this pull request May 26, 2020
…ine-editor

* 'master' of github.com:elastic/kibana: (129 commits)
  [Canvas] Force embeddables to refresh when renderable reevaluated (#67133)
  [Canvas] Better handling navigating to/from canvas (#66407)
  [Ingest pipelines] Fix schema validation for simulate and update routes (#67199)
  do not use es from setup (#67277)
  Auto expand replicas for event log (#67286)
  Observability & APM do not use elasticsearch client provided via setup contract  (#67263)
  Fix privileges check when security is not enabled (#67308)
  add IIS home (#66918)
  [ML] Adding additional job service endpoint tests (#66892)
  [Ingest Manager] Update fleet internal doc with latest flags (#67193)
  [Discover] Deangularize the loading spinner (#67165)
  Add `application.navigateToUrl` core API (#67110)
  Improve indexpattern without timefield functional test (#67031)
  KibanaContext in index pattern managment ui (#66985)
  Fix Azure metrics tutorial inside the App Home/ Add data area (#66901)
  add azure logs home (#66910)
  fix: rum agent should work correctly on new platform (#67037)
  [test_utils/Testbed] Move to src/test_utils folder (OSS) (#66898)
  only block registration when appRoute contains the exact basePath (#67125)
  Changed actions API endpoints urls to follow Kibana STYLEGUIDE (#65936)
  ...

# Conflicts:
#	x-pack/plugins/ingest_pipelines/public/application/components/pipeline_form/pipeline_form_fields.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:New Platform release_note:skip Skip the PR/issue when compiling release notes Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc v7.9.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants