* feat: Fully reload ui/server when autoreload occurs
* chore: remove stray empty line
* chore: clean up function names and add comments
* docs: Add news item
* feat: Use {watcher} for autoreload file watching (#4185)
* feat: Use {watcher}
* chore: shikokuchuo/watcher@dev
* chore: watcher is on CRAN now
* chore: Undo air format changes
* feat: Use `shiny.autoreload.interval` for watcher latency
* chore: Simply track last time auto-reload changed
* docs: rewrite options docs for clarity
* chore: code style
* docs: global.R changes are not applied
* feat(ui/server): Autoreload also reloads global and R support files
* chore: remove outdated comment
* chore: safer comparisons
* chore: Restore legacy autoreload watcher if {watcher} not installed
* rename: autoload_r_support_if_needed()
* chore: use `rlang::is_false()`
* chore: use_build_ignore("_dev")
* Follow up to #4040: enable busy indicators by default
* Make our spinner invisible when wrapped inside a shinycssloaders::withSpinner() container
* Add the ability to disable/customize recalculating opacity (i.e., fade)
* Fix bug with fade not being applied correctly when the output container has no children
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
* Update NEWS.md
* Follow up to b7e7af: need to also rest opacity for :empty case (for initial calculation)
* Rd docs fixes/improvements
---------
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
* First pass at a proper state machine for managing output progress state
* `yarn build` (GitHub Actions)
* Add useBusyIndicators(), spinnerOptions(), and pulseOptions()
* Bring in new spinner defaults
* Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated
* Revert "Use an actual div instead of a pseudo-element since chromium can't be trusted to show them when animated"
This reverts commit 6167c1dfd7.
* Embed animation inside svg (to avoid Chromium bug). Consolidate options into a singular busyIndicatorOptions()
* Add to pkgdown reference
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
* Bump version
* `yarn build` (GitHub Actions)
* Sync package version (GitHub Actions)
* Apply suggestions from code review
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
* Update snapshots
* `devtools::document()` (GitHub Actions)
* Address feedback
* Bring in more spinner type options
* fix use of fs
* Code review
* `devtools::document()` (GitHub Actions)
* Sync package version (GitHub Actions)
* Update snapshots
* Fix comments
* Make snapshot consistent cross-platform
* Fix namespace issue
* Reduce specificity of position relative
* Skip snapshot on windows; update news
* Whoops
* Scope spinner customizations to parent element by default
* Update snapshots
* Reorder spinner types
* Set a private random seed in tests
* Better id naming
---------
Co-authored-by: cpsievert <cpsievert@users.noreply.github.com>
Co-authored-by: Garrick Aden-Buie <garrick@adenbuie.com>
* Update datatables.js from 1.10.5 to 1.10.22. Deprecate renderDataTable()/DTOutput()
* Update news; go back to old types version
* Clean up
* Update NEWS.md
* Update NEWS.md
* feat(shiny.error.unhandled): Allow users to provide an unhandled error handler
* Extract `shinyUserErrorUnhandled()` to use in MockSession too
* tests(shiny.error.unhandled): Test that unhandled errors are handled safely
* docs: Clarify that session still ends with an unhandled error
* docs: Add news item
* Add more encapsulated sizes using css variables instead of `rem` units so console is consistantly sized across apps that set the body font size.
* `yarn build` (GitHub Actions)
* `yarn build` (GitHub Actions)
* `devtools::document()` (GitHub Actions)
* `yarn build` (GitHub Actions)
---------
Co-authored-by: nstrayer <nstrayer@users.noreply.github.com>
Co-authored-by: jcheng5 <jcheng5@users.noreply.github.com>
Co-authored-by: Winston Chang <winston@posit.co>
Co-authored-by: wch <wch@users.noreply.github.com>
Adds a req(FALSE, cancelOutput="progress") which behaves similarly to
cancelOutput=TRUE, but also keeps the output in .recalculating state
even across flush cycles. This is called "persistent progress" and an
output can leave this state when it is invalidated again and doesn't
call req(FALSE, cancelOutput="progress") during that flush cycle.
This will be useful for implementing long-running tasks that don't
hold up the flush cycle, leaving sessions responsive to do other
tasks.
* closes issue #3631 - documenting that 'xl' modal dialog will be changed to 'm' in Bootstrap 3
* Update R/modal.R
adds note about how to switch to Bootstrap 4+ with bslib
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* add note about how to use Bootstrap 4+ with bslib to get 'xl' modal dialog
* Update NEWS.md
Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
* Close#1409: don't supply width/height to the device if they aren't defined
* Update news
* Update unit tests to reflect that plotPNG()/startPNG() now handles NULL dimensions
* Add a note about NULL dimensions on plotPNG() help page
* Update news