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

Enable CSS-in-JS styling with emotion #98157

Merged
merged 37 commits into from
Jul 9, 2021

Conversation

thompsongl
Copy link
Contributor

@thompsongl thompsongl commented Apr 23, 2021

Summary

Closes #95557

  • Adds @emotion/react to kbn-ui-shared-deps
    • TypeScript workarounds are due to conflicting types in v10 and v11 of Emotion (Storybook includes v10)
    • Where possible, v10 is aliased to use v11 for Storybook
  • Changes "default" CSS-in-JS library from styled-components to emotion
    • Uses @emotion/babel-preset-css-prop preset
    • Adds opt-in support to webpack babel config for styled-components
  • Adds @emotion/jest/serializer to kbn-test (Not working as expected at the moment)
  • Adds eslint rule warning against using styled-components in new locations.
    • Extends @kbn/eslint/module_migration to accept include and exclude
    • Moves file regex array used by @kbn/babel-preset to @kbn/dev-utils and shares across packages
  • Resolve Jest snapshot output
  • Remove experimental css and Emotion styles from UI components (Chrome, Canvas)
  • Discern appropriate Doc API changes

@thompsongl thompsongl added v8.0.0 release_note:skip Skip the PR/issue when compiling release notes v7.14.0 labels Apr 23, 2021
@thompsongl
Copy link
Contributor Author

Working through the type errors related to incompatible css prop types from emotion and styled-components.

@thompsongl
Copy link
Contributor Author

Working through type errors related to emotion version differences (storybook uses v10)

@thompsongl

This comment has been minimized.

Comment on lines +9 to +11
"@emotion/core": [
"typings/@emotion"
],
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Stubs the @emotion/core types, which are only used internally by Storybook, but cause type errors if included.

Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe Storybook should use a dedicated tsconfig.json instead of polluting the base global config?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

EUI PRs like this have highlighted the need to make better use of the various tsconfig files, especially for browser vs. node environments. @mistic and @spalger are aware, but I'm not sure if there is an issue tracking the idea.
Note that this is a temporary change that can be reverted when Storybook moves to Emotion 11. I'm happy to make further changes, though, if y'all decide that kbn-storybook should be handled differently.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'm happy to make further changes, though, if y'all decide that kbn-storybook should be handled differently.

If @elastic/kibana-operations team thinks it's acceptable... @mistic any actionable items for the problem?

@thompsongl
Copy link
Contributor Author

Opening this up for discussion. Note that there are a couple tasks still to complete, but the foundation is ready for review.

