You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
?safeshinytab=track shows the monitoring tab and starts tracking automatically (#34, #35). New exported SafeShinyTrackRequested(); SafeShinyTabServer() gains a param argument.
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Docs: precise kill-switch semantics, production vs test section in the vignette (#30, PR #31). SafeObserveEvent records every event phase while tracking (#32, PR #33).
This commit was created on GitHub.com and signed with GitHub’s verified signature.
SafeObserveEvent now also protects the event expression (an error in e.g. a throwing event reactive no longer closes the session) and tracks its evaluation as ' (event)' (nested reactives; recorded only when non-trivial). See #26.
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Trim: new trimMinTime argument (default 0.01 s) - tiny calls such as tab-shown observers no longer set the edges of the trimmed window; calls outside it are dropped from the trimmed chart/summary. See #22.
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New
Session-level tracking switch: StartSafeShinyTracking() / StopSafeShinyTracking() / IsSafeShinyTracking(). trackTime now defaults to "auto": tracked while options(SafeShiny.trackTime = TRUE) is set or the session's tracking is on, decided each time the call runs (covers wrappers created by other packages; never affects other sessions).
options(SafeShiny.trackTime = FALSE) is a static master kill switch (IsSafeShinyTrackingDisabled()), resolved once when each wrapper is created.
Error log: GetSafeShinyErrors() / ResetSafeShinyErrors() record every non-silent error caught by a Safe* wrapper (last 500 per session). Per-session state is freed when the session ends.