feat: Fully reload ui/server when autoreload occurs #4184
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 PR updates the auto reload to fully reload both the UI and server source code when any change is detected in the watched autoreload files.
Previously, auto reload would trigger a refresh of the app but the UI or server functions would be updated only if the
ui.R
orserver.R
files themselves changed (or both if using a single-file app source).This PR updates auto reloading so that any change to the files matching
shiny.autoreload.pattern
causes both the UI and server source to be reloaded.This fixes two long-standing open issues:
Fixes #2711
Fixes #1142
Example app
For testing, the following app sources R files and uses stylesheets outside the main
app.R
. Currently, inmain
, any changes to the supporting files causes the app to be reloaded but the reloaded app does not reflect the changes.After this PR, changes to support files are reflected after the reload.
Example app on shinylive.