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

Proper hydration in the app shell #173

Closed
arctic-hen7 opened this issue Aug 17, 2022 · 1 comment · Fixed by #177
Closed

Proper hydration in the app shell #173

arctic-hen7 opened this issue Aug 17, 2022 · 1 comment · Fixed by #177
Labels
author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-enhancement Category: enhancement tribble-reported This issue was reported through Tribble.

Comments

@arctic-hen7
Copy link
Member

This issue is requesting an enhancement to Perseus. Details of the scope will be available in issue labels.
The user described the problem related to this request as follows:

Right now, Perseus' hydration system is still left over from the days when Sycamore didn't have proper hydration, and it is extremely hacky. While this might not be visible to the user, I think it is adversely impacting the time-to-interactive of Perseus sites, and it also involves the usage of multiple wrapper <div>s, which make full-page layouts that need everything wrapping the page content to be height: 100% unreasonably weird to build (i.e. you need to use height: 100vh, though this is documented for v0.3.x).

The user described the issue as follows:

Perseus should remove these wrapper divs entirely and, rather than shifting the content from the server around and creating invisible layout shift that overuses browser rendering processes and slow s us down on mobile, the app shell should actually hydrate the user's content using Sycamore's usual systems. This should of course be able to be controlled with the hydrate feature flag as before.

  • The author is willing to attempt an implementation: true
Tribble internal data

dHJpYmJsZS1yZXBvcnRlZCxDLWVuaGFuY2VtZW50LGF1dGhvci13aWxsaW5nLXRvLWltcGw=

@github-actions github-actions bot added author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-enhancement Category: enhancement tribble-reported This issue was reported through Tribble. labels Aug 17, 2022
@arctic-hen7
Copy link
Member Author

arctic-hen7 commented Aug 17, 2022

Just working with a vaguely functional version of this in development, and I do believe Perseus just broke 99 Lighthouse scores on mobile for the first time! 🎉 (And that's possibly pessimistic...)

Edit: that was with a development bundle...

This was referenced Aug 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author-willing-to-impl The author of this issue is willing to try to implement the solution themselves. C-enhancement Category: enhancement tribble-reported This issue was reported through Tribble.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant