Commit Graph

166 Commits (d8acdd1750b78526887229b91227d25f1a0bef39)

Author SHA1 Message Date
Robin 6152c1762d
Prevent call durations from breaking onto multiple lines (#9944) 2023-01-20 08:45:55 -05:00
Robin da30b3069c
Tweak call lobby buttons to more closely match designs (#9943) 2023-01-20 08:45:27 -05:00
Robin cb1af0d3de
Redesign the picture-in-picture window (#9800)
* Remove unnecessary PipContainer component

* Redesign the picture-in-picture window

* Add a hover effect to the controls

* Clarify that WidgetPip has call-specific behavior
2023-01-04 04:44:38 +00:00
Michael Weimann ecb3e7a197
Use compound Mic icons everywhere (#9849) 2023-01-02 13:36:58 +00:00
Michael Weimann c257e137aa
Allow call and broadcast PiP at the same time (#9829) 2022-12-28 13:43:44 +00:00
Robin 8660293424
Make call tiles look less broken in the right panel (#9808) 2022-12-21 18:59:02 +00:00
Michael Weimann 526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Robin ad090ac4cd
Fix the background color flashing when joining a call (#9640)
Because the persisted widget element takes an extra layout tick to be moved into place, you would briefly see the background color of the call view flash into view when joining a call. Giving the widget tile a background fixes this.
2022-11-28 23:23:11 -05:00
Robin 06dbea6255
New group call experience: Room header and PiP designs (#9351)
* Update our cancel icon

The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.

I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.

* Don't squish bottom/top-aligned tooltips near the edge of the screen

* Close the timeline panel when returning to the fullscreen timeline view

* Add layout switching capabilities to ElementCall

* Bring the room header in line with the group call designs

* Bring the PiP header in line with the group call designs

* Fix lints

* Clarify tooltip CSS calculations

* Test PipView

* Expand RoomHeader test coverage

* Test PipView more
2022-10-07 02:27:28 +00:00
Robin ff59f68a9f
New group call experience: Call tiles (#9332)
* Add call tiles

* Factor CallDuration out into a reusable component

* Correct the separator character in LiveContentSummary
2022-09-30 19:26:08 +00:00
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
Germain 72c24af5c0
Disallow invalid inline style comments in stylesheets (#9099) 2022-07-27 14:39:29 +01:00
Michael Telatynski 01f4bb8c78
Rename PostCSS files to `.pcss` (#9013)
* Rename PostCSS files to `.pcss`

* Make Stylelint happy

* Delint

* Rename new files too

* delint

* Fix bad comment placement
2022-07-15 14:53:23 +01: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
Suguru Hirahara ed2c79051e
Fix dropdown button size for picture-in-picture CallView (#8680) 2022-05-24 17:49:04 +02:00
Suguru Hirahara e980c146ff
Create a mixin of cancel button (#8526) 2022-05-07 21:08:00 +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
Šimon Brandner 3c36a7f704
Add ability to change audio and video devices during a call (#7173) 2022-05-04 16:41:56 +02:00
Robin 6e86a14cc9
Show a lobby screen in video rooms (#8287)
* Show a lobby screen in video rooms

* Add connecting state

* Test VideoRoomView

* Test VideoLobby

* Get the local video stream with useAsyncMemo

* Clean up code review nits

* Explicitly state what !important is overriding

* Use spacing variables

* Wait for video channel messaging

* Update join button copy

* Show frame on both the lobby and widget

* Force dark theme for video lobby

* Wait for the widget to be ready

* Make VideoChannelStore constructor private

* Allow video lobby to shrink

* Add invite button to video room header

* Show connected members on lobby screen

* Make avatars in video lobby clickable

* Increase video channel store timeout

* Fix Jitsi Meet getting wedged on startup in Chrome and Safari

* Revert "Fix Jitsi Meet getting wedged on startup in Chrome and Safari"

This reverts commit 9f77b8c227c1a5bffa5d91b0c48bf3bbc44d4cec.

* Disable device buttons while connecting

* Factor RoomFacePile into a separate file

* Fix i18n lint

* Fix switching video channels while connected

* Properly limit number of connected members in face pile

* Fix CSS lint
2022-04-20 11:03:33 -04:00
Robin 1f64835fab
Update video rooms to new design specs (#8207)
* Remove radio component

* "Voice room" → "video room"

* Remove interactivity from video room tiles

* Update connection state when joining via widget

* Simplify room header buttons for video rooms

* Split out video room creation into a separate menu option

* Simplify room options for video rooms

* Update video room tile layout

* Tell the Jitsi widget whether it's a video channel

* Update tests

* "Voice" → "video" in more places

* Fix tests

* Re-add frame to immersive Jitsi widgets

* Comment ack

* Make updateDevices more readable

* Type FacePile
2022-04-01 14:36:10 +00: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
Šimon Brandner b5d11336f7
Add ability to switch between voice & video in calls (#7155) 2022-01-24 12:48:35 +00:00
Kerry 50de35cd1a
truncate room name on pip header (#7538)
Signed-off-by: Kerry Archibald <kerrya@element.io>
2022-01-14 10:37:30 +00:00
Timo ef95644e23
Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided (#7450)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-13 12:10:41 +01:00
Michael Telatynski 44d7d74949
Call view accessibility fixes (#7439) 2022-01-04 08:57:46 +00:00
Timo 9bcb82d6dc
Add CSS variable to make the UI gaps consistent and fix the resize handle position (#7234)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-12-06 13:10:52 +01:00
Timo a156ba8be9
Fix video call container size inconsistencies (#7170) 2021-11-23 11:13:51 +01:00
Šimon Brandner 816136de97
Make double-clicking the PiP take you to the call room (#7142) 2021-11-17 12:49:43 +00:00
Šimon Brandner bafeb38472
Improve VoIP UI/UX (#7048)
* Remove speaking indicator

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

* Remove mic icon for primary feed

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

* Remove caching as it doesn't seem to be neccessary

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

* Add call view buttons colors

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

* Refactor button code

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

* Update call view button icons

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

* i18n

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

* Add dialpad icon

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

* Fix button sizing in PiP

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

* Fix secondary voice video feed color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-15 17:24:11 +00:00
Šimon Brandner 9abb2f5ff4
Color cleanup 8 (#7108)
* $accent-color -> $accent

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

* Remove $accent-bg-color

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

* $notice-primary-color -> $alert

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

* Remove $notice-primary-bg-color

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

* Remove $accent-50pct

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

* $warning-color -> $alert

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

* Remove $accent-darker

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

* Remove $orange-warning-color

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

* Remove $warning-bg-color

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

* Remove $info-bg-color

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-11-11 13:37:29 +00:00
Šimon Brandner 5c66bd6c7b
Add `max-empty-lines` and `no-eol-whitespace` to stylelint (#7034) 2021-10-26 08:23:23 +01:00
Travis Ralston dc32df1ba5
Merge pull request #6639 from SimonBrandner/feature/voice-activity
Add active speaker indicators
2021-08-25 09:16:37 -06:00
Šimon Brandner b6ea75b681
Merge remote-tracking branch 'upstream/develop' into task/colors-2
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-24 08:57:12 +02:00
Šimon Brandner 1c93e18c0a
Move CallPreview CSS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 15:22:21 +02:00
Šimon Brandner d29a18b182
Fix some sizing issue on video feeds
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 10:10:05 +02:00
Šimon Brandner cb7e44f4f5
Always show a transparent border to avoid icon jumps
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-22 09:08:33 +02:00
Šimon Brandner abab31c33b
Add a speaking indicator
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-19 11:42:43 +02:00
Šimon Brandner 0ee59a17de
Fix PiP of held calls
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-13 18:42:55 +02:00
Šimon Brandner 8e610e5947
$dialpad-button-bg-color -> $quinary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:19:31 +02:00
Šimon Brandner 10bc85724a
$secondary-fg-color -> $secondary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:19:26 +02:00
Šimon Brandner e5fd19c332
$primary-fg-color -> $primary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:18:18 +02:00
Šimon Brandner 9ecd3b03f1
$quaternary-fg-color -> $quaternary-content
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 17:17:37 +02:00
Šimon Brandner 7ce88c9966
$toast-bg-color -> $system
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-12 16:20:30 +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 0cad9ed14a
Add _CallViewButtons.scss
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-08-08 11:15:18 +02:00
Dariusz Niemczyk 4328083ea7
Rename css 2021-08-06 16:31:04 +02:00
Dariusz Niemczyk 35386078a4
Post-merge changes 2021-08-06 13:25:27 +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