These functions were created before getDefaultReactiveDomain()
existed, so the only way to get ahold of the current session was
if the caller explicitly passed it.
This is slightly backwards incompatible, in that existing calls
to invalidateLater() that don't pass a session argument will
behave slightly differently (bound to the current session instead
of to no session), but those calls would have triggered a warning
for all but the very earliest versions of Shiny.
Commit 07f2792cf9 introduced an error, replacing `e$parent = parentSession` with `e$parent <= parentSession`, while it should have been `e$parent <- parentSession`
Instead of showing the code, try to just show the name
of the reactive/output. Uses a fairly flaky algorithm
for determining the name of the reactive; will only
work in cases where the definition of the reactive
begins with "foo <- reactive({".
- Need to carefully review ShinySession, think about
each and every public method and whether it should
be passthrough or do something different for a
namespaced session.
- It would be nice if we do the namespace splitting
at the server.R level and actually have numerous
reactivevalues objects for inputs, one for each
namespace. This will make the reactive hooks for
names() and reactiveValuesToList() correct, as
right now they will oversubscribe if you're in a
namespaced session. Also it would prevent outer
sessions from seeing the values of their child
namespaces. (Though is that good or bad...?)
for R <= 3.2.2, Unicode chars don't work for shiny mainly because we want to
preserve the source reference, and unfortunately srcfilecopy() fails because of
the bug https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16264
here I use lines = '' to get around the bug, and assign the source lines to
the srcfile object later, so there is no grep("\n", multibyte_chars) occuring
I also replaced source() with a custom version, which is much simpler and works
better with Unicode chars
e.g. iconv('\u2264', 'UTF-8') converts the smaller than or equal sign to an
equal sign in the English (US) locale, which is lossy
we just assume the input is UTF-8 instead, and do not fall back to native
encoding any more
* Reactlog shortcut was broken due to reactlog.js not being included in
the gruntfile
* Reactlog has always shown every reactive event since the beginning of
the process (or at least since options(shiny.reactlog=TRUE)). This
commit makes it so Ctrl+F3 invocation only shows reactives that either
belong to no session (e.g. observers and reactives declared at the top
of server.R), or belong to this session.
This has been broken since we switched to jsonlite. Reactives
don't highlight because their srcref is in an S3(?) class that
jsonlite doesn't recognize, whereas RJSONIO would treat it as
a numeric vector.
Previously I was using a hack to set the selected value of selectize, i.e. add the selected option(s) to selectize via addOptions() (because the selected option(s) may not have existed); this hack can be removed and we can set the value in the `success` callback of the Ajax request, by which time the options will be available