Commit Graph

188 Commits (5b2bafacc9213addcfb24cea2b8201adb8be50b6)

Author SHA1 Message Date
Šimon Brandner 9681e0e441
Merge remote-tracking branch 'upstream/develop' into feature/re-pin-jitsi/17679
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 13:15:20 +02:00
Andrew Morgan c9c8177f58
Start a call immediately after creating a room via the dial pad (#6529) 2021-08-04 09:46:39 +01:00
Šimon Brandner d479373af9
Merge remote-tracking branch 'upstream/develop' into feature/incoming-call-toast
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 09:21:45 +02:00
Šimon Brandner 37f51c7536
Don't ring if it's disabled
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-03 14:48:39 +02:00
Šimon Brandner 24f0c760ce
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-27 16:25:38 +02:00
Šimon Brandner 40947a2a68
Simplifie toast handling
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-26 12:21:58 +02:00
Šimon Brandner 8c635884d9
Add comment
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 11:05:52 +02:00
Šimon Brandner 7c805501bc
Cleanup hangup dialogs
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 10:56:04 +02:00
Šimon Brandner 410928745f
IncomingCallBox -> IncomingCallToast
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-24 13:46:22 +02:00
Šimon Brandner c25feb9b9f
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share 2021-07-20 15:48:25 +02:00
Šimon Brandner 66a3b0fe5f
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-20 13:24:05 +02:00
Šimon Brandner ff5ebb4657
Merge remote-tracking branch 'upstream/develop' into feature/re-pin-jitsi/17679
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-20 13:16:56 +02:00
Š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