Commit graph

94 commits

Author SHA1 Message Date
Š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
Šimon Brandner
5779a543c9
Type cleanup
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-26 18:10:50 +01:00
Šimon Brandner
1dc1bc68db
Clean up
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-26 08:40:58 +01:00
Šimon Brandner
eae3c1c496
Get screen-sharing working, somehow
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2020-12-26 08:32:51 +01:00
David Baker
452fbb076b Add a dialpad UI for PSTN lookup
Queries the homeserver for PSTN protocol support, and if found,
the add-room button on the DM rooms list section opens a context
menu instead with a 'dial pad' option as well as the current 'start chat'
dialog. Entering a number into this and pressing dial performs
a thirdparty user query for the given string and starts a DM with that
user.
2020-12-23 19:02:01 +00:00