Š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
David Baker
f828c6d494
Implement call hold
...
Currently just by adding /holdcall and /unholdcall slash commands
The only place the hold status of the call is currently represented
is when the call is a voice call and you're viewing a different room:
it's not wired up when you're viewing the room because that currently
uses the room status bar which it won't do with the new UI.
Also convert VideoFeed to typescript, and remove videoview because
it essentially just managed the fullscreen functionality, but we'll
want and 'on hold' representation (and probably chrome for hagnup etc)
in the fullscreen UI too, so let's just make CallView the thing that
gets fullscreened.
2020-10-29 17:56:24 +00:00
Michael Telatynski
c3a355097d
Initial Countly work
2020-10-29 15:57:16 +00:00
David Baker
765fdf93e6
Support 'answered elsewhere'
...
Show a dialog for now, telling the user someone beat them to it.
Only useful with https://github.com/matrix-org/matrix-js-sdk/pull/1522
(but can be merged safely without).
2020-10-21 11:54:48 +01:00
David Baker
88b7210f5c
consistent quotes
2020-10-19 15:04:57 +01:00
David Baker
45d639d963
Add analytics to VoIP
2020-10-19 14:56:15 +01:00
David Baker
4a26199a75
use real equals
...
Co-authored-by: Travis Ralston <travpc@gmail.com>
2020-10-16 20:28:20 +01:00
David Baker
7ad366603a
Support rejecting calls
...
Use the 'reject' method when we want to reject an incoming call
rather than end one that's in progress. Also get our error messages
right for the other side rejecting the call (albeit still with
placeholder dialog-box UX).
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1510
2020-10-15 14:54:03 +01:00
David Baker
54babddb38
Support glare for VoIP calls
...
The js-sdk supports glare but we didn't support it, which means the
js-sdk will still do glare but we didn't know about it, leaving the
UI in horribly broken states where the js-sdk would be on a call but
the app didn't think it was.
Fixes https://github.com/vector-im/element-web/issues/5770
2020-10-13 15:08:23 +01:00
David Baker
414901dfae
More enums
2020-10-12 11:38:32 +01:00
David Baker
abd5e3b3cf
More enums
2020-10-12 10:25:23 +01:00
David Baker
3af7abb5fe
This comment is no longer true
2020-10-12 09:56:43 +01:00
David Baker
94802036d9
AudioId -> AudioID
2020-10-12 09:55:21 +01:00
David Baker
55f77b04ae
Rewrite call state machine
...
* Remove the two separate enumerations of call state: now everything
uses the js-sdk version of call state. Stop adding a separate
'call_state' field onto the call object(!)
* Better reflection of the actual state of the call in the call bar,
so when it's connecting, it says connecting, and only says 'active call'
when the call is actually active.
* More typey goodness
2020-10-09 18:56:07 +01:00
Travis Ralston
cca9b91aca
Merge pull request #5171 from matrix-org/travis/widget-api
...
Switch to using the Widget API SDK for widget messaging
2020-10-01 10:16:01 -06:00