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

Turbo 8 morphing refreshes not supported? #175

Closed
pfeiffer opened this issue Feb 12, 2024 · 3 comments · Fixed by #178
Closed

Turbo 8 morphing refreshes not supported? #175

pfeiffer opened this issue Feb 12, 2024 · 3 comments · Fixed by #178

Comments

@pfeiffer
Copy link
Contributor

After refreshing with morphing has landed in Turbo 8, what is the preferred way to deal with that in native apps? What we're seeing is that broadcasted refreshes are actually triggering replace visits with no granularity regarding if it was caused by a refresh action or a replace navigation proposal. This causes a new cold boot visit on every received refresh stream.

This causes the WebViews which receive a refresh broadcasts - which on the web would be refreshed with morph - to flickr and loose scroll and input states, as they are 'hard refreshed' in the context of Turbo Native. It makes an app close to unusable when subscribed to refreshes.

While we can conditionally not subscribe to broadcasted refreshes if shown in a native app, I feel like there'd be a great opportunity to improve handling of stale data in Turbo Native, by supporting refreshes with morph.

Is there any workarounds to getting morphing refreshes to work in Turbo Native? If not, would there be interest in adding support for it? I'm happy to explore a PR for supporting this.

@pfeiffer
Copy link
Contributor Author

pfeiffer commented Feb 12, 2024

Could be caused by the implementation we're using (React Native Turbo) - closing for now and will re-open if it's still an issue after investigating.

@pfeiffer
Copy link
Contributor Author

pfeiffer commented Feb 15, 2024

Re-opening this. In the Turbo iOS demo app, a broadcasted page refresh will blank the WebView and show activity indicators, during the morphing, even when it's not triggered by a user interaction:

MorphingShowingSpinners.mp4

@joemasilotti
Copy link
Member

This should be resolved via #160 and #177.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants