Commit Graph
100 Commits
Author SHA1 Message Date
Robin Townsend aa628cc63c Adopt the Compound color system
As a first step towards adopting the Compound design system and the new Element Call designs, this pulls in Compound's color tokens and applies them to all existing components. I've tried to choose tokens based on the semantics of where they're used, but in some cases, where the new and old design systems differ in semantics, it was necessary to choose tokens based on their resulting color. These hacks can be removed as we implement more of the new designs.

There were a set of environment variables that we used for custom themes, but Compound has way too many design tokens for that approach to still be a good idea, so I decided to replace them all with a single environment variable that just lets you write arbitrary custom CSS.
2023-08-28 17:14:40 -04:00
RobinandGitHub 4e0cb0a71f Merge pull request #1339 from robintown/widget-full-mesh
Disable full mesh in widget mode
2023-08-09 18:05:16 -04:00
Robin Townsend 15348fb43c Disable full mesh in widget mode
We disabled full mesh on the client that's used in SPA mode, but forgot to do the same for the widget mode client.
2023-08-09 18:02:05 -04:00
RobinandGitHub 96e13e12dd Merge pull request #1338 from robintown/camera-mute-widget
Fix joining with muted video in widget mode
2023-08-09 17:53:09 -04:00
Robin Townsend 7b85b4f051 Fix joining with muted video in widget mode
This typo was making it impossible to join a call in Element Call's widget mode with your camera off.
2023-08-09 17:36:19 -04:00
RobinandGitHub 919c265ab9 Merge pull request #1336 from robintown/fix-log-out
Fix logging out getting the app stuck on a 'loading' screen
2023-08-09 15:25:49 -04:00
Robin Townsend b96b3dd5ef Fix logging out getting the app stuck on a 'loading' screen 2023-08-09 12:00:13 -04:00
RobinandGitHub ec5b245610 Merge pull request #1335 from vector-im/fheese/workflow_create_latest_ci_unixtime
fix typo -> {{}} needs to be prefixed by $
2023-08-09 11:46:47 -04:00
RobinandGitHub 5408306003 Merge pull request #1334 from vector-im/fheese/workflow_create_latest_ci_unixtime
Addressing Deprecating save-state and set-output commands
2023-08-09 10:59:04 -04:00
RobinandGitHub 9e1cbd44e0 Merge pull request #1333 from vector-im/fheese/workflow_create_latest_ci_unixtime
Add a build step to create a unix timestamp. Use that timestamp to cr…
2023-08-09 10:35:13 -04:00
RobinandGitHub 44dd860cb8 Merge pull request #1311 from robintown/error-view-rageshake
Add a rageshake button to the generic error view
2023-08-09 09:31:58 -04:00
RobinandGitHub 6c70a533e9 Merge pull request #1326 from vector-im/publish-error
Fix camera light regression
2023-08-04 13:31:56 -04:00
Robin Townsend e04d3f7c8d Fix camera light regression
By avoiding a method call that was accidentally causing LiveKit to try to publish tracks before the SFU connection was established, resulting in an unclosed stream.
2023-08-04 13:15:24 -04:00
RobinandGitHub aa58adad52 Merge pull request #1323 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-08-04 11:49:29 -04:00
RobinandGitHub 394f8f3ce5 Merge pull request #1322 from vector-im/media-devices-context
Fix multiple issues with device settings
2023-08-03 11:12:49 -04:00
Robin Townsend 99ce5064f5 Fix multiple issues with device settings
To track media devices, we were previously relying on a combination of LiveKit's useMediaDeviceSelect hook, and an object called UserChoices. Device settings should be accessible from outside a call, but the latter hook should only be used with a room or set of preview tracks, so it couldn't be raised to the app's top level. I also felt that the UserChoices code was hard to follow due to lack of clear ownership of the object.

To bring clarity to media device handling and allow device settings to be shown outside a call, I refactored these things into a single MediaDevicesContext which is instantiated at the top level of the app. Then, I had to manually sync LiveKit's device state with whatever is present in the context. This refactoring ended up fixing a couple other bugs with device handling along the way.
2023-08-03 10:17:00 -04:00
RobinandGitHub 14e0695f96 Merge pull request #1319 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-08-02 16:50:34 -04:00
RobinandGitHub 98d27759cc Merge pull request #1312 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-31 18:48:47 -04:00
Robin Townsend 8f7e6d70d3 Add a rageshake button to the generic error view 2023-07-26 11:20:18 -04:00
RobinandGitHub 9017de3d8b Merge pull request #1304 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-26 10:59:16 -04:00
RobinandGitHub 075dfaf372 Merge pull request #1303 from robintown/copy-alias
Make the copy link buttons prefer aliases to room IDs
2023-07-26 10:55:09 -04:00
Robin Townsend 44786331c0 Use the more correct name 'roomIdOrAlias' 2023-07-26 10:52:07 -04:00
Robin Townsend faa7b32589 Merge branch 'livekit' into copy-alias 2023-07-26 10:50:29 -04:00
Robin Townsend 1dd3e70061 Make the copy link buttons prefer aliases to room IDs 2023-07-24 17:06:09 -04:00
RobinandGitHub 275912ba43 Merge pull request #1302 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-24 16:02:41 -04:00
RobinandGitHub 40fedd97d9 Merge pull request #1294 from robintown/client-loading
Restore the client 'loading' state
2023-07-24 10:46:39 -04:00
RobinandGitHub 4f2a8cb75a Merge pull request #1295 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-24 10:45:25 -04:00
Robin Townsend 86cc865946 Merge branch 'livekit' into client-loading 2023-07-24 10:44:18 -04:00
RobinandGitHub 4cc2d87c90 Merge pull request #1296 from SnoutBug/patch-1
Update README.md
2023-07-23 09:32:47 -04:00
Robin Townsend c34eac03e5 Restore the client 'loading' state
https://github.com/vector-im/element-call/pull/1173 regressed the client loading sequence, such that the app would pretend that you were signed out when it was really just loading your saved session. This makes the proper loading state appear again.
2023-07-21 15:23:03 -04:00
RobinandGitHub 6ac14adc02 Merge pull request #1287 from robintown/wake-lock
Stop devices from automatically sleeping
2023-07-21 13:07:29 -04:00
Robin Townsend 00c81ad85b Add comments 2023-07-21 12:12:44 -04:00
Robin Townsend 96dc0b6638 Fix the build? 2023-07-21 11:58:18 -04:00
Robin Townsend c0eeb035c8 Stop devices from automatically sleeping
A TypeScript upgrade was necessary to bring in the types for the wake lock API.
2023-07-21 00:52:43 -04:00
RobinandGitHub 0d89f497aa Merge pull request #1264 from robintown/settings-tab-order
Put the settings tabs back in the right order
2023-07-21 00:40:26 -04:00
Robin Townsend 8903930d56 Respond to review feedback 2023-07-21 00:00:04 -04:00
Robin Townsend 922d66d66b Merge branch 'livekit' into settings-tab-order 2023-07-20 23:54:47 -04:00
RobinandGitHub b2be3575f2 Merge pull request #1265 from robintown/avatar-setting
Fix avatar field in profile settings being hidden
2023-07-15 20:43:40 -04:00
RobinandGitHub 04d4d9af75 Merge pull request #1261 from robintown/fix-registration
Fix registration not logging you into the new account
2023-07-15 20:42:54 -04:00
Robin Townsend 2d3d58cdc7 Fix avatar field in profile settings being hidden
It was being hidden when you didn't yet have an avatar set, which made it impossible to ever set one.
2023-07-14 14:48:50 -04:00
Robin Townsend 72eca769a4 Put the settings tabs back in the right order 2023-07-14 14:08:42 -04:00
Robin Townsend 3c30a5812b Fix registration not logging you into the new account 2023-07-14 12:41:21 -04:00
RobinandGitHub 8cee8c8779 Merge pull request #1252 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-13 11:11:47 -04:00
RobinandGitHub 89c326f0bb Merge pull request #1240 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-12 11:51:14 -04:00
RobinandGitHub df04dc6065 Merge pull request #1206 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-07 13:33:24 -04:00
RobinandGitHub 2eb548de9f Merge pull request #1192 from robintown/expand-collapse-inverse
Make the expand and collapse interactions inverses of one another
2023-07-07 09:36:25 -04:00
RobinandGitHub 44ce140f54 Merge pull request #1197 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-06 11:20:17 -04:00
RobinandGitHub e481a34383 Merge pull request #1191 from robintown/better-double-click
Improve the double click detection
2023-07-06 10:35:18 -04:00
RobinandGitHub 77c698f8ed Merge pull request #1185 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-06 01:03:59 -04:00
Robin Townsend 3ac98c8865 Make the expand and collapse interactions inverses of one another
For the most part, at least. If the edge cases where they differ still feel weird, I can iterate on this further.

