Path to this page:
Subject: CVS commit: pkgsrc/www/R-shiny
From: Makoto Fujiwara
Date: 2025-01-01 13:40:24
Message id: 20250101124024.5D039FC1D@cvs.NetBSD.org
Log Message:
(www/R-shiny) Updated 1.8.0.1 to 1.10.0
# shiny 1.10.0
## New features and improvements
* When busy indicators are enabled (i.e., `useBusyIndicators()` is in
the UI), Shiny now:
* Shows the pulse indicator when dynamic UI elements are
recalculating and no other spinners are visible in the
app. (#4137)
* Makes the pulse indicator slightly smaller by default and
improves its appearance to better blend with any
background. (#4122)
* Improve collection of deep stack traces (stack traces that are
tracked across steps in an async promise chain) with `{coro}` async
generators such as `{elmer}` chat streams. Previously, Shiny treated
each iteration of an async generator as a distinct deep stack,
leading to pathologically long stack traces; now, Shiny only
keeps/prints unique deep stack trace, discarding duplicates. (#4156)
* Added an example to the `ExtendedTask` documentation. (@daattali #4087)
## Bug fixes
* Fixed a bug in `conditionalPanel()` that would cause the panel to
repeatedly show/hide itself when the provided condition was not
boolean. (@kamilzyla, #4127)
* Fixed a bug with `sliderInput()` when used as a range slider that
made it impossible to change the slider value when both handles were
at the maximum value. (#4131)
* `dateInput()` and `dateRangeInput()` no longer send immediate
updates to the server when the user is typing a date input. Instead,
it waits until the user presses Enter or clicks out of the field to
send the update, avoiding spurious and incorrect date values. Note
that an update is still sent immediately when the field is
cleared. (#3664)
* Fixed a bug in `onBookmark()` hook that caused elements to not be
excluded from URL bookmarking. (#3762)
* Fixed a bug with stack trace capturing that caused reactives with
very long async promise chains (hundreds/thousands of steps) to
become extremely slow. Chains this long are unlikely to be written
by hand, but `{coro}` async generators and `{elmer}` async streaming
were easily creating problematically long chains. (#4155)
* Duplicate input and output IDs -- e.g. using `"debug"` for two
inputs or two outputs -- or shared IDs -- e.g. using `"debug"` as
the `inputId` for an input and an output -- now result in a console
warning message, but not an error. When `devmode()` is enabled, an
informative message is shown in the Shiny Client Console. We
recommend all Shiny devs enable `devmode()` when developing Shiny
apps locally. (#4101)
* Updating the choices of a `selectizeInput()` via
`updateSelectizeInput()` with `server = TRUE` no longer retains the
selected choice as a deselected option if the current value is not
part of the new choices. (@dvg-p4 #4142)
* Fixed a bug where stack traces from `observeEvent()` were being stripped of \
stack frames too aggressively. (#4163)
# shiny 1.9.1
## Bug fixes
* Fixed a bug introduced in v1.9.0 where the boundaries of
hover/click/brush regions on plots were being incorrectly scaled
when browser zoom was used. (#4111)
# shiny 1.9.0
## New busy indication feature
Add the new `useBusyIndicators()` function to any UI definition to:
1. Add a spinner overlay on calculating/recalculating outputs.
2. Show a page-level pulsing banner when Shiny is busy calculating
something (e.g., a download, side-effect, etc), but no
calculating/recalculating outputs are visible.
In a future version of Shiny, busy indication will be enabled by
default, so we encourage you to try it out now, provide feedback, and
report any issues.
In addition, various properties of the spinners and pulse can be
customized with `busyIndicatorOptions()`. For more details, see
`?busyIndicatorOptions`. (#4040, #4104)
## New features and improvements
* The client-side TypeScript code for Shiny has been refactored so
that the `Shiny` object is now an instance of class
`ShinyClass`. (#4063)
* In TypeScript, the `Shiny` object has a new property
`initializedPromise`, which is a Promise-like object that can be
`await`ed or chained with `.then()`. This Promise-like object
corresponds to the `shiny:sessioninitialized` JavaScript event, but
is easier to use because it can be used both before and after the
events have occurred. (#4063)
* Output bindings now include the `.recalculating` CSS class when they
are first bound, up until the first render. This makes it
possible/easier to show progress indication when the output is
calculating for the first time. (#4039)
* A new `shiny.client_devmode` option controls client-side devmode
features, in particular the client-side error console introduced in
shiny 1.8.1, independently of the R-side features of
`shiny::devmode()`. This usage is primarily intended for automatic
use in Shinylive. (#4073)
* Added function `reactlogAddMark()` to programmatically add _mark_ed
locations in the reactlog log without the requirement of keyboard
bindings during an idle reactive moment. (#4103)
## Bug fixes
* `downloadButton()` and `downloadLink()` are now disabled up until
they are fully initialized. This prevents the user from clicking the
button/link before the download is ready. (#4041)
* Output bindings that are removed, invalidated, then inserted again
(while invalidated) now correctly include the `.recalculating` CSS
class. (#4039)
* Fixed a recent issue with `uiOutput()` and `conditionalPanel()` not
properly lower opacity when recalculation (in a Bootstrap 5
context). (#4027)
* Image outputs that were scaled by CSS had certain regions that were
unresponsive to hover/click/brush handlers. (#3234)
Files: