All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Updated documentation for the timer actions.
Relay infrastructure has undergone some major refactoring of how workflows are processed. As a result, breaking changes in the SDK are required in order to support these changes.
For more details, please read the migration guide, which explains the rationale for the major change.
- Nearly every function signature has changed.
1.1.0 - 2021-06-04
- Improved
README.md
documentation with explanation of a simple workflow sampl - Support
incident
event - Add optional
push_opts
on notification functions - Add optional
suppressTTS
parameter onsetChannel
- New workflow events
Event.STOP
orstop
emitted when ibot has ended the workflowEvent.ERROR
orerror
emitted when- An error response is received from ibot
- Workflow event processing throws an error
- Action is sent to ibot but websocket connection is closed
- New workflow actions available:
restartDevice()
andpowerDownDevice()
restarts and powers down a Relay device (not an App or Dash, of course)ledAction(effect, args)
more general and robust LED action that other LED actions can build uponsetDeviceMode(mode)
put a device inpanic
oralarm
modeplaceCall(call)
,answerCall(call)
, andhangupCall(call)
enable initiating and managing calling via workflowsstopPlayback(id)
will stop audio playback initiated bysay()
andplay()
setTimer(type, name, timeout, timeout_type)
andclearTimer(name)
enable managing timers set in the workflow. There exist some use cases that managing the timer hosted in Relay Servers avoids certain workflow coordination pitfalls.unsetVar(name)
andunset(name[])
enables deleting variables set bysetVar()
andset()
- Initial (but disabled) implementation of syncing documentation to readme.io
- Serially execute event handlers. This will allow for more predictable processing. For instance, subsequent workflow events are not processed until previously emitted events are completed.
- Notification actions now have a separate time out of 60 seconds. At present, notification actions are synchronous in delivery. As a result, when a workflow targets a large number of devices, the default action timeout of 5 seconds would frequently be met. Initial solution is to increase notification action timeout to 60 seconds. In the future semantics may be changed to asynchronous processing of notificaiton actions.
setChannel()
method signature has changedsay()
andplay()
both now return an identifier that can be used with newstopPlayback()
to stop the ongoing playback of spoken text or a sound.
- Section about "changelog" vs "CHANGELOG".
1.0.2 - 2021-03-02
- Fix README.md with correct npm installation instructions and git URL.
- Extract CLI and NodeJS Samples to their own repositories
1.0.1 - 2021-03-01
- Fix capture of workflow events with
w
in the name
1.0.0 - 2021-02-26
- Initial release of the Relay SDK for NodeJS.