Commit graph

176 commits

Author SHA1 Message Date
Šimon Brandner
dd6379cf4b
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-20 13:15:04 +02:00
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Šimon Brandner
16ed5c6645
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-16 21:43:33 +02:00
Šimon Brandner
d512a83a6c
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-16 19:37:57 +02:00
Andrew Morgan
f4788a6427
Add dialpad to transfer dialog + various dialpad UI improvements (#6363)
Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Andrew Morgan <andrew@amorgan.xyz>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2021-07-15 09:55:58 +01:00
Michael Telatynski
a645cebb49 Fix setTimeout/setInterval typing 2021-07-12 09:02:46 +01:00
Šimon Brandner
8f0d72335d
Rework call silencing once again
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-08 17:16:02 +02:00
Šimon Brandner
657896c0b9
Delint
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-07 11:00:42 +02:00
Šimon Brandner
fc239ffd01
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-07 10:53:22 +02:00
Šimon Brandner
b014763cd2
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 13:14:14 +02:00
David Baker
80f5232217 Comply with new member-delimiter-style rule
Just `eslint --fix` with rule from
https://github.com/matrix-org/eslint-plugin-matrix-org/pull/9 in place
2021-07-01 23:23:03 +01:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Šimon Brandner
314ab7a94d
If there already is a Jitsi widget pin it
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-21 11:26:34 +02:00
Šimon Brandner
ccfc7fe421
Make call silencing more flexible
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-19 20:03:02 +02:00
Šimon Brandner
f96c366aa4
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-18 17:07:43 +02:00
Germain
71ff5248fe
Merge pull request #6082 from SimonBrandner/fix/mute-incoming-call/15591 2021-06-17 16:41:00 +01:00
Šimon Brandner
e5188a5258
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share 2021-06-12 13:32:49 +02:00
Šimon Brandner
fdda534053
Merge branch 'develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-09 19:23:14 +02:00
David Baker
bd8fd246c6 Add logging for which rooms calls are in 2021-06-09 16:04:03 +01:00
Šimon Brandner
1d3bf91e83
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-04 08:19:29 +02:00
Šimon Brandner
629201a074
Merge branch 'develop' into fix/mute-incoming-call/15591 2021-06-04 07:59:28 +02:00
Šimon Brandner
6eb33ac730
Merge remote-tracking branch 'upstream/develop' into feature/call-event-tile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-04 07:49:05 +02:00
Šimon Brandner
ae54a8f546
Return null
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-06-04 07:42:17 +02:00
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
Šimon Brandner
37c379c393
Merge branch 'develop' into feature/call-event-tile 2021-06-02 12:52:03 +02: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
Šimon Brandner
20c5735e96
Add getCallById()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-05-30 19:44:17 +02:00
David Baker
c4a26893a0 Handle user_busy in voip calls
Newly added to MSC2746
2021-05-27 18:57:22 +01:00
Šimon Brandner
21fb81d4a2
Export AudioIDs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-05-22 20:23:24 +02:00
Šimon Brandner
0eeb21dfac
Remove unnecessary import
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-05-10 12:41:29 +02:00
Šimon Brandner
2749715050
Remove screensharing call type
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-05-10 12:26:28 +02: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
Š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
David Baker
37059a3fcd Move call listener out of MatrixChat
and into callhandler
2020-11-23 16:20:15 +00:00
David Baker
cf2d8d2f1f Wrench createNewMatrixCall straight out of call
rather than importing browser-index
2020-11-05 17:59:02 +00:00
David Baker
9be3ce928f explicitly retuen null
and also sort out formatting from a different time
2020-11-05 09:47:43 +00:00
David Baker
7796621e8d Merge remote-tracking branch 'origin/develop' into dbkr/call_hold 2020-10-30 16:49:42 +00:00