Add [method]
and [scroll]
attributes for Refresh Stream
#1208
+41
−12
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.
This commit expands the set of attributes for
<turbo-stream action="refresh">
to include[method]
and[scroll]
(in addition to[request-id]
). These attributes correspond directly to theturbo-refresh
-prefixed<meta>
element elements that control morphing and scroll preservation.When present on the
<turbo-stream action="refresh">
, their values are forward along to theSession.refresh
method call, which in turn encodes them into Visit options under therefresh
key. Those options are then used duringVisit
instantiation, and transformed into.refresh
properties.At render time, the
PageRenderer
attempts to read the refresh method and scroll preservation settings with the following precedence:Visit.refresh
property (possibly null)<meta name="turbo-...">
element (possibly null)If no value is provided, fallback to the default (
{ method: "replace", scroll: "reset" }
).