Commit graph

1610 commits

Author SHA1 Message Date
Bruno Windels
d346f4a3fb add & remove rather than update when session id changed 2022-04-28 16:52:42 +01:00
Bruno Windels
3d83fda69f some more cleanup 2022-04-28 16:52:17 +01:00
Bruno Windels
2d9b69751f some logging cleanup 2022-04-28 16:52:00 +01:00
Bruno Windels
0be75d9c59 update the TODO 2022-04-28 12:45:15 +01:00
Bruno Windels
a91bcf5d22 ensure there is no race between reconnecting & updating the session id
it's probably fine as connect has to wait to receive the
negotiationneeded event before it can send out an invite, but just to
be sure update the session id beforehand
2022-04-28 12:44:13 +01:00
Bruno Windels
b03b296391 comments, todo housekeeping 2022-04-27 19:41:25 +02:00
Bruno Windels
4f2999f8d8 reconnect when detecting session id change, so we send invite if needed 2022-04-27 19:41:02 +02:00
Bruno Windels
bffce7fafe more logging 2022-04-27 19:40:49 +02:00
Bruno Windels
be04eeded0 always reevaluate remote media when receiving a new remote track
not just when we don't know the stream already
this caused the video track to not appear when the other party sends the
invite.
Also added more logging
2022-04-27 17:33:27 +02:00
Bruno Windels
230ccd95ab reset retryCount when disconnecting 2022-04-27 17:33:12 +02:00
Bruno Windels
6b22078140 prevent localMedia being disposed when disconnecting on session change
this would cause us to not send any media anymore and a black screen
on the other side that just refreshed
2022-04-27 11:34:05 +01:00
Bruno Windels
beeb191588 reset member when seeing a new session id
also buffer to_device messages for members we don't have a member event
for already.
2022-04-26 21:11:41 +02:00
Bruno Windels
eea3830146 emit change when muting so our own video feed gets hidden in the view 2022-04-26 16:18:49 +02:00
Bruno Windels
9ab75e8ed4 fix c/p error mixing up audio and video muting 2022-04-26 15:48:03 +02:00
Bruno Windels
b46ec8bac4 Merge branch 'bwindels/calls-wip' into bwindels/calls 2022-04-26 14:29:04 +02:00
Bruno Windels
f61064c462 nicer UI for calls, show avatar when muted, muted status 2022-04-26 14:27:28 +02:00
Bruno Windels
330f234b5a prefer undefined over null 2022-04-26 14:21:19 +02:00
Bruno Windels
3198ca6a92 expose remote mute settings 2022-04-26 14:20:44 +02:00
Bruno Windels
22df062bbb fix observable typescript errors 2022-04-25 14:05:02 +02:00
Bruno Windels
cdb2a79b62 add muting again, separate from changing media 2022-04-22 14:48:14 +01:00
Bruno Windels
ac60d1b61d remove thick abstraction layer
instead just copy the DOM typing and make it part of the platform layer
2022-04-21 17:40:45 +02:00
Bruno Windels
10a6269147 always send new metadata after calling setMedia 2022-04-21 10:15:57 +02:00
Bruno Windels
55c6dcf613 don't re-clone streams when not needed 2022-04-21 10:11:24 +02:00
Bruno Windels
99769eb84e implement basic renegotiation 2022-04-21 10:10:49 +02:00
Bruno Windels
82ffb557e5 update TODO 2022-04-21 10:09:31 +02:00
Bruno Windels
d6b239e58f ensure we always set the correct session id when joining 2022-04-20 16:42:20 +02:00
Bruno Windels
c42292f1b0 more WIP 2022-04-20 10:57:07 +02:00
Bruno Windels
382fba88bd WIP for muting 2022-04-14 23:19:44 +02:00
Bruno Windels
ea1c3a2b86 Merge remote-tracking branch 'origin/bwindels/calls' into bwindels/calls 2022-04-14 13:47:23 +02:00
Bruno Windels
021b8cdcdc send hangup when leaving the call
but not when somebody else leaves the call through a member event
2022-04-14 13:45:21 +02:00
Bruno Windels
ff856d843c ensure all member streams are cloned
so we can stop them without affecting the main one
also, only stop them when disconnecting from the member, rather then
when the peer call ends, as we might want to retry connecting to
the peer with the same stream.
2022-04-14 13:44:11 +02:00
Robert Long
55097e4154 Add intent to CallHandler 2022-04-13 13:08:47 -07:00
Bruno Windels
bc118b5c0b WIP 2022-04-13 18:34:01 +02:00
Bruno Windels
2d4301fe5a WIP: expose streams, senders and receivers 2022-04-12 21:20:24 +02:00
Bruno Windels
36dc463d23 update TODO 2022-04-12 21:20:15 +02:00
Bruno Windels
0e9307608b update TODO 2022-04-12 14:02:57 +02:00
Bruno Windels
2635adb232 hardcode turn server for now 2022-04-12 14:02:38 +02:00
Bruno Windels
797cb23cc7 implement receiving hangup, and retry on connection failure 2022-04-12 14:02:13 +02:00
Bruno Windels
fd5b2aa7bb only create datachannel on side that sends invite 2022-04-11 16:29:46 +02:00
Bruno Windels
517e796e90 remove obsolete import 2022-04-11 15:56:31 +02:00
Bruno Windels
c99fc2ad70 use deviceId getter in Member 2022-04-11 15:54:41 +02:00
Bruno Windels
9be64730b6 don't automatically join a call we create 2022-04-11 15:54:06 +02:00
Bruno Windels
b84c90891c add very early datachannel support 2022-04-11 15:53:34 +02:00
Bruno Windels
c02e1de001 log when renegotiation would be triggered 2022-04-11 14:55:14 +02:00
Bruno Windels
8153060831 only send to target device, not all user devices 2022-04-11 13:39:40 +02:00
Bruno Windels
302d4bc02d use session id from member event, and also send it for other party 2022-04-11 13:39:18 +02:00
Bruno Windels
1b0abebe8f remove unused constants 2022-04-11 12:37:05 +02:00
Bruno Windels
156f5b78bf use session_id from member event to set dest_session_id
so our invite event isn't ignored by EC
2022-04-11 12:36:02 +02:00
Bruno Windels
8a06663023 load all call members for now at startup
later on we can be smarter and load then once you interact with the call
2022-04-07 16:55:41 +02:00
Bruno Windels
b133f58f7a don't throw here for now, although it is probably a sign of why the tracks disappear 2022-04-07 16:54:47 +02:00