@thompsongl thompsongl marked this pull request as ready for review May 3, 2021 16:53
@thompsongl thompsongl requested a review from a team May 3, 2021 16:53
@thompsongl thompsongl requested review from a team as code owners May 3, 2021 16:53
const usesStyledComponents = [
/src[\/\\]plugins[\/\\](data|kibana_react)[\/\\]/,
/x-pack[\/\\]plugins[\/\\](apm|beats_management|fleet|infra|lists|observability|osquery|security_solution|uptime)[\/\\]/,
/x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/,
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there a useful error message if a developer tries to use styled-components outside these directories?

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 currently, but if the ops folks agree that this opt-in/opt-out approach is the right way to go, we can look at adding a message.

Copy link
Contributor

Choose a reason for hiding this comment

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

Is the plan to discouraging use of styled-components and push the teams working on these plugins to migrate to emotion?

What if we added an eslint error message for importing styled-components that told people to use @emotion/react instead. Then people would need to disable the eslint rule when importing it which I think is ideal if we're actively discouraging the spread of styled-compononents. We could also have the opposite rule in place and maintain this list of selectors in .eslintrc.js or something so they stay synchronized.

(This is quite a list of plugins already using styled-components though, didn't expect it to be so large)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Is the plan to discouraging use of styled-components and push the teams working on these plugins to migrate to emotion?

Yes. The APIs are similar enough that migration shouldn't be time consuming. I was also surprised to see so many plugins using it; the list has grown since I last did an audit.

Good ideas regarding eslint. I'll look in to creating a rule and some kind of synchronizable list.

Copy link
Contributor

@spalger spalger May 24, 2021

Choose a reason for hiding this comment

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

Great, I think since we're going to need to scope this to specific files we might want to customize the @kbn/eslint/module_migration rule: https://github.com/elastic/kibana/blob/master/packages/elastic-eslint-config-kibana/.eslintrc.js#L37-L41

We can add file globs to include/exclude specific migration mappings for specific patterns using regex like above. Should be as simple as filtering the list of mappings and then returning an empty visitor {} when the mappings are empty.

Copy link
Contributor

Choose a reason for hiding this comment

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

Should we create a meta issue with an explicit deadline to track the migration process?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Finally got back to this. Extended @kbn/eslint/module_migration to accept include and exclude and used that to write a new rule for styled-components. The file regex array used by @kbn/babel-preset is now stored in @kbn/dev-utils and is shared across packages.

@thompsongl thompsongl requested a review from a team as a code owner July 7, 2021 01:12
@botelastic botelastic bot added the Feature:Embedding Embedding content via iFrame label Jul 7, 2021
/packages[\/\\]kbn-ui-shared-deps[\/\\]/,
/src[\/\\]plugins[\/\\](data|kibana_react)[\/\\]/,
/x-pack[\/\\]plugins[\/\\](apm|beats_management|cases|fleet|infra|lists|observability|osquery|security_solution|timelines|uptime)[\/\\]/,
/x-pack[\/\\]test[\/\\]plugin_functional[\/\\]plugins[\/\\]resolver_test[\/\\]/,
Copy link
Contributor

Choose a reason for hiding this comment

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

Have you created a meta issue to ping codeowners of these plugins to migrate from styled components?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have not. Thanks for the reminder

Copy link
Contributor

@jloleysens jloleysens left a comment

Choose a reason for hiding this comment

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

AppServices changes LGTM

@clintandrewhall
Copy link
Contributor

🚢 🚢 🚢

@clintandrewhall
Copy link
Contributor

🚢 🚢 🚢

🚀🚀🚀

@thompsongl
Copy link
Contributor Author

Meta issue for tracking the future of styled-components vs. emotion: #105071

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / general / Chrome X-Pack UI Functional Tests.x-pack/test/functional/apps/lens/formula·ts.lens app lens formula should update and delete a formula

Link to Jenkins

Standard Out

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

[00:00:00]       │
[00:11:28]         └-: lens app
[00:11:28]           └-> "before all" hook in "lens app"
[00:11:28]           └-> "before all" hook in "lens app"
[00:11:28]             │ debg Starting lens before method
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Loading "mappings.json"
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Loading "data.json.gz"
[00:11:28]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [logstash-2015.09.22/pBlv_sT6T8ulD9hVZUiXxQ] deleting index
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Deleted existing index "logstash-2015.09.22"
[00:11:28]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [logstash-2015.09.22] creating index, cause [api], templates [], shards [1]/[0]
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Created index "logstash-2015.09.22"
[00:11:28]             │ debg [x-pack/test/functional/es_archives/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:11:28]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [logstash-2015.09.20/3NEtocgjRhuoZlVIfjsZbQ] deleting index
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Deleted existing index "logstash-2015.09.20"
[00:11:28]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [logstash-2015.09.20] creating index, cause [api], templates [], shards [1]/[0]
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Created index "logstash-2015.09.20"
[00:11:28]             │ debg [x-pack/test/functional/es_archives/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:11:28]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [logstash-2015.09.21/-PaNLUnOSnudErCPw6VUfA] deleting index
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Deleted existing index "logstash-2015.09.21"
[00:11:28]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [logstash-2015.09.21] creating index, cause [api], templates [], shards [1]/[0]
[00:11:28]             │ info [x-pack/test/functional/es_archives/logstash_functional] Created index "logstash-2015.09.21"
[00:11:28]             │ debg [x-pack/test/functional/es_archives/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:11:28]             │ info [o.e.c.m.MetadataMappingService] [node-01] [logstash-2015.09.21/2JD6tBcMT4-KFJKMnatxjQ] update_mapping [_doc]
[00:11:33]             │ info [o.e.c.m.MetadataMappingService] [node-01] [logstash-2015.09.20/zKD24xF_SK6as5enrLKX7A] update_mapping [_doc]
[00:11:38]             │ info progress: 9931
[00:11:41]             │ info [x-pack/test/functional/es_archives/logstash_functional] Indexed 4634 docs into "logstash-2015.09.22"
[00:11:41]             │ info [x-pack/test/functional/es_archives/logstash_functional] Indexed 4757 docs into "logstash-2015.09.20"
[00:11:41]             │ info [x-pack/test/functional/es_archives/logstash_functional] Indexed 4614 docs into "logstash-2015.09.21"
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Loading "mappings.json"
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Loading "data.json"
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Loading "data.json.gz"
[00:11:42]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.kibana_1/4mNEMcgCR4qM7wNC1va05g] deleting index
[00:11:42]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.kibana_task_manager_8.0.0_001/B2IuRwuPTPmaTHrkQKkrjw] deleting index
[00:11:42]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.kibana_8.0.0_001/143-tAURRnaYZodW5RK0mA] deleting index
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Deleted existing index ".kibana_8.0.0_001"
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Deleted existing index ".kibana_task_manager_8.0.0_001"
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Deleted existing index ".kibana_1"
[00:11:42]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.kibana_1] creating index, cause [api], templates [], shards [1]/[0]
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Created index ".kibana_1"
[00:11:42]             │ debg [x-pack/test/functional/es_archives/lens/basic] ".kibana_1" settings {"index":{"auto_expand_replicas":"0-1","number_of_replicas":"0","number_of_shards":"1"}}
[00:11:42]             │ info [x-pack/test/functional/es_archives/lens/basic] Indexed 24 docs into ".kibana_1"
[00:11:42]             │ debg Migrating saved objects
[00:11:42]             │ proc [kibana]   log   [15:07:43.831] [info][savedobjects-service] [.kibana_task_manager] INIT -> CREATE_NEW_TARGET. took: 3ms.
[00:11:42]             │ proc [kibana]   log   [15:07:43.837] [info][savedobjects-service] [.kibana] INIT -> WAIT_FOR_YELLOW_SOURCE. took: 10ms.
[00:11:42]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.kibana_task_manager_8.0.0_001] creating index, cause [api], templates [], shards [1]/[1]
[00:11:42]             │ info [o.e.c.r.a.AllocationService] [node-01] updating number_of_replicas to [0] for indices [.kibana_task_manager_8.0.0_001]
[00:11:42]             │ proc [kibana]   log   [15:07:43.848] [info][savedobjects-service] [.kibana] WAIT_FOR_YELLOW_SOURCE -> CHECK_UNKNOWN_DOCUMENTS. took: 11ms.
[00:11:42]             │ proc [kibana]   log   [15:07:43.855] [info][savedobjects-service] [.kibana] CHECK_UNKNOWN_DOCUMENTS -> SET_SOURCE_WRITE_BLOCK. took: 7ms.
[00:11:42]             │ info [o.e.c.m.MetadataIndexStateService] [node-01] adding block write to indices [[.kibana_1/6Im0o6bLRTGzVocAPBDrtw]]
[00:11:42]             │ info [o.e.c.m.MetadataIndexStateService] [node-01] completed adding block write to indices [.kibana_1]
[00:11:42]             │ proc [kibana]   log   [15:07:43.920] [info][savedobjects-service] [.kibana_task_manager] CREATE_NEW_TARGET -> MARK_VERSION_INDEX_READY. took: 89ms.
[00:11:42]             │ proc [kibana]   log   [15:07:43.935] [info][savedobjects-service] [.kibana] SET_SOURCE_WRITE_BLOCK -> CREATE_REINDEX_TEMP. took: 80ms.
[00:11:42]             │ proc [kibana]   log   [15:07:43.958] [info][savedobjects-service] [.kibana_task_manager] MARK_VERSION_INDEX_READY -> DONE. took: 38ms.
[00:11:42]             │ proc [kibana]   log   [15:07:43.958] [info][savedobjects-service] [.kibana_task_manager] Migration completed after 130ms
[00:11:42]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.kibana_8.0.0_reindex_temp] creating index, cause [api], templates [], shards [1]/[1]
[00:11:42]             │ info [o.e.c.r.a.AllocationService] [node-01] updating number_of_replicas to [0] for indices [.kibana_8.0.0_reindex_temp]
[00:11:42]             │ proc [kibana]   log   [15:07:44.014] [info][savedobjects-service] [.kibana] CREATE_REINDEX_TEMP -> REINDEX_SOURCE_TO_TEMP_OPEN_PIT. took: 79ms.
[00:11:42]             │ proc [kibana]   log   [15:07:44.018] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_OPEN_PIT -> REINDEX_SOURCE_TO_TEMP_READ. took: 4ms.
[00:11:42]             │ proc [kibana]   log   [15:07:44.028] [info][savedobjects-service] [.kibana] Starting to process 12 documents.
[00:11:42]             │ proc [kibana]   log   [15:07:44.028] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_INDEX. took: 10ms.
[00:11:42]             │ proc [kibana]   log   [15:07:44.072] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_INDEX -> REINDEX_SOURCE_TO_TEMP_INDEX_BULK. took: 44ms.
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] update_mapping [_doc]
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] update_mapping [_doc]
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] update_mapping [_doc]
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] update_mapping [_doc]
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] update_mapping [_doc]
[00:11:42]             │ proc [kibana]   log   [15:07:44.214] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_INDEX_BULK -> REINDEX_SOURCE_TO_TEMP_READ. took: 142ms.
[00:11:42]             │ proc [kibana]   log   [15:07:44.220] [info][savedobjects-service] [.kibana] Processed 12 documents out of 12.
[00:11:42]             │ proc [kibana]   log   [15:07:44.220] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_READ -> REINDEX_SOURCE_TO_TEMP_CLOSE_PIT. took: 5ms.
[00:11:42]             │ proc [kibana]   log   [15:07:44.223] [info][savedobjects-service] [.kibana] REINDEX_SOURCE_TO_TEMP_CLOSE_PIT -> SET_TEMP_WRITE_BLOCK. took: 4ms.
[00:11:42]             │ info [o.e.c.m.MetadataIndexStateService] [node-01] adding block write to indices [[.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ]]
[00:11:42]             │ info [o.e.c.m.MetadataIndexStateService] [node-01] completed adding block write to indices [.kibana_8.0.0_reindex_temp]
[00:11:42]             │ proc [kibana]   log   [15:07:44.266] [info][savedobjects-service] [.kibana] SET_TEMP_WRITE_BLOCK -> CLONE_TEMP_TO_TARGET. took: 43ms.
[00:11:42]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] applying create index request using existing index [.kibana_8.0.0_reindex_temp] metadata
[00:11:42]             │ info [o.e.c.m.MetadataCreateIndexService] [node-01] [.kibana_8.0.0_001] creating index, cause [clone_index], templates [], shards [1]/[1]
[00:11:42]             │ info [o.e.c.r.a.AllocationService] [node-01] updating number_of_replicas to [0] for indices [.kibana_8.0.0_001]
[00:11:42]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/IXJk7hppRAOlP_7HuhGNyw] create_mapping
[00:11:43]             │ proc [kibana]   log   [15:07:44.369] [info][savedobjects-service] [.kibana] CLONE_TEMP_TO_TARGET -> REFRESH_TARGET. took: 103ms.
[00:11:43]             │ proc [kibana]   log   [15:07:44.373] [info][savedobjects-service] [.kibana] REFRESH_TARGET -> OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT. took: 4ms.
[00:11:43]             │ proc [kibana]   log   [15:07:44.377] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_OPEN_PIT -> OUTDATED_DOCUMENTS_SEARCH_READ. took: 4ms.
[00:11:43]             │ proc [kibana]   log   [15:07:44.382] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_READ -> OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT. took: 5ms.
[00:11:43]             │ proc [kibana]   log   [15:07:44.385] [info][savedobjects-service] [.kibana] OUTDATED_DOCUMENTS_SEARCH_CLOSE_PIT -> UPDATE_TARGET_MAPPINGS. took: 3ms.
[00:11:43]             │ info [o.e.c.m.MetadataMappingService] [node-01] [.kibana_8.0.0_001/IXJk7hppRAOlP_7HuhGNyw] update_mapping [_doc]
[00:11:43]             │ proc [kibana]   log   [15:07:44.453] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS -> UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK. took: 68ms.
[00:11:43]             │ info [o.e.t.LoggingTaskListener] [node-01] 25452 finished with response BulkByScrollResponse[took=35.6ms,timed_out=false,sliceId=null,updated=12,created=0,deleted=0,batches=1,versionConflicts=0,noops=0,retries=0,throttledUntil=0s,bulk_failures=[],search_failures=[]]
[00:11:43]             │ proc [kibana]   log   [15:07:44.558] [info][savedobjects-service] [.kibana] UPDATE_TARGET_MAPPINGS_WAIT_FOR_TASK -> MARK_VERSION_INDEX_READY. took: 105ms.
[00:11:43]             │ info [o.e.c.m.MetadataDeleteIndexService] [node-01] [.kibana_8.0.0_reindex_temp/2JwNJ90-Rtm5z7tAlHIexQ] deleting index
[00:11:43]             │ proc [kibana]   log   [15:07:44.604] [info][savedobjects-service] [.kibana] MARK_VERSION_INDEX_READY -> DONE. took: 45ms.
[00:11:43]             │ proc [kibana]   log   [15:07:44.605] [info][savedobjects-service] [.kibana] Migration completed after 778ms
[00:11:43]             │ debg [x-pack/test/functional/es_archives/lens/basic] Migrated Kibana index after loading Kibana data
[00:11:43]             │ debg [x-pack/test/functional/es_archives/lens/basic] Ensured that default space exists in .kibana
[00:11:43]             │ debg applying update to kibana config: {"accessibility:disableAnimations":true,"dateFormat:tz":"UTC","visualization:visualize:legacyChartsLibrary":true,"visualization:visualize:legacyPieChartsLibrary":true}
[00:11:44]           └-: 
[00:11:44]             └-> "before all" hook in ""
[01:05:03]             └-: lens formula
[01:05:03]               └-> "before all" hook for "should transition from count to formula"
[01:05:03]               └-> should transition from count to formula
[01:05:03]                 └-> "before each" hook: global before each for "should transition from count to formula"
[01:05:03]                 │ debg navigating to visualize url: http://localhost:61131/app/visualize#/
[01:05:03]                 │ debg navigate to: http://localhost:61131/app/visualize#/
[01:05:03]                 │ debg browser[INFO] http://localhost:61131/app/visualize?_t=1625846464788#/ 281 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.
[01:05:03]                 │
[01:05:03]                 │ debg browser[INFO] http://localhost:61131/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[01:05:03]                 │ debg ... sleep(700) start
[01:05:04]                 │ debg ... sleep(700) end
[01:05:04]                 │ debg returned from get, calling refresh
[01:05:04]                 │ debg browser[INFO] http://localhost:61131/app/visualize?_t=1625846464788#/ 281 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.
[01:05:04]                 │
[01:05:04]                 │ debg browser[INFO] http://localhost:61131/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[01:05:05]                 │ debg currentUrl = http://localhost:61131/app/visualize#/
[01:05:05]                 │          appUrl = http://localhost:61131/app/visualize#/
[01:05:05]                 │ debg TestSubjects.find(kibanaChrome)
[01:05:05]                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[01:05:05]                 │ debg ... sleep(501) start
[01:05:05]                 │ debg ... sleep(501) end
[01:05:05]                 │ debg in navigateTo url = http://localhost:61131/app/visualize#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[01:05:05]                 │ debg --- retry.tryForTime error: URL changed, waiting for it to settle
[01:05:06]                 │ debg ... sleep(501) start
[01:05:06]                 │ debg ... sleep(501) end
[01:05:06]                 │ debg in navigateTo url = http://localhost:61131/app/visualize#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[01:05:06]                 │ debg searchForItemWithName: lnsXYvis
[01:05:06]                 │ debg TestSubjects.find(tableListSearchBox)
[01:05:06]                 │ debg Find.findByCssSelector('[data-test-subj="tableListSearchBox"]') with timeout=10000
[01:05:07]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:07]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:07]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:08]                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[01:05:09]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:09]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:09]                 │ debg lensPage.clickVisualizeListItemTitle('lnsXYvis')
[01:05:09]                 │ debg TestSubjects.click(visListingTitleLink-lnsXYvis)
[01:05:09]                 │ debg Find.clickByCssSelector('[data-test-subj="visListingTitleLink-lnsXYvis"]') with timeout=10000
[01:05:09]                 │ debg Find.findByCssSelector('[data-test-subj="visListingTitleLink-lnsXYvis"]') with timeout=10000
[01:05:09]                 │ debg lensPage.isLensPageOrFail()
[01:05:09]                 │ debg TestSubjects.exists(lnsApp)
[01:05:09]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="lnsApp"]') with timeout=1000
[01:05:09]                 │ debg lensPage.goToTimeRange()
[01:05:09]                 │ debg TestSubjects.exists(noDataPopoverDismissButton)
[01:05:09]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="noDataPopoverDismissButton"]') with timeout=2500
[01:05:10]                 │ debg TestSubjects.click(noDataPopoverDismissButton)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="noDataPopoverDismissButton"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="noDataPopoverDismissButton"]') with timeout=10000
[01:05:10]                 │ debg Setting absolute range to Sep 19, 2015 @ 06:31:44.000 to Sep 23, 2015 @ 18:31:44.000
[01:05:10]                 │ debg TestSubjects.exists(superDatePickerToggleQuickMenuButton)
[01:05:10]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerToggleQuickMenuButton"]') with timeout=20000
[01:05:10]                 │ debg TestSubjects.exists(superDatePickerShowDatesButton)
[01:05:10]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=2500
[01:05:10]                 │ debg TestSubjects.click(superDatePickerShowDatesButton)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[01:05:10]                 │ debg TestSubjects.exists(superDatePickerstartDatePopoverButton)
[01:05:10]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=2500
[01:05:10]                 │ debg TestSubjects.click(superDatePickerendDatePopoverButton)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[01:05:10]                 │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:10]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:10]                 │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 23, 2015 @ 18:31:44.000)
[01:05:10]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:10]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:10]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:11]                 │ debg TestSubjects.click(superDatePickerstartDatePopoverButton)
[01:05:11]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[01:05:11]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[01:05:11]                 │ debg Find.waitForElementStale with timeout=10000
[01:05:11]                 │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[01:05:11]                 │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[01:05:11]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:11]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:11]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:11]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:11]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:11]                 │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 19, 2015 @ 06:31:44.000)
[01:05:11]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:11]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:11]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:12]                 │ debg TestSubjects.exists(superDatePickerApplyTimeButton)
[01:05:12]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerApplyTimeButton"]') with timeout=2500
[01:05:14]                 │ debg --- retry.tryForTime error: [data-test-subj="superDatePickerApplyTimeButton"] is not displayed
[01:05:15]                 │ debg TestSubjects.click(querySubmitButton)
[01:05:15]                 │ debg Find.clickByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[01:05:15]                 │ debg Find.findByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[01:05:15]                 │ debg Find.waitForElementStale with timeout=10000
[01:05:15]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:15]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:15]                 │ debg lensPage.configureDimension([object Object])
[01:05:15]                 │ debg TestSubjects.click(lns-layerPanel-0 > lnsXY_yDimensionPanel > lns-dimensionTrigger)
[01:05:15]                 │ debg Find.clickByCssSelector('[data-test-subj="lns-layerPanel-0"] [data-test-subj="lnsXY_yDimensionPanel"] [data-test-subj="lns-dimensionTrigger"]') with timeout=10000
[01:05:15]                 │ debg Find.findByCssSelector('[data-test-subj="lns-layerPanel-0"] [data-test-subj="lnsXY_yDimensionPanel"] [data-test-subj="lns-dimensionTrigger"]') with timeout=10000
[01:05:15]                 │ debg TestSubjects.exists(lns-indexPatternDimension-average)
[01:05:15]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="lns-indexPatternDimension-average"]') with timeout=2500
[01:05:16]                 │ debg TestSubjects.click(lns-indexPatternDimension-average)
[01:05:16]                 │ debg Find.clickByCssSelector('[data-test-subj="lns-indexPatternDimension-average"]') with timeout=10000
[01:05:16]                 │ debg Find.findByCssSelector('[data-test-subj="lns-indexPatternDimension-average"]') with timeout=10000
[01:05:16]                 │ debg TestSubjects.find(indexPattern-dimension-field)
[01:05:16]                 │ debg Find.findByCssSelector('[data-test-subj="indexPattern-dimension-field"]') with timeout=10000
[01:05:16]                 │ debg TestSubjects.exists(~comboBoxOptionsList)
[01:05:16]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj~="comboBoxOptionsList"]') with timeout=2500
[01:05:18]                 │ debg --- retry.tryForTime error: [data-test-subj~="comboBoxOptionsList"] is not displayed
[01:05:19]                 │ debg comboBox.setElement, value: bytes
[01:05:19]                 │ debg comboBox.isOptionSelected, value: bytes
[01:05:19]                 │ debg lensPage.switchToFormula()
[01:05:19]                 │ debg TestSubjects.click(lens-dimensionTabs-formula)
[01:05:19]                 │ debg Find.clickByCssSelector('[data-test-subj="lens-dimensionTabs-formula"]') with timeout=10000
[01:05:19]                 │ debg Find.findByCssSelector('[data-test-subj="lens-dimensionTabs-formula"]') with timeout=10000
[01:05:19]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:19]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:19]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:20]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:20]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:20]                 │ debg Find.allByCssSelector('.echLegendItem') with timeout=10000
[01:05:20]                 └- ✓ pass  (17.4s) "lens app  lens formula should transition from count to formula"
[01:05:20]               └-> should update and delete a formula
[01:05:20]                 └-> "before each" hook: global before each for "should update and delete a formula"
[01:05:20]                 │ debg navigating to visualize url: http://localhost:61131/app/visualize#/
[01:05:20]                 │ debg navigate to: http://localhost:61131/app/visualize#/
[01:05:20]                 │ debg ... sleep(700) start
[01:05:20]                 │ debg browser[INFO] http://localhost:61131/app/visualize?_t=1625846482229#/ 281 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.
[01:05:20]                 │
[01:05:21]                 │ debg browser[INFO] http://localhost:61131/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[01:05:21]                 │ debg ... sleep(700) end
[01:05:21]                 │ debg returned from get, calling refresh
[01:05:22]                 │ debg browser[INFO] http://localhost:61131/app/visualize?_t=1625846482229#/ 281 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.
[01:05:22]                 │
[01:05:22]                 │ debg browser[INFO] http://localhost:61131/bootstrap.js 41:19 "^ A single error about an inline script not firing due to content security policy is expected!"
[01:05:22]                 │ debg currentUrl = http://localhost:61131/app/visualize#/
[01:05:22]                 │          appUrl = http://localhost:61131/app/visualize#/
[01:05:22]                 │ debg TestSubjects.find(kibanaChrome)
[01:05:22]                 │ debg Find.findByCssSelector('[data-test-subj="kibanaChrome"]') with timeout=60000
[01:05:22]                 │ debg ... sleep(501) start
[01:05:23]                 │ debg ... sleep(501) end
[01:05:23]                 │ debg in navigateTo url = http://localhost:61131/app/visualize#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[01:05:23]                 │ debg --- retry.tryForTime error: URL changed, waiting for it to settle
[01:05:23]                 │ debg ... sleep(501) start
[01:05:24]                 │ debg ... sleep(501) end
[01:05:24]                 │ debg in navigateTo url = http://localhost:61131/app/visualize#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))
[01:05:24]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:24]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:24]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:25]                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[01:05:26]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:26]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:26]                 │ debg TestSubjects.exists(newItemButton)
[01:05:26]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="newItemButton"]') with timeout=10000
[01:05:26]                 │ debg TestSubjects.click(newItemButton)
[01:05:26]                 │ debg Find.clickByCssSelector('[data-test-subj="newItemButton"]') with timeout=10000
[01:05:26]                 │ debg Find.findByCssSelector('[data-test-subj="newItemButton"]') with timeout=10000
[01:05:26]                 │ debg TestSubjects.find(visNewDialogGroups)
[01:05:26]                 │ debg Find.findByCssSelector('[data-test-subj="visNewDialogGroups"]') with timeout=10000
[01:05:26]                 │ debg TestSubjects.click(visType-lens)
[01:05:26]                 │ debg Find.clickByCssSelector('[data-test-subj="visType-lens"]') with timeout=10000
[01:05:26]                 │ debg Find.findByCssSelector('[data-test-subj="visType-lens"]') with timeout=10000
[01:05:26]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:26]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:26]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:28]                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[01:05:28]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:28]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:28]                 │ debg lensPage.goToTimeRange()
[01:05:28]                 │ debg TestSubjects.exists(noDataPopoverDismissButton)
[01:05:28]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="noDataPopoverDismissButton"]') with timeout=2500
[01:05:31]                 │ debg --- retry.tryForTime error: [data-test-subj="noDataPopoverDismissButton"] is not displayed
[01:05:31]                 │ debg Setting absolute range to Sep 19, 2015 @ 06:31:44.000 to Sep 23, 2015 @ 18:31:44.000
[01:05:31]                 │ debg TestSubjects.exists(superDatePickerToggleQuickMenuButton)
[01:05:31]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerToggleQuickMenuButton"]') with timeout=20000
[01:05:32]                 │ debg TestSubjects.exists(superDatePickerShowDatesButton)
[01:05:32]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=2500
[01:05:32]                 │ debg TestSubjects.click(superDatePickerShowDatesButton)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerShowDatesButton"]') with timeout=10000
[01:05:32]                 │ debg TestSubjects.exists(superDatePickerstartDatePopoverButton)
[01:05:32]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=2500
[01:05:32]                 │ debg TestSubjects.click(superDatePickerendDatePopoverButton)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerendDatePopoverButton"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[01:05:32]                 │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:32]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:32]                 │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 23, 2015 @ 18:31:44.000)
[01:05:32]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:32]                 │ debg TestSubjects.click(superDatePickerstartDatePopoverButton)
[01:05:32]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[01:05:32]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerstartDatePopoverButton"]') with timeout=10000
[01:05:32]                 │ debg Find.waitForElementStale with timeout=10000
[01:05:33]                 │ debg Find.findByCssSelector('div.euiPopover__panel-isOpen') with timeout=10000
[01:05:33]                 │ debg TestSubjects.click(superDatePickerAbsoluteTab)
[01:05:33]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:33]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteTab"]') with timeout=10000
[01:05:33]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:33]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:33]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:33]                 │ debg TestSubjects.setValue(superDatePickerAbsoluteDateInput, Sep 19, 2015 @ 06:31:44.000)
[01:05:33]                 │ debg TestSubjects.click(superDatePickerAbsoluteDateInput)
[01:05:33]                 │ debg Find.clickByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:33]                 │ debg Find.findByCssSelector('[data-test-subj="superDatePickerAbsoluteDateInput"]') with timeout=10000
[01:05:33]                 │ debg TestSubjects.exists(superDatePickerApplyTimeButton)
[01:05:33]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="superDatePickerApplyTimeButton"]') with timeout=2500
[01:05:36]                 │ debg --- retry.tryForTime error: [data-test-subj="superDatePickerApplyTimeButton"] is not displayed
[01:05:36]                 │ debg TestSubjects.click(querySubmitButton)
[01:05:36]                 │ debg Find.clickByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[01:05:36]                 │ debg Find.findByCssSelector('[data-test-subj="querySubmitButton"]') with timeout=10000
[01:05:36]                 │ debg Find.waitForElementStale with timeout=10000
[01:05:37]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:37]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:37]                 │ debg lensPage.switchToVisualization('lnsDatatable')
[01:05:37]                 │ debg lensPage.openChartSwitchPopover()
[01:05:37]                 │ debg TestSubjects.exists(lnsChartSwitchList)
[01:05:37]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="lnsChartSwitchList"]') with timeout=2500
[01:05:39]                 │ debg --- retry.tryForTime error: [data-test-subj="lnsChartSwitchList"] is not displayed
[01:05:40]                 │ debg TestSubjects.click(lnsChartSwitchPopover)
[01:05:40]                 │ debg Find.clickByCssSelector('[data-test-subj="lnsChartSwitchPopover"]') with timeout=10000
[01:05:40]                 │ debg Find.findByCssSelector('[data-test-subj="lnsChartSwitchPopover"]') with timeout=10000
[01:05:40]                 │ debg TestSubjects.exists(lnsChartSwitchList)
[01:05:40]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="lnsChartSwitchList"]') with timeout=120000
[01:05:40]                 │ debg lensPage.searchOnChartSwitch('lnsDatatable', )
[01:05:40]                 │ debg TestSubjects.setValue(lnsChartSwitchSearch, ble)
[01:05:40]                 │ debg TestSubjects.click(lnsChartSwitchSearch)
[01:05:40]                 │ debg Find.clickByCssSelector('[data-test-subj="lnsChartSwitchSearch"]') with timeout=10000
[01:05:40]                 │ debg Find.findByCssSelector('[data-test-subj="lnsChartSwitchSearch"]') with timeout=10000
[01:05:40]                 │ debg TestSubjects.click(lnsChartSwitchPopover_lnsDatatable)
[01:05:40]                 │ debg Find.clickByCssSelector('[data-test-subj="lnsChartSwitchPopover_lnsDatatable"]') with timeout=10000
[01:05:40]                 │ debg Find.findByCssSelector('[data-test-subj="lnsChartSwitchPopover_lnsDatatable"]') with timeout=10000
[01:05:40]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:40]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:40]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:42]                 │ debg --- retry.tryForTime error: [data-test-subj="globalLoadingIndicator"] is not displayed
[01:05:42]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:42]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:42]                 │ debg lensPage.configureDimension([object Object])
[01:05:42]                 │ debg TestSubjects.click(lns-layerPanel-0 > lnsDatatable_metrics > lns-empty-dimension)
[01:05:42]                 │ debg Find.clickByCssSelector('[data-test-subj="lns-layerPanel-0"] [data-test-subj="lnsDatatable_metrics"] [data-test-subj="lns-empty-dimension"]') with timeout=10000
[01:05:42]                 │ debg Find.findByCssSelector('[data-test-subj="lns-layerPanel-0"] [data-test-subj="lnsDatatable_metrics"] [data-test-subj="lns-empty-dimension"]') with timeout=10000
[01:05:42]                 │ debg TestSubjects.exists(lns-indexPatternDimension-formula)
[01:05:42]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="lns-indexPatternDimension-formula"]') with timeout=2500
[01:05:45]                 │ debg --- retry.tryForTime error: [data-test-subj="lns-indexPatternDimension-formula"] is not displayed
[01:05:45]                 │ debg lensPage.switchToFormula()
[01:05:45]                 │ debg TestSubjects.click(lens-dimensionTabs-formula)
[01:05:45]                 │ debg Find.clickByCssSelector('[data-test-subj="lens-dimensionTabs-formula"]') with timeout=10000
[01:05:45]                 │ debg Find.findByCssSelector('[data-test-subj="lens-dimensionTabs-formula"]') with timeout=10000
[01:05:46]                 │ debg lensPage.typeFormula('count(kql=')
[01:05:46]                 │ debg ... sleep(500) start
[01:05:46]                 │ debg ... sleep(500) end
[01:05:46]                 │ debg Find.findByCssSelector('.monaco-editor') with timeout=10000
[01:05:46]                 │ debg Find.clickByCssSelectorWhenNotDisabled('.monaco-editor') with timeout=10000
[01:05:46]                 │ debg Find.findByCssSelector('.monaco-editor') with timeout=10000
[01:05:47]                 │ debg isGlobalLoadingIndicatorVisible
[01:05:47]                 │ debg TestSubjects.exists(globalLoadingIndicator)
[01:05:47]                 │ debg Find.existsByDisplayedByCssSelector('[data-test-subj="globalLoadingIndicator"]') with timeout=1500
[01:05:47]                 │ debg TestSubjects.exists(globalLoadingIndicator-hidden)
[01:05:47]                 │ debg Find.existsByCssSelector('[data-test-subj="globalLoadingIndicator-hidden"]') with timeout=100000
[01:05:47]                 │ debg lensPage.getDatatableCellText(0, 0)
[01:05:47]                 │ debg lensPage.getDatatableCell(0, 0)
[01:05:47]                 │ debg Find.findByCssSelector('.euiDataGrid') with timeout=10000
[01:05:47]                 │ debg Find.findByCssSelector('[data-test-subj="lnsDataTable"] [data-test-subj="dataGridRowCell"]:nth-child(2)') with timeout=10000
[01:05:48]                 │ info Taking screenshot "/dev/shm/workspace/parallel/13/kibana/x-pack/test/functional/screenshots/failure/lens app  lens formula should update and delete a formula.png"
[01:05:48]                 │ info Current URL is: http://localhost:61131/app/lens#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:%272015-09-19T06:31:44.000Z%27,to:%272015-09-23T18:31:44.000Z%27))
[01:05:48]                 │ info Saving page source to: /dev/shm/workspace/parallel/13/kibana/x-pack/test/functional/failure_debug/html/lens app  lens formula should update and delete a formula.html
[01:05:48]                 └- ✖ fail: lens app  lens formula should update and delete a formula
[01:05:48]                 │       Error: expected '(empty)' to sort of equal '14,005'
[01:05:48]                 │       + expected - actual
[01:05:48]                 │ 
[01:05:48]                 │       -(empty)
[01:05:48]                 │       +14,005
[01:05:48]                 │       
[01:05:48]                 │       at Assertion.assert (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/expect/expect.js:100:11)
[01:05:48]                 │       at Assertion.eql (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/expect/expect.js:244:8)
[01:05:48]                 │       at Context.<anonymous> (test/functional/apps/lens/formula.ts:58:68)
[01:05:48]                 │       at runMicrotasks (<anonymous>)
[01:05:48]                 │       at processTicksAndRejections (internal/process/task_queues.js:95:5)
[01:05:48]                 │       at Object.apply (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16)
[01:05:48]                 │ 
[01:05:48]                 │ 

Stack Trace

Error: expected '(empty)' to sort of equal '14,005'
    at Assertion.assert (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/expect/expect.js:100:11)
    at Assertion.eql (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/expect/expect.js:244:8)
    at Context.<anonymous> (test/functional/apps/lens/formula.ts:58:68)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at Object.apply (/dev/shm/workspace/parallel/13/kibana/node_modules/@kbn/test/target_node/functional_test_runner/lib/mocha/wrap_function.js:87:16) {
  actual: '(empty)',
  expected: '14,005',
  showDiff: true
}

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
advancedSettings 913.0KB 912.6KB -380.0B
apm 4.3MB 4.3MB -8.7KB
canvas 1.6MB 1.6MB -5.6KB
cases 528.5KB 527.3KB -1.1KB
console 904.1KB 903.3KB -859.0B
core 229.8KB 229.8KB +3.0B
crossClusterReplication 290.3KB 287.5KB -2.8KB
dashboard 221.7KB 221.3KB -436.0B
data 165.4KB 164.4KB -963.0B
dataEnhanced 79.9KB 79.4KB -499.0B
dataVisualizer 1.1MB 1.1MB -3.6KB
devTools 4.6KB 4.6KB -69.0B
discover 422.6KB 420.6KB -2.0KB
enterpriseSearch 2.1MB 2.1MB -13.6KB
expressionRevealImage 11.6KB 11.5KB -37.0B
fileUpload 787.6KB 787.4KB -185.0B
fleet 740.0KB 732.8KB -7.3KB
graph 1.1MB 1.1MB -858.0B
grokdebugger 532.0KB 531.9KB -150.0B
home 164.4KB 163.4KB -1.0KB
indexLifecycleManagement 248.7KB 246.4KB -2.3KB
indexManagement 1.3MB 1.3MB -7.9KB
indexPatternFieldEditor 22.2KB 22.0KB -186.0B
indexPatternManagement 551.0KB 546.7KB -4.2KB
infra 1.7MB 1.7MB -10.5KB
ingestPipelines 691.2KB 687.9KB -3.3KB
inputControlVis 83.3KB 83.0KB -291.0B
inspector 18.1KB 17.9KB -211.0B
kibanaOverview 21.9KB 21.5KB -387.0B
kibanaReact 312.1KB 312.1KB -20.0B
kibanaUtils 105.8KB 105.8KB +2.0B
lens 1.5MB 1.5MB -4.2KB
licenseManagement 126.7KB 126.0KB -726.0B
lists 272.6KB 272.4KB -255.0B
logstash 46.8KB 46.3KB -463.0B
management 17.1KB 17.1KB -50.0B
maps 3.1MB 3.1MB -5.8KB
mapsLegacy 278.0KB 278.0KB +1.0B
ml 5.9MB 5.9MB -20.0KB
monitoring 738.1KB 730.2KB -7.8KB
observability 484.1KB 481.9KB -2.2KB
osquery 905.4KB 904.1KB -1.3KB
painlessLab 28.4KB 28.0KB -392.0B
presentationUtil 59.9KB 59.4KB -470.0B
regionMap 273.9KB 273.8KB -43.0B
remoteClusters 162.9KB 161.4KB -1.5KB
reporting 70.4KB 69.9KB -543.0B
rollup 229.9KB 227.8KB -2.1KB
savedObjectsManagement 141.9KB 140.8KB -1.2KB
savedObjectsTagging 76.7KB 76.1KB -623.0B
searchprofiler 653.0KB 652.4KB -571.0B
security 781.5KB 774.8KB -6.7KB
securitySolution 6.3MB 6.3MB -13.9KB
snapshotRestore 461.6KB 453.7KB -7.9KB
spaces 279.1KB 276.8KB -2.4KB
stackAlerts 663.1KB 662.3KB -763.0B
telemetryManagementSection 2.5KB 2.5KB +41.0B
tileMap 277.9KB 277.9KB -10.0B
timelines 266.0KB 265.3KB -701.0B
timelion 197.4KB 197.4KB -7.0B
transform 927.3KB 924.5KB -2.8KB
triggersActionsUi 1.6MB 1.6MB -4.6KB
uiActionsEnhanced 11.3KB 11.3KB -24.0B
upgradeAssistant 161.7KB 159.8KB -1.9KB
uptime 955.3KB 949.2KB -6.0KB
visDefaultEditor 225.7KB 224.5KB -1.2KB
visTypeMarkdown 10.9KB 10.8KB -115.0B
visTypeMetric 17.1KB 17.0KB -49.0B
visTypePie 75.0KB 74.9KB -99.0B
visTypeTable 102.4KB 102.2KB -133.0B
visTypeTagcloud 17.8KB 17.7KB -99.0B
visTypeTimelion 69.2KB 69.1KB -117.0B
visTypeTimeseries 1007.7KB 1001.6KB -6.1KB
visTypeVega 2.4MB 2.4MB -269.0B
visTypeVislib 564.7KB 564.4KB -323.0B
visTypeXy 113.5KB 113.0KB -582.0B
visualizations 101.2KB 101.1KB -164.0B
visualize 91.9KB 91.7KB -169.0B
watcher 841.6KB 839.5KB -2.1KB
total -188.6KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
advancedSettings 8.9KB 9.0KB +120.0B
apm 40.1KB 40.2KB +113.0B
banners 11.7KB 11.7KB -1.0B
canvas 23.5KB 23.6KB +72.0B
cases 130.0KB 130.0KB +31.0B
charts 88.5KB 88.5KB +33.0B
console 22.3KB 22.4KB +72.0B
core 421.5KB 420.5KB -1.0KB
crossClusterReplication 25.1KB 25.2KB +72.0B
dashboard 329.3KB 329.2KB -119.0B
dashboardEnhanced 24.7KB 24.7KB +77.0B
data 840.1KB 840.0KB -126.0B
dataEnhanced 18.0KB 18.1KB +105.0B
dataVisualizer 15.8KB 15.9KB +121.0B
devTools 16.4KB 16.5KB +72.0B
discover 93.0KB 92.8KB -241.0B
embeddable 182.3KB 182.2KB -142.0B
enterpriseSearch 14.7KB 14.8KB +72.0B
esUiShared 192.6KB 192.1KB -436.0B
expressionRevealImage 9.0KB 9.0KB +39.0B
expressions 213.1KB 213.1KB +32.0B
fileUpload 23.2KB 23.4KB +148.0B
fleet 448.2KB 448.3KB +90.0B
globalSearchBar 34.6KB 34.5KB -92.0B
graph 11.1KB 11.2KB +72.0B
grokdebugger 7.4KB 7.5KB +72.0B
home 16.1KB 16.2KB +72.0B
indexLifecycleManagement 50.1KB 49.9KB -175.0B
indexManagement 36.8KB 36.9KB +72.0B
indexPatternFieldEditor 83.1KB 82.6KB -543.0B
indexPatternManagement 19.1KB 19.1KB -4.0B
infra 142.3KB 142.5KB +167.0B
ingestPipelines 22.4KB 22.5KB +72.0B
inputControlVis 9.7KB 9.8KB +34.0B
inspector 40.2KB 40.2KB -28.0B
kbnUiSharedDeps-elastic 2.6MB 2.6MB +2.0B
kbnUiSharedDeps-js 6.4MB 6.4MB +16.0KB
kibanaOverview 30.7KB 30.8KB +72.0B
kibanaReact 147.0KB 146.8KB -186.0B
kibanaUtils 172.5KB 172.6KB +121.0B
lens 28.7KB 28.8KB +81.0B
licenseManagement 17.9KB 17.9KB +72.0B
licensing 13.7KB 13.7KB -11.0B
lists 6.6KB 6.6KB +30.0B
logstash 21.0KB 21.0KB +72.0B
management 16.2KB 16.3KB +72.0B
maps 65.0KB 65.0KB -37.0B
mapsLegacy 62.9KB 62.8KB -147.0B
ml 64.5KB 64.6KB +72.0B
monitoring 45.5KB 45.5KB -23.0B
navigation 18.0KB 18.1KB +73.0B
newsfeed 18.4KB 18.4KB -15.0B
observability 54.9KB 55.0KB +167.0B
osquery 14.0KB 14.1KB +38.0B
painlessLab 19.8KB 19.8KB +7.0B
presentationUtil 74.7KB 74.8KB +118.0B
regionMap 18.2KB 18.2KB +27.0B
remoteClusters 14.2KB 14.3KB +72.0B
reporting 56.6KB 56.5KB -91.0B
rollup 33.8KB 33.9KB +72.0B
runtimeFields 20.7KB 20.7KB -69.0B
savedObjects 52.3KB 52.1KB -147.0B
savedObjectsManagement 34.2KB 34.3KB +72.0B
savedObjectsTagging 33.5KB 33.4KB -54.0B
searchprofiler 40.4KB 40.4KB +72.0B
security 85.5KB 84.8KB -689.0B
securityOss 10.0KB 9.9KB -42.0B
securitySolution 202.2KB 202.3KB +72.0B
share 83.1KB 83.2KB +56.0B
snapshotRestore 41.2KB 41.3KB +72.0B
spaces 42.9KB 42.4KB -524.0B
stackAlerts 17.7KB 17.7KB +72.0B
telemetry 36.8KB 37.0KB +155.0B
telemetryManagementSection 23.0KB 23.3KB +254.0B
tileMap 16.5KB 16.5KB +27.0B
timelines 210.2KB 210.2KB +9.0B
timelion 9.5KB 9.6KB +72.0B
transform 19.0KB 19.0KB +72.0B
triggersActionsUi 89.4KB 89.3KB -92.0B
uiActions 38.3KB 38.4KB +35.0B
uiActionsEnhanced 231.7KB 231.5KB -248.0B
upgradeAssistant 29.3KB 29.3KB +72.0B
uptime 22.6KB 22.7KB +117.0B
urlDrilldown 21.0KB 21.2KB +129.0B
usageCollection 8.3KB 8.3KB +34.0B
userSetup 3.4KB 3.4KB -4.0B
visDefaultEditor 33.9KB 33.9KB -48.0B
visTypeMarkdown 12.3KB 12.3KB -33.0B
visTypeMetric 21.5KB 21.6KB +25.0B
visTypePie 20.2KB 20.2KB +27.0B
visTypeTable 8.2KB 8.2KB +72.0B
visTypeTagcloud 14.4KB 14.5KB +27.0B
visTypeTimelion 24.3KB 24.4KB +27.0B
visTypeTimeseries 24.5KB 24.5KB +11.0B
visTypeVega 54.6KB 54.6KB +3.0B
visTypeVislib 32.5KB 32.5KB +27.0B
visTypeXy 63.5KB 63.4KB -97.0B
visualizations 55.5KB 55.4KB -33.0B
visualize 27.5KB 27.6KB +72.0B
watcher 22.7KB 22.7KB +72.0B
total +15.3KB

