Commit Graph

80 Commits

Author SHA1 Message Date
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
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
02051a39ff
Hangup all calls on logout
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-03-12 13:55:14 +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
David Baker
68c5482c05
Comment typo
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-12-21 11:21:41 +00:00
David Baker
12474bb434 Merge remote-tracking branch 'origin/develop' into dbkr/call_ui_fixups 2020-12-21 11:10:31 +00:00
David Baker
eab764a3c8 Vary resume link text
Use 'Switch' if unholding that call would hold another
2020-12-18 19:35:41 +00:00
David Baker
453575d70a Don't play call end sound for calls that never started 2020-12-18 13:46:58 +00:00
David Baker
973a0b7b8a set dispatcher ref to null so we don't double-unregister 2020-12-16 10:53:59 +00:00
David Baker
a77d675664 Better null check
to make tests happy
2020-12-15 18:01:42 +00:00
David Baker
a798772e80 Unregister from the dispatcher in CallHandler
otherwise you end up getting multiple place_call dispatches if you
place a call after logging in
2020-12-15 16:53:11 +00:00
David Baker
5282c6bbe8 Merge remote-tracking branch 'origin/develop' into dbkr/line_1_2 2020-12-10 12:36:11 +00:00
Lukas
a856484139 Fix typos in some strings
This commit fixes some typos that I've stumbled upon.
2020-12-06 10:32:52 +01:00
David Baker
4c50125e9d Don't remove call when we call hangup
as hopefully explained by comment
2020-12-04 20:22:01 +00:00
David Baker
1ce63f0fa7 Line 1 / 2 Support
Support one active call plus one call on hold
2020-12-03 17:45:49 +00:00
David Baker
3a3775b523 Only show 'answered elsewhere' if we tried to answer too
and don't play the hangup tone

Fixes https://github.com/vector-im/element-web/issues/15735
2020-11-30 15:17:20 +00:00
David Baker
522c2d9dc7
Typo
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2020-11-27 14:03:52 +00:00
David Baker
65ab0ee665 Slightly better error if we can't capture user media
Fixes https://github.com/vector-im/element-web/issues/15837
2020-11-27 12:53:09 +00:00