Commit graph

98 commits

Author SHA1 Message Date
David Baker
0aeddea30f Only do native lookup if it's supported
Also fix as bug where we were checking the wrong field to check
for native/virtual support: oops.
2021-06-02 17:47:29 +01:00
David Baker
2c4fa73a45 Map phone number lookup results to their native rooms
When dialing a phone number, also look to see if there's a corresponding
native user for the resulting user, and if so, go to the native room
for that user.
2021-06-02 17:39:13 +01:00
David Baker
f0f8210790 Log when we ignore a second call in a room
What's more useful than a comment? A log line.
2021-06-01 19:04:52 +01:00
David Baker
c4a26893a0 Handle user_busy in voip calls
Newly added to MSC2746
2021-05-27 18:57:22 +01:00
Šimon Brandner
40748d3c94
Make CallHandler emit CallChangeRoom
Let's hope I changed the tests correctly

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-28 11:49:07 +02:00
Šimon Brandner
4c58a95046
Merge branch 'develop' into feed
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-28 10:59:47 +02:00
Šimon Brandner
551e8ecb8d
Merge branch 'develop' into feed
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-28 10:52:23 +02:00
David Baker
c95c1aeffd
Merge pull request #5886 from matrix-org/dbkr/asserted_identity
Support MSC3086 asserted identity
2021-04-28 09:47:40 +01:00
Šimon Brandner
9a16fcb6fc
Emit in removeCallForRoom()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-28 10:31:49 +02:00
David Baker
be7d4d020b Put asserted identity option under a 'voip' section 2021-04-27 19:33:53 +01:00
David Baker
b6762c68af
typo
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-04-27 18:55:53 +01:00
Šimon Brandner
b88033accc
Make CallHandler into an EventEmitter
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-27 11:01:36 +02:00
J. Ryan Stinnett
0e92251f70 Fix simple lint errors 2021-04-23 16:28:55 +01:00
David Baker
dc3d05bc88 Test for asserted identity
This is out first CallHandler test(!) Switches react-sdk to use
createCall on the client object so we can stub this out in the test.
Add a bunch more stubs to the test client.

There's more stuff in this test that has scope to be used more
widely, like waiting for a certain dispatch and mocking out rooms
with particular sets of users in them: we could consider moving these
out to test utils if we wanted.
2021-04-23 14:39:39 +01:00
David Baker
ee96201e33 Comment room creation insanity 2021-04-19 21:05:05 +01:00
David Baker
10d056eb41 unused import 2021-04-19 20:34:48 +01:00
David Baker
59c5ab31de Support MSC3086 asserted identity 2021-04-19 20:30:51 +01:00
Šimon Brandner
27ec3af03a
Merge branch 'develop' into feed
Looking forward to merging again! :D

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-03 09:15:55 +02:00
David Baker
989d69ba16 Get tbe transfer target / transferee the right way around
and also switch to the transfer target's room when we call them
2021-03-26 14:21:58 +00:00
David Baker
82ba546142 WIP attended transfer 2021-03-25 19:56:21 +00:00
Šimon Brandner
0917730f48
Merge branch 'feed' into feed-audio
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-17 16:14:59 +01:00
Šimon Brandner
431a2c033d
Merge branch 'develop' into feed
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-17 16:13:40 +01:00
Šimon Brandner
02051a39ff
Hangup all calls on logout
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-12 13:55:14 +01:00
Šimon Brandner
8410411236
Handle audio
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-10 12:26:59 +01:00
Šimon Brandner
bb13dc49a6
Make CallView use CallFeed
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-10 12:18:57 +01:00
David Baker
92c8b697d2 Fix units of TURN server expiry time 2021-03-08 18:55:33 +00:00
David Baker
d8483ddf0d Don't place another call if there's already one ongoing
The 'call' button doesn't turn into a hangup button as soon as there's
a call in the room, but we should have been doing this anyway.
2021-03-03 20:23:21 +00:00
David Baker
90af6ddcce Log when turn creds expire
Which, due to how special the js-sdk API is, needs to be done accross
two different projects.
2021-02-26 14:48:18 +00:00
David Baker
428af8b9e2 Jitsi conferences names, take 3
Shorter, capatalised, just 'Jitsi' prefix rather than 'JitsiConference'
2021-02-22 16:48:12 +00:00
David Baker
6130bdf0d2 Use creation content to signal virtual-ness
This makes things a lot simpler.
2021-02-17 18:51:21 +00:00
David Baker
e787d11c73 Merge remote-tracking branch 'origin/develop' into dbkr/virtual_rooms_v2 2021-02-16 19:41:54 +00:00
David Baker
3b16645b59 Make fields optional 2021-02-16 18:52:49 +00:00
David Baker
5535d7fb97 Prepare to encrypt when a call arrives
So we're ready to send an answer straight away if the user answers
2021-02-16 14:52:11 +00:00
Travis Ralston
cb757b5b50 Fix import 2021-02-15 08:56:38 -07:00
Travis Ralston
cd82d97c3e Use randomly generated conference names for Jitsi
Fixes https://github.com/vector-im/element-web/issues/15205
Replaces https://github.com/matrix-org/matrix-react-sdk/pull/5322

