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:
RevisionActionfile
1.9modifypkgsrc/www/R-shiny/Makefile
1.8modifypkgsrc/www/R-shiny/distinfo