The diff is unfortunately a bit impenetrable, because I had to change both the fillGaps and cycleTileSize core algorithms used by the big grid layout. But: the main change of significance is the addition of a function vacateArea, which clears out an area within the grid in a specific way that mirrors the motion performed by fillGaps.
2023-07-06 00:59:14 -04:00
Robin Townsend 1c7110e4c9 Improve the double click detection
So that it doesn't cause unnecessary renders, and interprets a series of three clicks as a double-click followed by a single click, rather than two overlapping double-clicks. (That behavior felt odd to me during testing of NewVideoGrid, which is why I picked up this small change.)
2023-07-06 00:40:15 -04:00
RobinandGitHub c3c321a7c4 Merge pull request #1170 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-07-04 13:37:36 -04:00
RobinandGitHub 238c93a242 Merge pull request #1174 from robintown/auto-jsx
Fix big grid crashing due to missing React import
2023-07-02 10:19:32 -04:00
Robin Townsend 9704033dc8 Fix tests 2023-06-30 18:46:10 -04:00
Robin Townsend 17450b4531 Fix big grid crashing due to missing React import
by fixing the cause rather than the symptom: this upgrades the code to use the new, recommended JSX transform mode of React 17+, which no longer requires you to import React manually just to write JSX.
2023-06-30 18:21:18 -04:00
RobinandGitHub 514cebc074 Merge pull request #1164 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-06-28 12:34:52 -04:00
RobinandGitHub fc4ef88c75 Merge pull request #1161 from robintown/layouts
Make NewVideoGrid support arbitrary layout systems
2023-06-28 11:02:15 -04:00
Robin Townsend 1c6ef97457 Improve typing around layouts and grid components 2023-06-28 10:59:36 -04:00
RobinandGitHub 83384e290e Merge pull request #1162 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-06-27 23:05:28 -04:00
Robin Townsend cc35f243f2 Make NewVideoGrid support arbitrary layout systems
In preparation for adding layouts other than big grid to the NewVideoGrid component, I've abstracted the grid layout system into an interface called Layout. For now, the only implementation of this interface is BigGrid, but this will allow us to easily plug in Spotlight, SplitGrid, and OneOnOne layout systems so we can get rid of the old VideoGrid component and have One Grid to Rule Them All™.

Please do shout if any of this seems obtuse or underdocumented, because I'm not super happy with how approachable the NewVideoGrid code looks right now…

