Robert Long
c6d1cba81c
Merge branch 'fix-handleCallMemberEvent' into thirdroom/dev
2022-05-10 17:01:11 -07:00
Bruno Windels
d69b1dc3e2
expose log items for exposing debugging info in sdk users
2022-05-06 17:06:56 +02:00
Bruno Windels
fc08fc3744
always log device removal in same way and prevent call id overwritten
2022-05-06 16:59:26 +02:00
Robert Long
f1e152b8aa
Merge branch 'bwindels/calls' into thirdroom/dev
2022-05-05 11:02:23 -07:00
Bruno Windels
1a08616df1
logging improvements
2022-05-04 18:44:11 +02:00
Bruno Windels
c1c08e9eb0
more logging of callId and sessionIds
2022-04-29 14:58:44 +01:00
Bruno Windels
9938071e1c
more sessionId logging
2022-04-29 14:34:03 +01:00
Bruno Windels
bb92d2e30d
log session id when adding a member entry
2022-04-29 14:19:10 +01:00
Bruno Windels
e1974711f3
dont close this when disconnecting as long as we haven't restructured the log items in general, we can always connect again fr now and assume to reuse the same log item
2022-04-28 16:56:32 +01:00
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
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
Robert Long
bf0638b2f3
Merge branch 'bwindels/calls' into thirdroom/dev
2022-04-27 11:08:25 -07: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
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
Robert Long
f6a0986b3c
Merge branch 'bwindels/calls' into thirdroom/dev
2022-04-26 11:53:50 -07: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
b46ec8bac4
Merge branch 'bwindels/calls-wip' into bwindels/calls
2022-04-26 14:29:04 +02:00
Bruno Windels
3198ca6a92
expose remote mute settings
2022-04-26 14:20:44 +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
55c6dcf613
don't re-clone streams when not needed
2022-04-21 10:11:24 +02:00
Robert Long
9f4743e1ce
Add eventTimestamp and deviceId for members for host election
2022-04-20 16:35:11 -07:00
Robert Long
fdd067038d
Merge branch 'bwindels/calls' into thirdroom/dev
2022-04-20 08:22:58 -07: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
Robert Long
0f340282e7
Add callType to createCall function parameters
2022-04-18 21:58:49 -07:00
Bruno Windels
382fba88bd
WIP for muting
2022-04-14 23:19:44 +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
Bruno Windels
bc118b5c0b
WIP
2022-04-13 18:34:01 +02:00
Bruno Windels
797cb23cc7
implement receiving hangup, and retry on connection failure
2022-04-12 14:02:13 +02:00
Bruno Windels
c99fc2ad70
use deviceId getter in Member
2022-04-11 15:54:41 +02:00
Bruno Windels
b84c90891c
add very early datachannel support
2022-04-11 15:53:34 +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
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
79411437cf
fix who initiates call, needs to be lower, not higher
2022-04-07 16:53:57 +02:00
Bruno Windels
6472800387
impl session id so EC does not ignore our messages
2022-04-07 16:53:37 +02:00
Bruno Windels
fe6e7b09b5
don't encrypt to_device messages for now
2022-04-07 16:50:16 +02:00
Bruno Windels
2852834ce3
persist calls so they can be quickly loaded after a restart
...
also use event prefixes compatible with Element Call/MSC
2022-04-07 10:32:43 +02:00
Bruno Windels
d7360e7741
fix multiple device support
2022-03-30 15:18:46 +02:00
Bruno Windels
c54ffd4fc3
support multiple devices in call per user
2022-03-29 17:13:33 +02:00
Bruno Windels
ba45178e04
implement terminate and hangup (currently unused)
2022-03-29 12:01:47 +02:00
Bruno Windels
eaf92b382b
add structured logging to call code
2022-03-29 12:01:47 +02:00
Bruno Windels
a0a07355d4
more improvements, make hangup work
2022-03-29 12:01:47 +02:00