50 Commits

Author SHA1 Message Date
David Zhao 25d476b8ac fixed multi-node routing, correctly set rtc and signal nodes 2021-01-27 01:16:08 -08:00
David Zhao 61db4f5b66 fixed multi-node so signal node can start sessions 2021-01-26 23:52:55 -08:00
David Zhao ed0b9db655 avoid sending to closed channels 2021-01-26 21:45:00 -08:00
David Zhao a065a01592 fixed panic when client connected abruptly 2021-01-26 17:38:47 -08:00
David Zhao f004aa2952 auto-create rooms upon creation 2021-01-24 23:47:24 -08:00
David Zhao b7a00a8a56 increase default token ttl to 6h 2021-01-24 22:14:42 -08:00
David Zhao c04fd86f9c multi-node integration tests 2021-01-19 20:34:11 -08:00
David Zhao 0b00b26d05 terminate RTC sessions properly 2021-01-19 16:18:03 -08:00
David Zhao 71b4673a0a cleanup room state, proper participant termination 2021-01-18 23:44:59 -08:00
David Zhao d83a1b1af3 automatically cleanup participant redis data 2021-01-18 17:56:48 -08:00
David Zhao 458241d1f1 config rework to handle distributed setup, fixed redis bugs 2021-01-17 17:06:50 -08:00
David Zhao 30e99e8c6b redis based router & roomstore 2021-01-17 00:12:05 -08:00
David Zhao 9064f6ade1 decouple websocket and RTC nodes, prep for distributed 2021-01-16 10:37:38 -08:00
David Zhao 233306d83a basic integration test 2021-01-13 13:41:34 -08:00
David Zhao 09e5a37c75 refactoring to prep for integration tests 2021-01-13 00:04:36 -08:00
David Zhao bd885b1de9 handle unpublish track 2021-01-12 17:07:01 -08:00
David Zhao 21ac2413a2 catch panics to ensure reliability 2021-01-11 00:07:11 -08:00
David Zhao 7dcb88343a binding to buffer and correctly forwarding 2021-01-10 16:18:58 -08:00
David Zhao 258f5add2d protocol update: explicit AddTrack to move negotiation initiation to server side.
In order to avoid race conditions with WebRTC, where either side could initiate an offer when tracks have changes, we'll always initiate them from the SFU side.
2021-01-09 23:40:29 -08:00
David Zhao 0336e9d92f tests for MediaTrack, moving interfaces to new package 2020-12-31 23:24:45 -08:00
David Zhao 313236e3d3 server to support mutes 2020-12-31 14:21:19 -08:00
David Zhao 46b5942a95 allow cross origin requests 2020-12-28 10:25:27 -08:00
David Zhao 60f2596983 support access token via query params 2020-12-27 23:04:20 -08:00
David Zhao 43a6db8a3a cli to support token based auth 2020-12-27 22:02:19 -08:00
David Zhao 46dadc25c2 simplify token issuer/verifier interface 2020-12-27 20:53:07 -08:00
David Zhao 804b7cb332 JWT token based auth 2020-12-25 22:31:11 -08:00
David Zhao 2a79bdb678 switch participant to interface 2020-12-21 23:00:48 -08:00
David Zhao c4cb29a3bb use PeerConnection interface to make it easier to mock 2020-12-20 22:57:06 -08:00
David Zhao 684099d653 slight refactoring, WS sends periodic ping 2020-12-20 16:13:12 -08:00
David Zhao ac83bf4c78 subscribe new participant after JOINED, to ensure negotiate requests aren't missed 2020-12-13 23:08:20 -08:00
David Zhao 2b9fee45c4 fixed deadlock when client disconnecting 2020-12-05 22:20:13 -08:00
David Zhao 71a7914eec send event when participant disconnects 2020-12-05 17:53:33 -08:00
David Zhao c64ecc4603 use full candidateInit, update encoding 2020-12-03 21:58:25 -08:00
David Zhao a6c4db2cb3 refactoring, enabling sending out room updates 2020-12-01 23:32:15 -08:00
David Zhao 0c99163253 using shared proto types for participant state 2020-11-28 15:17:14 -08:00
David Zhao 4fe98723ae server sends join response 2020-11-28 12:33:10 -08:00
David Zhao bea1a87cb8 updated flow, room & participant id created by server 2020-11-28 00:18:34 -08:00
David Zhao 408ea3fe22 trackwriter, progress with tester client 2020-11-09 23:38:05 -08:00
David Zhao cba27d164b client and server establishing connections 2020-11-06 23:57:03 -08:00
David Zhao 218b9a0277 CLI framing, creates rooms 2020-11-04 23:29:46 -08:00
David Zhao 9ebfebe2dd simple cli with room APIs 2020-11-03 22:01:54 -08:00
David Zhao 925d1c653e switch to websockets, remove grpc dependency 2020-11-03 00:20:46 -08:00
David Zhao 9a36a41800 implement trickle and negotiate paths 2020-10-31 00:36:35 -07:00
David Zhao 54b59f00e2 handles RTC join 2020-10-31 00:09:46 -07:00
David Zhao 36dd195ca3 Converted RTC back to GRPC for server push capability 2020-10-29 01:02:31 -07:00
David Zhao 40c7d902d8 refactored config and room setup 2020-10-15 00:04:16 -07:00
David Zhao 6752c4a91d separated join from creation, room options & token 2020-10-07 23:54:44 -07:00
David Zhao 38cc5454da switch to twirp errors, correct RTC port 2020-10-06 23:37:22 -07:00
David Zhao 0d6c0adbdd switched to Twirp for RPC, server skaffold 2020-10-06 23:20:44 -07:00
David Zhao 1de35caf7a checkpoint 2020-10-05 20:31:29 -07:00