Squashed commit of the following:
commit bdc4080032ff6b5b2de0f799aa307272f3905003
Author: Dean Attali <daattali@gmail.com>
Date: Mon Oct 17 18:18:03 2016 -0700
add PR link to news item
commit 22c695cde2b270ba8ec37d4862ad1f30de76ce68
Author: Dean Attali <daattali@gmail.com>
Date: Mon Oct 17 15:01:24 2016 -0700
update NEWS for #1422 fix
commit e669548c13f84f0929e4131c641a8333e08baa26
Author: Dean Attali <daattali@gmail.com>
Date: Sat Oct 15 12:45:49 2016 -0700
allow shiny.trace option to specify which type of messages to relay; fixes#1422
* Check whether hosting environment supports bookmarking
* Show notification on startup if hosting environment doesn't support saved-to-server bookmarking
* Rename invalidateReactiveValue to freezeReactiveValue
* Make onFlush and onFlushed use 'once' argument
* session$flushOutput: schedule another flush if needed
* Catch all errors before they propagate to websocket
* Restore original logic for progressKeys
It is dangerous to set this on a per-process basis. If we even
still want the ability to have observer errors not kill the
session (debatable) we should do so by having an option on the
session object that is set when the shiny server function runs.
Not only does this remove support for the option, but now we
will refuse to connect and will abort the session if the option
is set to a non-NULL value. This is to prevent apps from moving
forward with the assumption that their option will work, when
it really won't. (I doubt anyone is using it anyway, it's so
obscure...)
- More selective removal of frames at end of call stack
- Add withLogErrors, printError, stripStackTrace convenience funcs
- Properly capture/log errors for various levels of unhandled errors
- Unhide stacks for flush/flushed/sessionended callbacks
- 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...?)
* 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 fixes an annoying bug where, if the app crashes while loading (for
example, if you call library() with a missing package), R ends up in the app's
working directory instead of in the original working directory.