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

Support Skipping Context Reload when New Code is Compatible with Old #4122

Merged
merged 24 commits into from
Oct 29, 2020

Conversation

anthony-murphy
Copy link
Contributor

@anthony-murphy anthony-murphy commented Oct 27, 2020

Adds IFluidCodeDetailsComparer interface that supports comparison, and constraint satisfaction. The interface has two methods: compare and satisfies. Compare can be used to determine if code should be proposed, as it provides relative ordering for the code details. Satisfies determine if a code details satisfies the constraints of another code details. This is used to determine if we can continue using the existing runtime without reload when a new code proposal comes in.

The IFluidCodeDetailsComparer is supported on both the code loader, and the fluid export. The code loader is the host provided entry point and the fluid export is the container authors entry point. The interface is optional on both.

Expose the current code details off IRuntime. This will allow the runtime to reject incompatible changes

Last but not least are a bunch of test updates, and a new test scenario to cover the usages of IFluidCodeDetailsComparer. Specifically, proposing a new code proposal that is satisfied by the existing code proposal, so no reload of the context is necessary.

related #3481
related #3529

@msfluid-bot
Copy link
Collaborator

msfluid-bot commented Oct 27, 2020

@fluidframework/base-host: +721 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
main.js 176.48 KB 177.18 KB +721 Bytes
Total Size 176.48 KB 177.18 KB +721 Bytes
@fluid-example/bundle-size-tests: +97 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
container.js 248.19 KB 248.29 KB +97 Bytes
map.js 109 KB 109 KB No change
matrix.js 205.15 KB 205.15 KB No change
odspDriver.js 259.36 KB 259.36 KB No change
sharedString.js 236.46 KB 236.46 KB No change
Total Size 1.03 MB 1.03 MB +97 Bytes

Baseline commit: 3cac20d

Generated by 🚫 dangerJS against 6b36471

@github-actions github-actions bot requested a review from arinwt October 28, 2020 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants