mirror of
https://github.com/rstudio/shiny.git
synced 2026-02-08 05:35:07 -05:00
We already had an `immediate` input option, which was used to override client side rate limiting mechanisms (debounce/throttle). This commit extends the semantics of that option to also mean that duplicate values should not be ignored on the client side. Previous to this commit, circumventing the client side dedupe logic was not enough. The server side ReactiveValues object was also subject to deduping. With this commit, the low-level ReactiveValues class's constructor now has a `dedupe` option, which defaults to TRUE; the ReactiveValues used for a session's input has it turned to FALSE. I figure if I had to work this hard to get the client to stop sending duplicates, and the input values are only expected to ever be updated by the client, then there's really no reason for server side deduping to be performed for this particular ReactiveValues object. It would make sense as a future feature to also make deduping optional for user-created reactiveValues and reactiveVal objects.