- Issue created by @ambient.impact
I'm debating whether this warrants a separate issue from 📌 Turbo: implement partial page updates Active as that overlaps heavily with page morphing, but perhaps it makes sense to have a dedicated issue just for this. Page morphing can be used both when navigating between pages and to refresh the current page when a signal arrives from the back-end.
This can make sense going between pages that are closely linked in terms of functionality, structure, purpose, etc. An example of this would be the different revisions of a page we have on Omnipedia, e.g.:
And their related revision diffs:
Morphing between these without a full page transition would make a lot of sense from a UX point of view, and it should also allow preserving the scroll position - note that that's for refreshes but hopefully also works with navigation?
We currently have Turbo cache disabled because several things are broken just in core alone (see 📌 Turbo: Re-enable Turbo cache once we can reliably detach before is cached Active ), and doesn't really make sense to try to make Turbo caching work fully because we can instead focus that time and energy into working on the PWA module → to better support a cache-first network strategy; Turbo cache would only cache pages that have already been visited, but using a service worker would allow preemptively caching any number of pages in addition to pages already visited. In both cases, we can do what Turbo cache previews do, but using the cached content from the service worker:
Currently only full page transitions without morphing.
See above.
The first step would be to just try morphing when navigating between pages to see what breaks and what doesn't.
One problem I foresee would be behaviours that don't scope their attach/detach to the context they're provided.
We morphin' now.
Probably some minor changes and likely some new events will be added.
None. We don't store any data.
Active
2.0
Code