Package: shinysnap 0.1.0

Nan Xiao

shinysnap: Save and Restore the State of 'shiny' Applications

Save the state of applications built with 'shiny', the web application framework by Chang et al. (2026) <doi:10.32614/CRAN.package.shiny>. Users can share their work and continue it in another session. Input values and selected values held by the server are saved in JSON (JavaScript Object Notation) files that can be read and edited by hand. Saved state can be restored without reloading the page or setting up bookmarking. Restoration waits for inputs that appear as the page changes and reports which values were restored, missing, or could not be applied.

Authors:Nan Xiao [aut, cre, cph]

shinysnap_0.1.0.tar.gz
shinysnap_0.1.0.zip(r-4.7-any)shinysnap_0.1.0.zip(r-4.6-any)
shinysnap_0.1.0.tar.gz(r-4.7-any)shinysnap_0.1.0.tar.gz(r-4.6-any)
shinysnap_0.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
shinysnap/json (API)

# Install 'shinysnap' in R:
install.packages('shinysnap', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/nanxstats/shinysnap/issues

Pkgdown/docs site:https://nanx.me

On CRAN:

Conda:

3.40 score 28 exports 31 dependencies

Last updated from:92d09e9f36. Checks:6 OK. Indexed: no.

TargetResultTimeFilesSyslog
linux-develOK187
source / vignettesOK301
linux-releaseOK148
windows-develOK134
windows-releaseOK94
wasm-releaseOK167

Exports:snap_as_bookmark_urlsnap_as_test_inputssnap_attachmentsnap_dependencysnap_diffsnap_download_buttonsnap_download_handlersnap_enablesnap_excludesnap_file_inputsnap_file_restoresnap_includesnap_inputssnap_is_restoringsnap_metasnap_on_restoresnap_on_restoredsnap_on_savesnap_readsnap_restoresnap_restorersnap_restorerssnap_serializesnap_takesnap_tracksnap_unserializesnap_valuessnap_write

Dependencies:base64encbslibcachemclicommonmarkdigestfastmapfontawesomefsgluehtmltoolshttpuvjquerylibjsonlitelaterlifecyclemagrittrmemoisemimeotelpromisesR6rappdirsRcpprlangsassshinysourcetoolswithrxtablezmij

Get started with shinysnap
A minimal app | The file | What gets saved | The before and after | Learn more

Last update: 2026-09-28
Started: 2026-09-28

Restoring custom inputs
Which bindings are covered | The restorer contract | Finding the payload: the recipe | Adapters: the JavaScript side | Candidates

Last update: 2026-09-28
Started: 2026-09-28

Restoring dynamic UI
Why hand-rolled restores need delays | What shinysnap does instead | The report | Working with the promise | Reacting during a restore | Notes on timing

Last update: 2026-09-28
Started: 2026-09-28

Snapshots and bookmarks
What each one does | Coexistence | Turning a snapshot into a bookmark | Migrating an app

Last update: 2026-09-28
Started: 2026-09-28

The snapshot file format
The snapshot object | The JSON file | Encoding rules | Examples | Reading | The bundle (.zip) | The .rds format

Last update: 2026-09-28
Started: 2026-09-28

Readme and manuals

Help Manual

Help pageTopics
Print, format, and coerce snapshots and restore resultsas.list.shinysnap format.shinysnap print.shinysnap print.shinysnap_diff print.shinysnap_report print.shinysnap_restore
Interoperate with bookmarks, tests, and bundlessnap_as_bookmark_url snap_as_test_inputs snap_attachment
The client-side script as an HTML dependencysnap_dependency
Compare two snapshotssnap_diff
Save-state button and its download handlersnap_download_button snap_download_handler
Configure shinysnap for a sessionsnap_enable
Exclude or include inputs by patternsnap_exclude snap_include
Restore-state upload and its handlersnap_file_input snap_file_restore
Access the parts of a snapshotsnap_inputs snap_meta snap_values
Is a restore in flight?snap_is_restoring
Register hooks that run around a restoresnap_on_restore snap_on_restored
Register a hook that runs when a snapshot is takensnap_on_save
Restore a snapshot into the running appsnap_restore
Register how an input is restoredsnap_restorer snap_restorers
Convert a snapshot to and from JSON textsnap_serialize snap_unserialize
Take a snapshot of the running appsnap_take
Track server-side valuessnap_track
Write a snapshot to a file and read it backsnap_read snap_write