- Added
fetchTask
method toWorkspace
- Fix missing Babel dependency
- Stop reconnecting after
Worker.disconnect
has been called.
- Export
WorkspaceOptions
type
- Upgraded
ws
dependency
- Made the
options
parameter insetWorkerActivity
optional
- Fixed
setWorkerAttributes
andsetWorkerActivity
parameter types
- Added
setWorkerOfflineIfDisconnected
to WorkerOptions
- Added
setWorkerAttributes
andsetWorkerActivity
fields to Supervisor type declaration
- Reduced transitive dependency size caused by Lodash.js
- Added
setWorkerAttributes
andsetWorkerActivity
to Supervisor
- Added
enableVersionCheck
to WorkerOptions
- Enhanced websocket reconnection logic.
- Fixed the type of
eventHandlerClass
inWorkerOptions
- Fixed
axios.create is not a function
when initializing a Worker
- Added
virtualStartTime
as an optional parameter toWorkerTaskOptions
so that the virtual start time of the task can be set whenWorker.createTask
method is called - Added
setVirtualStartTime
method to update the virtual start time of aTask
- Added
transcribe
andtranscriptionConfiguration
options toreservation.conference
method
- Added React Native support
- Added status links to the readme file
- Added error handling to axios requests
- Updated lodash from 4.17.5 to 4.17.21
- Fixed types in types.d.ts file
- Changed default branch to main
- Updated TaskHoldOptions
- Added sample app for testing integrations
- Tested SDK with TaskRouter standalone instance
- Allow Task's and Worker's attributes to be any object
- fixing broken types
- Increased timeout for http requests from 5s to 15s
- Fixed TS warnings in types file
- Added status based retries
- Added babel transpiler as part of build process for ES6+ syntax
- Added sonarqube integration for code quality
- Added exponential backoff time for retries
- Added unit and integration tests to test retries
- Fix for fetching more than 1000 workers
- Decommissioning
edge
support
- Bringing back
ebServer
andwsServer
- Add
fetchTaskQueues
andfetchWorkers
toWorkspace
- Add new fields to
Worker
andTaskQueue
for Sync compatibility
- Handle version mismatch in Worker after creating or completing reservations
- Add
version
field to TaskRouter resources (Task, Reservation and Worker)
- TR SDK Now starts supporting edge & region parameter
- Improved the fix for race condition when initiating task transfer
- Upgraded several dependencies to more recents versions
- Upgraded node engine requirement from 6 to >=12.17.0
- Fixed heartbeat attempting to close websocket after it was already closed
- Add missing type declarations
- Fixed race condition when initiating task transfer
- Export TaskRouterEventHandler for web
- Add type declarations for TaskRouterEventHandler and Worker.createTask
- Updated Task Event Emitter to provide the Task object upon Task Updates
- Export TaskRouterEventHandler
- Clean up flaky tests
- Include types.d.ts in build
- Add explicit logging for server, programmatic, client disconnects
- Updates the Worker disconnected event emitter to also include the reason for disconnect
- Additional unit and integration tests to confirm logging
- Explicitly close the current websocket if no heartbeat has been detected within 60s before attempting to reconnect using a new websocket
- Additional integration tests on outbound voice functionality
- Accept HoldUrl and HoldMethod when holding a customer or worker participant
- Add additional hold tests and transfer tests
- Fixing duplicate listeners for TR events on websocket reconnect.
- Add additional voice reservation tests
- Reverts Fixes for 0.4.4
- Fixing duplicate listeners for TR events on websocket reconnect.
- Fixing Logger to not persist loglevel in LocalStorage
- Add additional voice transfer tests
- Expose
reservation.failed
event, which is fired whenWorker
was unable to receive aReservation
for theTask
it created - A Worker can now create an
Outbound
Task for themselves
- Add Twilio Client integration for e2e integration testing
conference instruction
should not override reservation status received from worker leg
- Added automated scripts for integration tests
- Added setup for running unit tests on browsers
Transfer events, except for transferInitiated
, previously emitted on the Task
have been moved down one level to the appropriate OutgoingTransfer
instance
Improve integration tests flakiness
- Stop reconnecting the websocket connection if token expires
- Correctly handle
Task
andTransfer
events if a Worker has more than one reference to the sameTask
Reservation
events should reflect most up-to-date status ofcanceled
when aTransfer
is canceled
- A
Task
now exposes a propertytransfers
which contains two keysincoming
andoutgoing
containing related transfer information, if the incomingReservation
was the result of a transfer and if the Worker issued an outgoing transfer, respectively - Exposes a new method
cancel()
callable bytask.transfers.outgoing.cancel()
that allows a Worker to cancel an in-progress transfer - A new event
transferCanceled
is now emitted on the Task when an outgoing transfer has successfully been canceled
Add task.hold(targetWorkerSid, onHold) for holding/unholding specified target worker participant in the conference.
Workers can now kick another Worker's active call leg from a Conference by calling the kick(workerSid)
method on a Task
Improve integration tests flakiness
Expose an optional parameter rejectPendingReservations
when updating a Worker's activity to unavailable which will reject all pending reservations.
Add mute
and beepOnExit
options when calling reservation.updateParticipant()
Update testing of channels on newly created Workspaces
Expose region
parameter on signaling layer
Fix call to invalid function webSocket.removeAllListeners()
.
Clears reservation map before updating it with the latest reservations
Stabilizes transfer tests, updates README
Adds endConferenceOnExit
for workers. Workers can now opt-in to
terminate the conference when they exit the conference by calling
reservation.updateParticipant()
with endConferenceOnExit=true
.
Two features added
- adds
region
parameter toWorker
for Twilio Interconnect.region
specifies the ingress region for connections, e.g. "ie1". - adds
beepOnCustomerEntrance
parameter to Conference instruction. Plays a beep sound when customer enters the conference.
Adds npm badge to the README file.
- adds jitter to backoff interval
- supports
endConferenceOnExit
for worker call leg
- adds transfer tests and docs
- removes
task.hold()
andtask.unhold()
. Calltask.updateParticipant()
withhold=true
orhold=false
.
More features around task transfer feature
- handle transfer events
- new
Transfer
andTransferDescriptor
objects - implement
reservation.wrap()
andreservation.complete()
to wrapup or complete a reservation
Adds task transfer feature for workers. Call task.transfer()
to transfer the task to another worker.
reservation.wrapup
event is also exposed as part of this change.
Adds hold or unhold customer. Workers can now hold or unhold a
customer by calling task.hold()
or task.unhold()
. Valid only
for tasks for which reservations were accepted with the Conference
instruction.
Updates to tests and docs
- Add eslint to integration tests
- Fix broken tests
- General improvements to docs and comments
Adds a new Conference instruction option called
endConferenceOnCustomerExit
. If enabled, TaskRouter terminates
the conference when customer hangs up. Default value is false.
Adds monitoring feature for Supervisor
s.
Supervisors can monitor an ongoing call by invoking
.monitor()
with a task sid and a reservation sid.
- uses UMD pattern for web build
- uses TypeScript
- adds retries for updating worker activity
Bumping version only. No change from 0.2.0.
Changes to build process, refactoring
- correctly build window dist
- remove sids from URIs, remote JWT parsing
- encapsulate routes
- restore token expiration event
- add setAttributes method to Task
- remove redundant JSON.stringify from Task and Worker
Various improvements
- node version bumped to 8.
- more changes to the build process. using yarn.
Small change in the build process. No functional change from 0.1.8.
- Introduces distinction between soft-deleted vs. hard-deleted reservations
- Adds unit tests and integration tests
In this release, the SDK has been renamed twilio-taskrouter.js and replaces the earlier taskrouter.js. twilio-taskrouter.js is not backwards compatible with taskrouter.js but offers multiple improvements such as:
- Promises over callbacks
- Migration to FPA model using Twilio Access Tokens
- Replace es5 patterns with es6
- New "completed" event on a Reservation and support for events on a Task
- Introduce a Workspace class that allows querying for Workers and TaskQueues
Refer to the API docs for the full set of features.