background_construction_delay, default
50 ms; 0 opts out).dormant,
waiting, unset, failed,
ready) that gates evaluation, rendering and downstream
data, so a block never evaluates against missing inputs or shows a stale
result.generate_code()) now waits until every
block is settled, showing a “board not ready” note instead of a partial
script.server$conditions and
board$conditions(); the block server no longer returns its
raw cond object.notify() helper gains glue and
log arguments for literal (brace-safe) text and skipping
redundant logging.allow_empty_state argument of
new_block() now accepts a structured
list(input = ..., data = ...) form to relax required inputs
and the variadic minimum per input kind.loader argument to serve() (default
local_loader()); this drops the process-global staging
slot, so get_serve_obj() and restore_board()’s
meta argument are gone.page_size, n_rows,
filter_rows) are now saved and restored, not reset to
defaults on reload.blockr.locked option, which refuses every mutation while
set.@block, @blockArg, …), collected by the new
block_registration_roclet(); extension packages register
via the exported register_package_blocks().new_block_args(), new_block_arg()) with
JSON-Schema-subset type descriptors
(arg_string(), arg_enum(), …), read via
block_metadata(); registry_metadata() is
deprecated.board_blocks(),
board_links(), board_stacks()) are now pure
reads, removing quadratic re-validation that dominated large-board
startup.external_ctrl_vars() and predicate
has_external_ctrl() expose a component’s externally
controllable variables.trim_rv() fully removes entries from a
reactiveValues object (assigning NULL leaves
the key behind); unlinking a variadic argument now drops it
outright.str_value() compact printer, with matching
utils::str() methods, now covers all remaining domain
classes and containers.blockr_deser.list() method now forwards
... to per-class deserializers, letting callers thread
context to nested deserializers.mod slots in update(...) payloads for
blocks, links and stacks now uniformly expect a
delta shape: a named list keyed by entry ID, where each
entry is a named list of argument values to apply on top of the live
entry.
blocks, keys must be in
block_external_ctrl_vars(blk) — non-ctrl-able changes go
through rm + add. Ctrl-arg writes hit the
corresponding reactiveVal in place; block_name
(always treated as ctrl-able) updates the block’s registry
attribute.links and stacks, deltas are merged
onto the current entry via the new update_link() /
update_stack() S3 generics. The default methods reconstruct
the entry through its stored constructor, preserving sub-class
attributes. Sub-class owners (e.g. dock_stack adding
color) only need to register a method when their
constructor deviates from the convention (#175).block_external_ctrl_vars() always includes
"block_name" — every block can be renamed through
update(...) regardless of its external_ctrl
opt-in. The default ctrl plugin panel renders a block_name
field on every block card alongside any opted-in ctrl vars.
block_supports_external_ctrl() (which would now be
TRUE for every block) has been removed; the gates that used
to call it have been simplified accordingly.block_server.block now constructs a
block_name reactiveVal per block and appends
it to the vars list passed to the ctrl plugin. Two guarded
observers keep that reactiveVal in sync with the block’s
block_name attribute on the board (one emits an
update(mod = ...) when the ctrl plugin writes the rv; the
other pulls registry-attr changes back into the rv). The
ctrl_block_server plugin signature is unchanged — block
authors and custom ctrl plugins see uniform vars
reactiveVals.attach_default_packages can be set to
opt into evaluating block expressions with objects from default packages
directly available.ctrl_block() plugin for external block control,
allowing blocks to be driven programmatically from outside the standard
block UI.clear_board() for removing all blocks/stacks from a
board.bbquote() and helpers (.,
..) for cleaner code generation via
bquote()-based quasiquotation.custom_plugins() and
custom_options() for easier board customization.block_metadata() for retrieving per-block metadata
and attach block metadata with defaults to block objects.blockr_test_exports(),
new_mock_session(), export_safely()) for use
in downstream package tests.expr
server return value component cond.get_board_option_value() to make available
current option settings via session$UserData.toolbar_ui() which takes case of the “core”
toolbar UI component.chr_ply() and related, as well as
miscellaneous utilities such as set_names(),
coal(), etc. are now exported for use in dependent
packages.export_code() to make it easier for third-party
generate_code() plugin implementations.evaluate::evaluate() to capture plots.new_fixed_block() for applying a fixed
(i.e. non-paramtetrized) transformation to data input.session.is_string(),
is_count(), etc.block_render_trigger() to control per block
class when to re-render the block output.reactiveValues() object containing notification types a
separate components.session$reload().
Need a high-speed mirror for your open-source project?
Contact our mirror admin team at info@clientvps.com.
This archive is provided as a free public service to the community.
Proudly supported by infrastructure from VPSPulse , RxServers , BuyNumber , UnitVPS , OffshoreName and secure payment technology by ArionPay.