Skip to contents

Limitations

This article is dedicated to listing known limitations that are not - at this time - expected to be fixed.

  • Prior to kitems v0.7.1, there is challenge to pass multiple workflow events to the module server.

    When the reactive trigger passed to the module server function is updated (from outside the module), there is a little delay (in Shiny) before the observer / listener is fired.

    The consequence of that is, if the reactive object is updated twice in a short period of time, only the second value will fire the observer inside the module server.

    To avoid this, user needs to listen to the first event to be completed before sending the second one.

    Example:

    • user wants to create / update some items

    • update reactive trigger with event to create items

    • listen to the items’ update (observeEvent with once = TRUE)

    • update reactive trigger with event to update items

    Multiple events support solves this issue by letting the module server handle the orchestration.

  • Prior to R-4.3.0, attribute_value() function may raise an error when the first element of a POSIXct vector set as value parameter is NA. This is due to missing origin in the call to as.POSIXct.

    From R-4.3.0, origin is no longer a required parameter:
    how-to-get-origin-from-posixct-object

    This impacts the create & update trigger workflows (see workflows).

    To bypass this issue, make sure the values sent to the trigger for POSIXct attributes fits with the expected class (at least the first element of the vector):

    # -- first element not NA
    class(c(Sys.time(), NA))
    [1] "POSIXct" "POSIXt" 
    # -- first element NA
    class(c(NA, Sys.time()))
    [1] "numeric"

    In the second case, even after NA is replaced by the default value out of the data model, the vector will keep the numeric type. The function will detect it and perform a type conversion to fit with the data model by calling as.POSIXct with the arguments given in the data model. Passing origin to the data model default function should also solve the problem.