Preserve state on hot reload#3896
Open
T4rk1n wants to merge 1 commit into
Open
Conversation
…oads When enabled, the renderer records UI-driven prop edits, set_props updates (clientside, serverside and websocket) and memory-type dcc.Store writes as [newVal, originalVal] pairs. Just before a hot reload - soft RELOAD dispatch or full page reload - they are snapshotted (in memory + sessionStorage), then re-applied to the incoming layout unless a prop's initial value changed in the reloaded code, in which case the new code wins. Unmatched edits stay pending so components inserted by callbacks (e.g. pages content) are restored too. The snapshot is only written when a hot reload fires and consumed on use, so a manual browser refresh still resets the app. Off by default; enable with dev_tools_hot_reload_preserve_state=True or DASH_HOT_RELOAD_PRESERVE_STATE=true. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Add dev_tools_hot_reload_preserve_state: keep UI state across hot reloads
When enabled, the renderer records UI-driven prop edits, set_props
updates (clientside, serverside and websocket) and memory-type dcc.Store
writes as [newVal, originalVal] pairs. Just before a hot reload - soft
RELOAD dispatch or full page reload - they are snapshotted (in memory +
sessionStorage), then re-applied to the incoming layout unless a prop's
initial value changed in the reloaded code, in which case the new code
wins. Unmatched edits stay pending so components inserted by callbacks
(e.g. pages content) are restored too. The snapshot is only written when
a hot reload fires and consumed on use, so a manual browser refresh
still resets the app.
Off by default; enable with
dev_tools_hot_reload_preserve_state=TrueorDASH_HOT_RELOAD_PRESERVE_STATE=true.