-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MM-53457] Standalone client #115
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very clean, nicely done. Nothing jumps out as a need to fix, and I need to get more familiar with pion to know if you're doing anything out of the ordinary there. But I'll assume you're not. 👍
Added a couple of extra commits to facilitate the transcription use case, mainly being able to react to user disconnecting and call ending. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, non-blocking comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
* Fix race condition on stop * Wait for signaling goroutines to exit before returning on close
Summary
PR implements a standalone Golang client for Calls. This is mostly based of the official one included in the plugin. The implementation abstracts away all the logic necessary to successfully join a call given a
SiteURL
,AuthToken
andChannelID
.This includes:
There are however some key differences:
pion
which comes with its own set of limitations (e.g. perfect negotiation is not yet supported).This also comes with some additional limitations and potential TODOs:
To note, this PR also includes a very basic e2e pipeline as tests are connecting against a running version of the plugin compiled with the latest
rtcd
changes. This could also serve as a good base to implement more tests that check general functionality.Ticket Link
https://mattermost.atlassian.net/browse/MM-53457