Let Session
know it needs to reload
#150
Closed
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.
When working with multiple Turbo instances across tabs data can easily become out of sync. Submitting a form on the first tab might change data currently displayed on the second. And signing in on one tab might change everything about the others!
Session.clearSnapshotCache()
only works when navigating back to a cached page. It doesn't help if the active screen is being shown on a tab.This PR introduced a new public function,
Session.setNeedsReload()
. When the session's underlyingVisitable
appears it reloads if this function was called earlier.The name of the function feels a bit off.
clearSnapshotCache()
is perfect, it is action-oriented and easy to understand. Is there a similar name forsetNeedsReload()
?Alternatively, we ignore Turbo.js's snapshot cache cleaning and always reload the page (when it appears). I don't think that would change much, if any, existing behavior.