History

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

@thompsongl thompsongl merged commit fa03028 into elastic:master Jul 9, 2021
@spalger
Copy link
Contributor

spalger commented Jul 9, 2021

🎉 🎉 🎉

@chandlerprall
Copy link
Contributor

An enormous, heart-felt Thank You! to everyone involved

thompsongl added a commit to thompsongl/kibana that referenced this pull request Jul 12, 2021
* emotion deps

* kbn-babel

* kbn-test

* examples

* babel-plugin-styled-components config

* css prop type fixes

* type context

* declaration location

* some emotion types resolved

* clean up

* emotion v10 accomodations

* types

* kbn-crypto

* kbn-telemetry-tools

* bazel

* eslint rule; shared file regex array

* update paths

* Update packages/kbn-eslint-plugin-eslint/rules/module_migration.js

Co-authored-by: Spencer <email@spalger.com>

* remove placeholder styles

* doc api changes

* snapshot updates

* storybook comments

* use constant

* bump new deps

* condense versions

Co-authored-by: Spencer <email@spalger.com>
thompsongl added a commit that referenced this pull request Jul 12, 2021
* emotion deps

* kbn-babel

* kbn-test

* examples

* babel-plugin-styled-components config

* css prop type fixes

* type context

* declaration location

* some emotion types resolved

* clean up

* emotion v10 accomodations

* types

* kbn-crypto

* kbn-telemetry-tools

* bazel

* eslint rule; shared file regex array

* update paths

* Update packages/kbn-eslint-plugin-eslint/rules/module_migration.js

Co-authored-by: Spencer <email@spalger.com>

* remove placeholder styles

* doc api changes

* snapshot updates

* storybook comments

* use constant

* bump new deps

* condense versions

Co-authored-by: Spencer <email@spalger.com>

Co-authored-by: Spencer <email@spalger.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Embedding Embedding content via iFrame release_note:skip Skip the PR/issue when compiling release notes v7.15.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for CSS-in-JS styling with emotion