🚀 [Story performance] Install non-critical extensions in the document after the first page is loaded#37670
Merged
mszylkowski merged 20 commits intoampproject:mainfrom Feb 16, 2022
Merged
Conversation
|
Hey @gmajoulet, @newmuis! These files were changed: |
gmajoulet
reviewed
Feb 14, 2022
Contributor
gmajoulet
left a comment
There was a problem hiding this comment.
Can we have basic unit tests, at least one to verify that extensions are loaded with the correct heuristics, i.e. after the initial content is loaded?
5 tasks
Contributor
Author
|
@gmajoulet added unit tests to verify that the right elements install the scripts at the right time |
gmajoulet
reviewed
Feb 16, 2022
|
|
||
| const signals = new Signals(); | ||
| pages[0].signals = () => signals; | ||
| story.buildCallback(); |
| ); | ||
|
|
||
| // Signal that the first page finished loading. | ||
| signals.signal(CommonSignals_Enum.LOAD_END); |
Contributor
There was a problem hiding this comment.
I don't think you need to call this manually, I see other tests doing things like
await story.layoutCallback();
await story.activePage_.element
.signals()
.whenSignal(CommonSignals_Enum.LOAD_END);
So maybe you could
createStoryWithPages();
append(amp-story-auto-ads);
stub(installExtensionForDoc);
await story.layoutCallback();
await story.activePage_.element
.signals()
.whenSignal(CommonSignals_Enum.LOAD_END);
expect(ampstoryautoads to be loaded);
Co-authored-by: Gabriel Majoulet <gmajoulet@google.com>
gmajoulet
approved these changes
Feb 16, 2022
Contributor
gmajoulet
left a comment
There was a problem hiding this comment.
Plz open a ticket for a followup PR with more extensions that we can lazyload : ))
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We want to test whether late installing non-critical (for LCP purposes) extensions can improve the loading times of stories.
The extensions that can be installed later and don't affect the rendering of the story are:
Part of #37680