This change uses a random ID for the Jitsi conference name to avoid any badly-named Jitsi calls, and overrides the "subject" (title) of the call so end users aren't typically exposed to the random ID.
2021-02-15 08:53:37 -07:00
David Baker
d339dc447f Add specific fields to third party lookup response fields 2021-02-15 15:25:07 +00:00
David Baker
d7bf57af13 Add missing 'd' 2021-02-15 15:04:01 +00:00
David Baker
196507a730 VoIP virtual rooms, mk II
Does a thirdparty protocol lookup to the homeserver to get the
corresponding native/virtual user for a matrix ID. Stores the
mappings in room account data. Involves some slightly nasty workarounds
for that fact that room account data has no local echo.
2021-02-12 20:55:54 +00:00
Šimon Brandner
5b211897ec
Handle undefined call stats
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-02-09 14:52:48 +01:00
David Baker
c77f0bcfa4 Fix the %s in logs
Finally
2021-02-08 14:47:03 +00:00
David Baker
cf5ec7720c
Merge pull request #5525 from SimonBrandner/fix-screen-sharing
Fix desktop Matrix screen sharing and add a screen/window picker
2021-02-08 13:54:51 +00:00
J. Ryan Stinnett
2c313e0c5e Add managed hybrid call widgets when supported
If your homeserver is configured with an experiment `widget_build_url`, this
will take over the functionality of the call buttons and turn them into a
general widget installer.
2021-01-29 14:45:25 +00:00
David Baker
9ac31747f6 This was missing a break somehow 2021-01-27 10:36:40 +00:00
David Baker
e43adef438 firefox uses 'address' instead of 'ip' 2021-01-26 10:52:35 +00:00
David Baker
ec0266d82b Log candidates for calls
First attempt at this was sending everything from
RTCPeerConnection.getStats() as a separate item in the rageshake,
but the rageshake server doesn't handle that in a particularly sensible
way and it's probably better to pick & choose what data we want explicitly
from a privacy PoV. This summarises the candidates used for the calls into
the log that will be included in rageshakes so we can diagnose connectivity
issues from rageshakes.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/1584
2021-01-26 09:41:57 +00:00
David Baker
303694754b
Merge pull request #5572 from matrix-org/dbkr/dont_play_hangup_sound_when_answered_elsewhere
Don't play the hangup sound when the call is answered from elsewhere
2021-01-25 16:39:44 +00:00
David Baker
8783765ce3 Don't play the hangup sound when the call is answered from elsewhere 2021-01-25 16:18:14 +00:00
David Baker
0a90c982c7 Add VoIP user mapper
The accompanying element-web PR with the config documentation should
explain what this is & why. Internally, this breaks the assumption
that call.roomId is the room that the call appears in for the user.
call.roomId may now be a 'virtual' room while the react SDK actually
displays it in a different room. React SDK always stores the calls
under the user-facing rooms, and provides a function to get the
user-facing room for a given call.
2021-01-21 19:20:35 +00:00
Šimon Brandner
eca8ef3b35
Update thumbnails
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-01-14 12:44:48 +01:00
Šimon Brandner
640e6d68b3
Merge branch 'develop' into fix-screen-sharing
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-01-05 20:41:06 +01:00