Commit Graph

148 Commits (ace6591f430d5cbb61de28f61ae03eb8516ed0d2)

Author SHA1 Message Date
Robin ace6591f43
New group call experience: Starting and ending calls (#9318)
* Create m.room calls in video rooms, and m.prompt calls otherwise

* Terminate a call when the last person leaves

* Hook up the room header button to a unified CallView component

* Write more tests
2022-09-27 07:54:51 -04:00
Robin 0d6a550c33
Prepare for Element Call integration (#9224)
* Improve accessibility and testability of Tooltip

Adding a role to Tooltip was motivated by React Testing Library's
reliance on accessibility-related attributes to locate elements.

* Make the ReadyWatchingStore constructor safer

The ReadyWatchingStore constructor previously had a chance to
immediately call onReady, which was dangerous because it was potentially
calling the derived class's onReady at a point when the derived class
hadn't even finished construction yet. In normal usage, I guess this
never was a problem, but it was causing some of the tests I was writing
to crash. This is solved by separating out the onReady call into a start
method.

* Rename 1:1 call components to 'LegacyCall'

to reflect the fact that they're slated for removal, and to not clash
with the new Call code.

* Refactor VideoChannelStore into Call and CallStore

Call is an abstract class that currently only has a Jitsi
implementation, but this will make it easy to later add an Element Call
implementation.

* Remove WidgetReady, ClientReady, and ForceHangupCall hacks

These are no longer used by the new Jitsi call implementation, and can
be removed.

* yarn i18n

* Delete call map entries instead of inserting nulls

* Allow multiple active calls and consolidate call listeners

* Fix a race condition when creating a video room

* Un-hardcode the media device fallback labels

* Apply misc code review fixes

* yarn i18n

* Disconnect from calls more politely on logout

* Fix some strict mode errors

* Fix another updateRoom race condition
2022-08-30 15:13:39 -04:00
Suguru Hirahara 731776d189
Improve link buttons and inline link buttons styling (#8238)
* Set padding: 0 to both "link" and "link_inline"

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _SpotlightDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - JoinRuleSettings

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _ViewSourceEvent.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _RoomDirectory.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - _InviteDialog.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - ServerOfflineDialog

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - UpdateCheckButton

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - NonUrgentEchoFailureToast

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant settings - CallView

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove unused styles - _RoomSettingsDialogBridges.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link" with "link_inline" for inline links

- src/components/structures/UserMenu.tsx
- src/components/views/dialogs/BetaFeedbackDialog.tsx
- src/components/views/dialogs/FeedbackDialog.tsx
- src/components/views/rooms/NewRoomIntro.tsx
- src/components/views/settings/tabs/room/NotificationSettingsTab.tsx
- src/components/views/settings/tabs/user/PreferencesUserSettingsTab.tsx
- src/components/views/spaces/SpaceCreateMenu.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace "link_inline" with "link" for links not inline

- src/async-components/views/dialogs/security/CreateKeyBackupDialog.tsx
- src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx
- src/components/structures/auth/ForgotPassword.tsx
- src/components/structures/auth/Registration.tsx
- src/components/views/auth/InteractiveAuthEntryComponents.tsx
- src/components/views/dialogs/security/AccessSecretStorageDialog.tsx
- src/components/views/dialogs/security/RestoreKeyBackupDialog.tsx
- src/components/views/messages/TileErrorBoundary.tsx
- src/components/views/messages/ViewSourceEvent.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SetupEncryptionBody.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _ReplyChain.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _EventTile.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove an obsolete style block - _RoomPreviewCard.scss

The block was transferred from _SpaceRoomView.scss with ec24dc661edb6979ba901936067e5bc731dafa59

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a redundant declaration - _SecurityUserSettingsTab.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove element='span' - NewRoomIntro.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant declarations - _ServerPicker.scss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Replace 'link' with 'link_inline' - AnalyticsToast.tsx

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2022-06-29 22:37:34 +00:00
Šimon Brandner 6574c5c3e2
Fix `CallView` crash (#8735) 2022-06-01 17:14:43 +02:00
Šimon Brandner c79596cfe6
Add a way to maximize/pin widget from the PiP view (#7672) 2022-05-05 10:57:10 +02:00
Šimon Brandner a5b795c934
Improve UI/UX in calls (#7791) 2022-05-04 17:16:38 +02:00
Travis Ralston 997d6d40bf Step 1: Remove all usage of `@replaceableComponent` 2022-03-28 14:02:31 -06:00
Šimon Brandner 93a9af7b3a
Keybinding code unification #3 (#7850) 2022-02-23 09:12:04 +00:00
Šimon Brandner 73899bb2e3
Switch to IPC channel for `getDesktopCapturerSources` (#7782) 2022-02-11 10:41:15 +00:00
Šimon Brandner b5d11336f7
Add ability to switch between voice & video in calls (#7155) 2022-01-24 12:48:35 +00:00
Michael Telatynski 44d7d74949
Call view accessibility fixes (#7439) 2022-01-04 08:57:46 +00:00
Aaron Raimist 7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +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 a156ba8be9
Fix video call container size inconsistencies (#7170) 2021-11-23 11:13:51 +01:00
Aaron Raimist f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Šimon Brandner 64c3f0a9b1
Fix fullscreening a call while connecting (#7019) 2021-10-25 11:40:44 +01:00
Šimon Brandner 75c7daa2c9
Handle no selected screen when screen-sharing (#7018) 2021-10-25 10:44:37 +01:00
Aaron Raimist bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Šimon Brandner a2977f5b17
Update muting to work with the js-sdk call upgrade changes
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-18 12:40:32 +02:00
Šimon Brandner 0defc4b14b
Don't show screensharing dialog on web
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-11 09:03:04 +02:00
Šimon Brandner d0b95b7d3d
Don't use a callback in setScreensharingEnabled()
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-01 18:38:09 +02:00
Šimon Brandner a6cde3256e
Properly handle call change
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-15 12:56:29 +02:00
Šimon Brandner 012f2c9e7e
This doesn't need to be here as it was moved into CallViewButtons
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-11 19:16:55 +02:00
David Baker abba7983ce
Merge pull request #6578 from SimonBrandner/task/export-call-view-buttons
Move Call View Buttons into a separate component
2021-08-11 18:09:48 +01:00
Šimon Brandner 96b651e326
Fade buttons after componentDidMount
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-08 11:26:57 +02:00
Šimon Brandner d0e76a0ecd
Use CallViewButtons
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-08 11:20:17 +02:00
Šimon Brandner 5c90736213
Export components by default
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-07 08:54:40 +02:00
Dariusz Niemczyk 7513f5ba7c
Fix types 2021-08-06 16:43:20 +02:00
Dariusz Niemczyk cba87f433b
Fix merge conflicts 2021-08-06 16:31:04 +02:00
Dariusz Niemczyk 3b002c4c1f
Merge remote-tracking branch 'origin/develop' into jitsi-picture-in-picture
* origin/develop: (100 commits)
  Add comments to isRegionalIndicator
  Stop voice messages that are playing when starting a recording
  Properly set style attribute on shared usercontent iframe
  Fix in-call context menus when in PiP mode (#6552)
  Extract tooltipYOffset to a const
  Increase yOffset by 4px away
  i18n
  Post-merge conflict resolution and improve alignment of tooltips
  Fix image & blurhash info when skipping thumbnail due to thresholds
  Skip sending a thumbnail if it is not a sufficient saving over the original
  Null guard space inviter to prevent the app exploding
  Remove seams from pin icon
  Appease Jest
  Fix worklet reference for new webpack pipeline
  i18n
  Update copy
  Fix wrong cursor being used in PiP
  Fix voice feed cut-off
  Use flex-start as it has more universal support
  Wrap cases in {}
  ...
2021-08-06 13:25:14 +02:00
Travis Ralston 3b73c17465
Merge pull request #6181 from pvagner/voip-a11y
Make call control buttons accessible to screen reader users
2021-08-05 13:36:17 -06:00
Andrew Morgan df888a1886
Fix in-call context menus when in PiP mode (#6552)
Mounting them as children when in PiP mode doesn't work. Condition mounting
the context menus as children of the current component based on whether PiP
mode is active.
2021-08-05 16:33:22 +01:00
Michael Telatynski b860acca80 Extract tooltipYOffset to a const 2021-08-05 14:43:44 +01:00
Michael Telatynski e1b62ae38b Increase yOffset by 4px away 2021-08-05 14:20:31 +01:00
Michael Telatynski a8b050a385 Post-merge conflict resolution and improve alignment of tooltips 2021-08-05 13:37:23 +01:00
Dariusz Niemczyk 389d0b2d4a
Another fix for indentation 2021-08-03 15:21:14 +02:00
Dariusz Niemczyk a0b0a91d08
Fix ident 2021-08-03 14:03:35 +02:00
Dariusz Niemczyk 29e9db44a3
Another fix to the TS types 2021-08-03 13:30:14 +02:00
Dariusz Niemczyk 36efa448b2
Fix TS types 2021-08-03 13:24:41 +02:00
Dariusz Niemczyk ae411b9401
Refactor Call components into smaller pieces 2021-08-03 12:58:09 +02:00
Andrew Morgan a7c15b2ac0
Fix DialPad and Call Menu buttons not working when a call is fullscreened. (#6496)
This PR:
* Moves the dialpad and hold/transfer menu buttons into the part of the DOM that's included when a call is fullscreen'd.
* Tweaks `ContextMenu` to allow menu content to be mount as a child of the current component, rather than at the root of the DOM (which was not included in the full-screen'd content).

<!-- Please read https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md before submitting your pull request -->

<!-- Include a Sign-Off as described in https://github.com/matrix-org/matrix-js-sdk/blob/develop/CONTRIBUTING.md#sign-off -->

`Signed-off-by: Andrew Morgan <andrewm@element.io>`
2021-07-29 17:51:27 +01:00
Šimon Brandner 6f77d3bbab
Correctly hide the dialpad
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-27 17:52:13 +02:00
Šimon Brandner 3ef20174f3
Fix issues with the controls disappearing
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 18:11:29 +02:00
Šimon Brandner 1754602613
Increase CONTROLS_HIDE_DELAY
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 17:30:59 +02:00
Šimon Brandner 03a8308ae8
Fix call type icon
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 17:24:18 +02:00
Šimon Brandner a8d27746b4
Show dialpad only when PSTN supported
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 17:07:18 +02:00
Šimon Brandner 50c27ebed7
Add myself to the license header as I need to re-run the CI
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 08:16:55 +02:00
Šimon Brandner b762303102
Merge remote-tracking branch 'upstream/develop' into fix/12652/screen-share
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-25 08:10:01 +02:00
Michael Telatynski f5630acea7 Adhere to better eslint rules 2021-07-23 10:35:10 +01:00
Šimon Brandner f4287fc3ab
Simplifie sidebar showing logic
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-22 11:16:16 +02:00