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

[Canvas] By Value Embeddables #116540

Closed
wants to merge 9 commits into from
Closed

[Canvas] By Value Embeddables #116540

wants to merge 9 commits into from

Conversation

cqliu1
Copy link
Contributor

@cqliu1 cqliu1 commented Oct 28, 2021

Summary

Take two of #113827.

Checklist

Delete any items that are not applicable to this PR.

Risk Matrix

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

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

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

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

For maintainers

@cqliu1 cqliu1 force-pushed the canvas/by-value-embeddables branch from dc6a861 to dfa59bf Compare October 28, 2021 02:04
* Created generic embeddable function

    Fixed telemetry

    Updates expression on input change

    Fixed ts errors

Store embeddable input to expression

Added lib functions

Added comments

Fixed type errors

Fixed ts errors

Clean up

Removed extraneous import

Added context type to embeddable function def

Fix import

Update encode/decode fns

Moved embeddable data url lib file

Added embeddable test

Updated comment

* Fix reference extract/inject in embeddable fn

* Simplify embeddable toExpression

* Moved labsService to flyout.tsx

* Added comment
)

* Extract/inject references for by-value embeddables in embeddable function

Fixed server interpreter setup

Register external functions in canvas_plugin_src plugin def

* Fixed ref name in embeddable.inject

* Fixed ts errors

* Fix missing type error
@cqliu1 cqliu1 force-pushed the canvas/by-value-embeddables branch from f3360a9 to fd75e15 Compare October 28, 2021 16:49
@cqliu1 cqliu1 changed the base branch from master to main October 28, 2021 16:49
@cqliu1 cqliu1 added enhancement New value added to drive a business result Feature:Canvas reason:enhancement Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v8.0.0 v8.1.0 impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort labels Oct 28, 2021
@cqliu1 cqliu1 force-pushed the canvas/by-value-embeddables branch from fd75e15 to a5e1e3b Compare October 29, 2021 00:42
@cqliu1 cqliu1 closed this Oct 29, 2021
@cqliu1 cqliu1 reopened this Oct 29, 2021
@brianseeders brianseeders changed the base branch from main to master October 29, 2021 15:18
@cqliu1
Copy link
Contributor Author

cqliu1 commented Oct 29, 2021

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

merge conflict between base and head

@cqliu1
Copy link
Contributor Author

cqliu1 commented Nov 2, 2021

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

merge conflict between base and head

@cqliu1 cqliu1 removed the v8.0.0 label Nov 2, 2021
@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
canvas 1036 1048 +12

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
presentationUtil 234 243 +9

Async chunks

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

id before after diff
canvas 971.7KB 1004.7KB +33.0KB
dashboard 275.7KB 275.7KB +2.0B
total +33.0KB

Page load bundle

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

id before after diff
canvas 17.2KB 17.4KB +248.0B
presentationUtil 62.3KB 63.5KB +1.2KB
total +1.4KB
Unknown metric groups

API count

id before after diff
presentationUtil 262 271 +9

References to deprecated APIs

id before after diff
canvas 67 70 +3

History

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

@cqliu1 cqliu1 closed this Nov 5, 2021
@spalger spalger deleted the canvas/by-value-embeddables branch May 8, 2022 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Canvas impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:x-large Extra Large Level of Effort Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas v8.1.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants