Build 21163Fix 0000219 On Weekday conditions, the quick-set links for Weekday and Weekend don't stick unless you do other edits. (No PR fix) The UI's host time display now shows the "engine" time, which is the host time unless test_time is in effect, in which case the current test time is shown.
Debug log level 5 messages for Engine have been enhanced to more clearly show actions in reactions as they execute, and in particular, can now be more easily used to tell what rule or reaction is causing another reaction to run (i.e. if a global reaction can be run by several different rules, you'll be able to tell which started it). Support for Telegram notification is now native and this no longer requires the Vera plugin (or a Vera, for that matter); please see the dist-config/notification.yaml for configuration information. There is also a new Shell Command action in reactions, but since it carries with it some potential security risks (e.g. arbitrary code execution), its use requires that you add allow_shell_action: true to the engine section of your reactor.yaml configuration file. By default, shell actions will not be run (although you can still put them in your reactions; they just won't run).
Other things to note:As previously advertised, the Synology-specific docker container latest-synology-amd64 is no longer being updated. Please switch to latest-generic-amd64. All docker images have grown a bit in size as a result of best-practice recommendations for stable builds of docker images. As part of these changes, all containers now run nodejs version 14.17 (current LTS) on Alpine 3.13 (except the RPI image, where 3.12 is used due to certificate issues). Additional changes are coming! Currently, the service runs as root within the docker container, and while running in a container has to-date constrained the risk normally associated with privileged services, the addition of the Shell Command action changes the risk potential dramatically. As a result, likely starting with the first build in July, all containers will run the service as a non-privileged user. I'm still pondering all of this, and there are several potential paths to consider.