Robert Long
d4eeca346d
Merge branch 'bwindels/calls' into update-thirdroom-calls
2022-07-15 15:48:33 -07:00
Bruno Windels
3346f68d25
WIP
2022-07-12 11:59:52 +02:00
Bruno Windels
2f08cd8984
clone localMedia in Member when connection, like we do for setMedia
2022-07-07 15:36:49 +02:00
Bruno Windels
206ac6e2dd
WIP: prevent stream id from changing when upgrading call
2022-07-05 18:22:36 +02:00
Bruno Windels
8a90c48d1e
debugging unmuting not working
2022-06-25 05:56:43 +02:00
Bruno Windels
bfdea03bbd
start with seq 1, like Element Call does
2022-06-03 15:50:02 +02:00
Bruno Windels
90b6a5ccb6
update call member info with room member info
2022-06-02 15:56:23 +02:00
Bruno Windels
a530944f7d
add logging to seq queueing
2022-06-02 11:11:32 +02:00
Bruno Windels
513c059459
buffer messages as long as seq numbers in between haven't been received
2022-06-02 10:59:14 +02:00
Bruno Windels
a139571e20
move setting seq on outbound messages to member, is specific to_device
2022-06-02 10:59:03 +02:00
Bruno Windels
a014740e72
don't throw when we can't encrypt, just fall back to sending unencrypted
2022-06-01 15:55:43 +02:00
Bruno Windels
3edfbd2cf6
await hangup here, so log doesn't terminate early
2022-06-01 15:30:25 +02:00
Bruno Windels
50ae51e893
encrypt call signalling message only for given device
2022-06-01 15:28:49 +02:00
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
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
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
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
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
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
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
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
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