Skip to content

Releases: pmxlab/SafeShiny

v0.12.3

Choose a tag to compare

@venelin venelin released this 11 Oct 10:19
ef92248

?safeshinytab=track shows the monitoring tab and starts tracking automatically (#34, #35). New exported SafeShinyTrackRequested(); SafeShinyTabServer() gains a param argument.

v0.12.2

Choose a tag to compare

@venelin venelin released this 09 Oct 04:40
30ad3fa

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).

🤖 Generated with Claude Code

v0.12.0

Choose a tag to compare

@venelin venelin released this 09 Oct 03:31
13aca81

SafeShiny tab: numeric input for trimMinTime (#28, PR #29).

🤖 Generated with Claude Code

v0.11.2

Choose a tag to compare

@venelin venelin released this 08 Oct 21:53
e8a13c7

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.

v0.11.1

Choose a tag to compare

@venelin venelin released this 08 Oct 21:02
7746c27

trimMinTime now defaults to 0 (every call counts when trimming); use e.g. 0.01 to ignore tiny tab-switch observers. See #24.

v0.11.0

Choose a tag to compare

@venelin venelin released this 08 Oct 21:00
325d45d

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.

v0.10.1

Choose a tag to compare

@venelin venelin released this 08 Oct 13:51
4069f3f

Console sub-tab: fixes a session crash on non-UTF-8 output (shown as escapes), reads only the log tail, fails soft. See #20.

v0.10.0

Choose a tag to compare

@venelin venelin released this 08 Oct 13:39
55913fb

Monitoring tab: new height argument for SafeShinyTabUI()/SafeShinyTabPanel() (percentages = share of viewport height). See #18.

v0.9.0

Choose a tag to compare

@venelin venelin released this 08 Oct 13:11
ba61de1

Monitoring tab: scrollable sub-tabs, stale tables fixed (incl. error log Refresh), trim option for SummarizeSafeShinyTiming()/PlotSafeShinyFlameHTML(), opt-in Console sub-tab (view, clear, download). See #16.

SafeShiny v0.8.0

Choose a tag to compare

@venelin venelin released this 08 Oct 10:42
cb5c567

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.
  • Monitoring module: SafeShinyTabUI() / SafeShinyTabServer() / SafeShinyTabPanel() - Start/Stop button, interactive flame chart, timing summary/table, error log, downloads; SafeShinyTabRequested() gates it via ?safeshinytab=1.

Performance

  • Recording a timing is O(1) (was quadratic in the number of recorded calls).