Incidentally, this refactoring made it way easier to save the state of the grid while in fullscreen / another layout, so I went ahead and did that.
2023-06-27 14:20:45 -04:00
RobinandGitHub 8bd4544841 Merge pull request #1148 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-06-27 13:35:45 -04:00
RobinandGitHub 8250526231 Merge pull request #1147 from robintown/build-full-mesh
Run the build workflow on the full mesh branch, too
2023-06-27 09:22:48 -04:00
RobinandGitHub e625894ae9 Merge pull request #1146 from robintown/fullscreen-and-pip
Bring back fullscreen and picture-in-picture modes
2023-06-27 09:22:19 -04:00
Robin Townsend 27668980d7 Run the build workflow on the full mesh branch, too
Otherwise CD on the full mesh branch never happens
2023-06-26 14:20:35 -04:00
Robin Townsend 276684c103 Bring back fullscreen and picture-in-picture modes
We're now using LiveKit's magic RoomAudioRenderer component to make sure everyone's audio is rendered regardless of whether they have a tile in the DOM.
2023-06-26 13:48:41 -04:00
RobinandGitHub 41456505e0 Merge pull request #1145 from RiotTranslateBot/weblate-element-call-element-call
Translations update from Weblate
2023-06-26 12:13:03 -04:00
RobinandGitHub 6a0503c05e Merge pull request #1140 from robintown/room-avatar
Show the room avatar rather than the user avatar in the header
2023-06-24 12:41:16 -04:00
Robin Townsend 25eb56418d Show the room avatar rather than the user avatar in the header
It's supposed to be the room avatar; this was a regression introduced during the LiveKit hack week.
2023-06-23 16:20:15 -04:00
RobinandGitHub f08facbff3 Merge pull request #1135 from robintown/embedded-device-selection
Fix device selection never completing in widget mode
2023-06-23 15:02:30 -04:00
RobinandGitHub 948cc8f52f Merge pull request #1136 from robintown/call-backend
Note the call backend in rageshake and analytics data
2023-06-23 14:58:52 -04:00
Robin Townsend c181d250ac Note the call backend in rageshake and analytics data 2023-06-23 14:47:32 -04:00
Robin Townsend 45915ed67e Fix device selection never completing in widget mode
By reinstating some of the code from the full mesh branch that was there to handle this
2023-06-23 14:17:51 -04:00
Robin Townsend 413a311159 Empty commit to rerun CD with new fixes 2023-06-20 12:22:07 -04:00
Robin Townsend 7bb45adbe1 Fix lint 2023-06-20 12:13:27 -04:00
Robin Townsend 0e66e21dae Empty commit to trigger initial CD run 2023-06-20 12:09:25 -04:00
Robin Townsend 510d55d88a Fix local tile showing as unmuted when you join muted 2023-06-18 14:28:28 -04:00
Robin Townsend eb500ed88e Skip an unnecessary render when calculating display names 2023-06-18 14:28:07 -04:00
Robin Townsend a2c40561db Fix a likely bug with audio inputs and outputs getting mixed up? 2023-06-18 14:26:50 -04:00
Robin Townsend fc307d0aba Don't show ghost tiles while connecting 2023-06-18 14:26:27 -04:00
Robin Townsend 65f390e2e5 Merge branch 'grid-interactions' into livekit-experiment 2023-06-18 11:45:43 -04:00
Robin Townsend cd7ab00d80 Don't try to promote the same speaker multiple times 2023-06-18 11:45:01 -04:00
Robin Townsend ae5b1a367d Merge branch 'grid-interactions' into livekit-experiment 2023-06-18 11:36:59 -04:00
Robin Townsend ddeb36db47 Promote speakers to the first page of the grid 2023-06-18 11:35:13 -04:00
Robin Townsend c3c26e235b Merge branch 'grid-interactions' into livekit-experiment 2023-06-18 01:13:45 -04:00
Robin Townsend 4e5a75074a Fix tiles not collapsing toward their center 2023-06-18 01:01:24 -04:00
Robin Townsend 391ba5196c Make screenshares appear near the presenter's tile and be larger 2023-06-18 00:47:37 -04:00
Robin Townsend 3e56d0a656 Make it possible again to drag a tile into the top left corner 2023-06-18 00:28:08 -04:00
Robin Townsend d1e7d963a3 Merge branch 'grid-interactions' into livekit-experiment 2023-06-17 22:32:19 -04:00
Robin Townsend afbcea7b66 Allow the grid to resize with the window width 2023-06-17 22:31:07 -04:00
Robin Townsend 4f582c6ad7 Don't change tile size when dragging 2023-06-17 22:31:07 -04:00
Robin Townsend 8b8d6fd0e0 Push large tiles upwards back into the grid 2023-06-17 22:31:01 -04:00
Robin Townsend 7f5ec069a5 Merge branch 'main' into livekit-experiment 2023-06-16 12:57:06 -04:00
RobinandGitHub 4fd1264d12 Merge pull request #1123 from robintown/connection-indicators
Hide connection quality indicators behind a developer setting
2023-06-16 12:56:36 -04:00
RobinandGitHub cabad628b4 Merge pull request #1121 from robintown/grid-performance
Improve the performance of dragging tiles in the large grid
2023-06-16 12:55:15 -04:00
Robin Townsend a96d70eefb Hide connection quality indicators behind a developer setting
Calls are an environment with high cognitive load, so it's important that we keep extra UI elements like these to a minimum and stick to what's been explicitly designed. I assume that this was here as a developer feature to diagnose reliability of the back end components, which is perfectly fine, so I've kept it behind a developer setting rather than fully removing it.
2023-06-16 10:59:57 -04:00
RobinandGitHub 4342f4b027 Merge pull request #1122 from robintown/speaking-fixes
Fix speaking indicators showing up when they shouldn't
2023-06-16 10:42:50 -04:00
Robin Townsend 1b3539e873 Fix speaking indicators showing up when they shouldn't
This fixes two edge cases:

- Screenshares should never have a speaking indicator
- Speaking indicators should be hidden in 1:1 calls
2023-06-16 10:35:29 -04:00
Robin Townsend f4f454f58e Improve the performance of dragging tiles in the large grid
By only updating the one spring of the tile that's being interacted with
2023-06-16 10:20:24 -04:00
RobinandGitHub 89768de5e0 Merge pull request #1114 from robintown/screenshare-tiles
Fix tiles having the wrong states during screensharing
2023-06-14 12:01:23 -04:00
RobinandGitHub 24eedc7b9a Merge pull request #1113 from robintown/fix-spotlight
Fix spotlight layout
2023-06-14 11:58:29 -04:00