Trasfer to agent and workgroup improvements #82
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes were made to enable more transfer options. These changes have been implemented, tested, and are currently in use in an enterprise-grade project.
We needed options to transfer a chat to:
An offer is sent to the agent (either explicitly selected by the inviter or assigned by the plugin if only a workgroup is selected).
If the invitee accepts the offer, an MUC invitation is sent to him, and the inviter is kicked from the MUC room.
If the inviter cancels the transfer request, a notification that he left the queue is sent to him (the same logic already exists in the UserRequest class).
This covers all edge cases and allows both the client and agent side to successfully handle transfer acceptance, cancellation, and timeout scenarios.