The difference between authenticated and not-authenticated layouts in the Boilerplate project templates is too much:
- it makes the prerender and the hydration afterward not have a proper experience for authenticated users.
If the layout gets pre-rendered in the un-authenticated state (because short lived access token in cookie is likely expired and during pre-rendering there's no access to refresh token stored in local storage), after startup and hydration client will refresh the access token and try rendering the authenticated layout, so the users will experience a noticeable shift in the UI which is undesirable.
to prevent this layout shifting (or at least reduce its effect) we need to update the layout structure to have as little difference as possible between the two states of the app.