Commit Graph

188 Commits (5b2bafacc9213addcfb24cea2b8201adb8be50b6)

Author SHA1 Message Date
Michael Weimann f10e3abb6e
Exclude functional members from DM detection (#9124)
* Exclude functional members from DM detection

* Fix getRoomFunctionalMembers test

* Simplify getFunctionalMembers

* Remove unnecessary filter
2022-08-01 19:28:33 +02:00
Michael Weimann c5eaeafe8e
Prepare utils for local rooms (#9084)
* Prepare utils for local rooms

* Split up direct-messages module
2022-07-25 10:17:40 +02:00
DeepBlueV7.X d8d4ade1b7
Fix calls on homeservers without the unstable thirdparty endpoints (#8931)
* Fix calls on homeservers without the unstable thirdparty endpoints

Calling that endpoint throws an error and aborts the entire call. We do
check if an empty list or null is returned by that endpoint everywhere,
so returning an empty list simulates the thirdparty stuff just not being
found.

Checking for "this.supportsSipNativeVirtual" doesn't necessarily work,
since that might not be set yet and as such breaks calls that rely on
this functionality working.

fixes https://github.com/vector-im/element-web/issues/21680

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>

* Address review comments

* Make log message a warning

Signed-off-by: Nicolas Werner <nicolas.werner@hotmail.de>
2022-07-01 12:43:42 +00:00
Michael Telatynski 3c5c2bef6d
Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01:00
Eric Eastwood 027827393a
Add more debug logging to try and find out why ring and ringback sounds aren't playing (#8772)
To better investigate https://github.com/vector-im/element-web/issues/20832
2022-06-06 13:47:40 -05:00
Robin f152310c08
Use random widget IDs for video rooms (#8739) 2022-06-02 09:10:22 -04:00
Travis Ralston 548290b006
Run a minor code quality checker over the repo (#8524)
* Run a minor code quality checker over the repo

Largely targeted at spelling of common words and misc code issues.

* Update snapshots
2022-05-09 22:52:05 +00:00
Travis Ralston 71b356a9a4 Cast dispatcher payloads correctly when firing them 2022-03-31 19:38:00 -06:00
Travis Ralston cd98106afb Step 8.5: Move call transfer invite dialog construction 2022-03-28 14:02:31 -06:00
Travis Ralston 888d470c56 Step 8.5: Move various room utilities out of `createRoom` 2022-03-28 14:02:31 -06:00
Travis Ralston 211e00539a Step 8.5: Move call event type 2022-03-28 14:02:31 -06:00
Robin cfabcdda35
Voice rooms prototype (#8084)
* Add voice room labs flag

Signed-off-by: Robin Townsend <robin@robin.town>

* Add more widget actions for interacting with Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic Jitsi creation utility

Signed-off-by: Robin Townsend <robin@robin.town>

* Add utilities for managing voice channels

Signed-off-by: Robin Townsend <robin@robin.town>

* Enable creation of voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Force a maximized view of voice channel widgets

Signed-off-by: Robin Townsend <robin@robin.town>

* Add voice channel store

Signed-off-by: Robin Townsend <robin@robin.town>

* Factor out a more generic FacePile

Signed-off-by: Robin Townsend <robin@robin.town>

* Implement room tile changes for voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Add interactive radio component to the left panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Test voice rooms

Signed-off-by: Robin Townsend <robin@robin.town>

* Update name of call room type

Signed-off-by: Robin Townsend <robin@robin.town>

* Clarify that voice rooms are under development

Signed-off-by: Robin Townsend <robin@robin.town>

* Use readonly

Signed-off-by: Robin Townsend <robin@robin.town>

* Move acks to the end of handlers

Signed-off-by: Robin Townsend <robin@robin.town>

* Add comment about avatar URLs coming from Jitsi

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't use unicode ellipses

for translation reasons?

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests

Signed-off-by: Robin Townsend <robin@robin.town>

* Fix tests, again

Signed-off-by: Robin Townsend <robin@robin.town>

* Remove unnecessary export

Signed-off-by: Robin Townsend <robin@robin.town>

* Ack Jitsi events when we wait for them

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-22 16:14:11 -06:00
Travis Ralston d8a939df5d
Use & enforce snake_case naming convention on config.json settings (#8062)
* Document and support the established naming convention for config opts

This change:
* Rename `ConfigOptions` to `IConfigOptions` to match code convention/style, plus move it to a dedicated file
* Update comments and surrounding documentation
* Define every single documented option (from element-web's config.md)
* Enable a linter to enforce the convention
* Invent a translation layer for a different change to use
* No attempt to fix build errors from doing this (at this stage)

* Add demo of lint rule in action

* Fix all obvious instances of SdkConfig case conflicts

* Fix tests to use SdkConfig directly

* Add docs to make unset() calling safer

* Appease the linter

* Update documentation to match snake_case_config

* Fix more instances of square brackets off SdkConfig
2022-03-18 10:12:36 -06:00
Robin 744eeb53fe
Don't assume that widget IDs are unique (#8052)
* Don't assume that widget IDs are unique

Signed-off-by: Robin Townsend <robin@robin.town>

* Don't remove live tiles that don't exist

Signed-off-by: Robin Townsend <robin@robin.town>

* Add unit test for AppTile's live tile tracking

Signed-off-by: Robin Townsend <robin@robin.town>
2022-03-15 12:15:26 +00:00
J. Ryan Stinnett 65691202f7
Add lint for unused locals (#8007) 2022-03-09 12:05:16 +00:00
David Baker 2d58704d26
Clean up asserted identity code (#7934)
* Clean up asserted identity code

Add logging when we received asserted identity events but ignore them,
and just disable the whole code path if it's not enabled in the config.

* Actually, put the check back - better to check anyway

* Update to ? syntax

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Put back lost return

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-03-02 09:59:01 +00:00
Michael Telatynski 7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
David Baker 572fa99e67
Fix virtual / native room mapping on call transfers (#7848)
* Fix virtual / native room mapping on call transfers

By just sending them through the same code path as regular calls.

Also re-do the tests & add a test for transfer specifically.

* Optional arg

* Types
2022-02-21 12:17:09 +00:00
Michael Telatynski 658590e5bc
More posthog tracking around joining rooms and room search (#7807) 2022-02-17 18:03:27 +00:00
Michael Telatynski 8d4e83084c
Remove Countly analytics integration (#7808) 2022-02-15 16:58:30 +00:00
Michael Telatynski 0d6ef76605
Add analytics for the ViewRoom action (#7666) 2022-02-10 14:29:55 +00:00
David Baker 3f789d32c1
Add logging to diagnose no-video bug (#7721)
Log in/outbound RTP stats so we can see ifn we're sending & receiving
video, and log when we successfully play the video element.
2022-02-04 14:02:56 +00:00
David Baker 7c20eb9b74
Put call on hold when transfer dialog is opened (#7669)
And take it off hold if the dialog is cancelled.

Also changes the onFinished signature of invitedialog which claimed
to return an array of strings but never did, so now it just returns
a boolean.
2022-01-28 17:05:57 +00:00
David Baker 225f8940c9
Revert "Start a conference in a room with 2 people + invitee rather than a 1:1 call (#7557)" (#7641)
This reverts commit 8ced6e6117.
2022-01-26 13:31:00 +00:00
David Baker a7a7cb56fe
Cancel pending events in virtual room when call placed (#7583)
As the comment hopefully explains.

Also add public qualifiers to the methods in Resend which lacked
any visibility specifiers.

Fixes https://github.com/vector-im/element-web/issues/17594
2022-01-20 09:32:15 +00:00
Šimon Brandner 8ced6e6117
Start a conference in a room with 2 people + invitee rather than a 1:1 call (#7557)
* Start a conference call in a room with 2 people + invitee rather than a 1:1

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix tests

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-01-17 13:46:55 -07:00
Michael Telatynski a968b4ce53
Improve typing around LoggedInView (#7384)
* Update SyncState imports

* Improve typing around LoggedInView

* Fix typing
2021-12-16 09:57:10 +00:00
Aaron Raimist 2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Šimon Brandner c222c5511d
Don't allow calls when the connection the server has been lost (#7287) 2021-12-06 08:07:02 +00:00
Šimon Brandner cbb34d8ac7
Make `CallHandler` more `EventEmitter`y (#6704)
* sharedInstance() -> instance

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use CallState event instead of dispatching

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplifie some code

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method to start a call instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a method instead of place_conference_call

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make terminateCallApp() and hangupCallApp() public

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupAllCalls() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Make dialNumber(), startTransferToMatrixID() and startTransferToPhoneNumber() public instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use answerCall() instead of using the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use hangupOrReject() instead of the dispatcher

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update docs

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Dispatch call_state, see https://github.com/vector-im/element-web/pull/18823#issuecomment-917377277

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add missing import

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-30 18:09:13 +00:00
Timo 37828ab084
Maximised widgets always force a call to be shown in PIP mode (#7163) 2021-11-25 22:14:19 +01:00
Renan Cleyson ae0dba4e87
Add `view_room` to `Action` enum (#7203)
* Add ViewRoom action to Action enum

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Change view_room occurrences to Action.ViewRoom

Signed-off-by: Renan <renancleyson.f@gmail.com>

* Add missing Action import
2021-11-25 21:49:43 +01:00
Dariusz Niemczyk 2c66403b3c Replace console.info with logger.info
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk 2d1d42b90e
Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
David Baker 7b52cca8d3
Formatting
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-03 10:38:39 +01:00
David Baker f2758f9ce5 Fix glare 2021-09-02 18:41:26 +01:00
David Baker cd8e7e3076 Move error dialog to the new check
So we just check for an existing call in one place where it doesn't race
2021-09-02 15:51:44 +01:00
David Baker edf6d13818 Prevent multiple calls for the same room 2021-09-02 14:41:10 +01:00
Šimon Brandner 242b4e73b9
Pause ringing more aggressively
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-26 15:00:56 +02:00
Šimon Brandner e4f8c795bc
Add stopRingingIfPossible()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-26 15:00:36 +02:00
Šimon Brandner f54c6d75ac
Fix areAnyCallsUnsilenced()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-26 14:59:06 +02:00
Šimon Brandner 1d664f0914
Explicitly handle first state change
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-17 10:23:54 +02:00
Michael Telatynski d90321d813 Iterate PR, merge types with @types/PushRules 2021-08-10 11:03:03 +01:00
Šimon Brandner 2d5dc6d529
Break instead of return
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-07 21:30:58 +02:00
Šimon Brandner 78f53b3f6b
Don't show modal on reject/user hangup
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-07 21:28:35 +02:00
Šimon Brandner 74e1342fa8
Wrap cases in {}
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 16:35:46 +02:00
Šimon Brandner 023d874949
Add missing ?
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 16:34:59 +02:00
Šimon Brandner 881cac0d21
Merge remote-tracking branch 'upstream/develop' into fix/ringing-sound/15591
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 16:30:03 +02:00
Šimon Brandner 79e4a95b13
Move stuff out of if statement for better readability
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-04 16:25:44 +02:00