Commit Graph
100 Commits
Author SHA1 Message Date
Robin bcc06d86ff Merge pull request #2417 from robintown/one-on-one-layout
New one-on-one layout
2024-07-18 11:09:11 -04:00
Robin 7526826b0c Improve aspect ratios on mobile 2024-07-18 11:01:21 -04:00
Robin b4e0df75c0 Merge branch 'new-call-layouts' into one-on-one-layout 2024-07-18 10:28:17 -04:00
Robin d561a41666 Merge pull request #2416 from robintown/grid-spotlight-speaker
Show speaker in the spotlight in large grids
2024-07-18 10:17:31 -04:00
Robin e04affe93e Justify the use of a participant count threshold 2024-07-18 10:00:26 -04:00
Robin 24870deead Merge pull request #2382 from robintown/spotlight-layout
New spotlight layout
2024-07-18 08:50:31 -04:00
Robin 7fcd7125c1 Merge branch 'new-call-layouts' into spotlight-layout 2024-07-18 08:48:50 -04:00
Robin 1efa594430 Use Array.some where it's appropriate 2024-07-17 16:06:48 -04:00
Robin caea4b250e Merge pull request #2381 from robintown/observable-hooks
Replace react-rxjs with observable-hooks
2024-07-17 15:56:31 -04:00
Robin 0a8c6c1454 Merge branch 'new-call-layouts' into observable-hooks 2024-07-17 15:55:50 -04:00
Robin d4a2617f7b Merge pull request #2380 from robintown/pin-always-show
Add toggle to always show yourself
2024-07-17 15:45:29 -04:00
Robin e05c6f1bdf Merge pull request #2369 from robintown/duplicate-tiles
Add a developer option to duplicate tiles
2024-07-17 15:41:53 -04:00
Robin 2bc56dbff2 Use fewer ML-style variable names 2024-07-17 15:40:02 -04:00
Robin a59875dab5 Explain what each sorting bin means 2024-07-17 15:37:41 -04:00
Robin 8c21e8f277 Use a more descriptive string 2024-07-17 14:55:45 -04:00
Robin a16f235277 Fix crash in spotlight mode while connecting
Because we were hiding even the local participant during initial connection, there would be no participants, and therefore nothing to put in the spotlight. The designs don't really tell us what the connecting state should look like, so I've taken the liberty of restoring it to its former glory of showing the local participant immediately.
2024-07-12 15:49:45 -04:00
Robin 45c89a2298 Delete the legacy grid system 2024-07-12 15:49:43 -04:00
Robin 7979493371 Implement the new one-on-one layout 2024-07-12 15:47:56 -04:00
Robin e0b10d89b5 Add model for one-on-one layout 2024-07-12 15:47:56 -04:00
Robin 183d2d9050 Show speaker in the spotlight in large grids 2024-07-12 15:47:35 -04:00
Robin 12b719da95 Make layout reactivity a little more fine-grained 2024-07-12 15:47:00 -04:00
Robin dfda7539d6 Only switch to spotlight for remote screen shares 2024-07-12 15:47:00 -04:00
Robin 7f40ce8dde Fix advance buttons showing up for the spotlight speaker 2024-07-12 15:47:00 -04:00
Robin ec1b020d4e Add indicators to spotlight tile and make spotlight layout responsive 2024-07-12 15:47:00 -04:00
Robin 54c22f4ab2 Clean up spotlight tile code 2024-07-12 15:47:00 -04:00
Robin ffbbc74a96 Implement the new spotlight layout 2024-07-12 15:47:00 -04:00
Robin 34c45cb5e2 Get the right grid offset even when offsetParent is a layout element 2024-07-12 15:47:00 -04:00
Robin af0bd795b5 Replace react-rxjs with observable-hooks
react-rxjs is the library we've been using to connect our React components to view models and consume observables. However, after spending some time with react-rxjs, I feel that it's a very heavy-handed solution. It requires us to sprinkle <Subscribe /> and <RemoveSubscribe /> components all throughout the code, and makes React go through an extra render cycle whenever we mount a component that binds to a view model. What I really want is a lightweight React hook that just gets the current value out of a plain observable, without any extra setup. Luckily the observable-hooks library with its useObservableEagerState hook seems to do just that—and it's more actively maintained, too!
2024-07-12 15:46:33 -04:00
Robin 0d485ef97f Use always show flag in importance ordering 2024-07-12 15:43:24 -04:00
Robin 5647619b36 Add always show toggle to the UI 2024-07-12 15:43:24 -04:00
Robin 8a414012a0 Add always show flag to view model 2024-07-12 15:43:24 -04:00
Robin e33fbd77d1 Split local and remote user media into different classes 2024-07-12 15:43:24 -04:00
Robin fdc6d4a1b6 Add a developer option to duplicate tiles
This is useful for testing how the UI behaves with different numbers of participants.
2024-07-12 14:55:29 -04:00
Robin a534356dd9 Merge pull request #2368 from robintown/settings-refactor
Refactor settings to use observables
2024-07-12 14:50:46 -04:00
Robin f847692953 Merge pull request #2325 from robintown/unified-grid
Unified grid layout
2024-07-12 14:50:35 -04:00
Robin 599d6fd007 Address review feedback 2024-07-12 14:15:27 -04:00
Robin 14fc1481f3 Address some review feedback 2024-07-12 14:01:32 -04:00
Robin 41083c0f9e Refactor settings to use observables
Also removing some unused settings along the way.
2024-07-03 15:29:32 -04:00
Robin 20602c122b Implement the new unified grid layout
Here I've implemented an MVP for the new unified grid layout, which scales smoothly up to arbitrarily many participants. It doesn't yet have a special 1:1 layout, so in spotlight mode and 1:1s, we will still fall back to the legacy grid systems.

Things that happened along the way:
- The part of VideoTile that is common to both spotlight and grid tiles, I refactored into MediaView
- VideoTile renamed to GridTile
- Added SpotlightTile for the new, glassy spotlight designs
- NewVideoGrid renamed to Grid, and refactored to be even more generic
- I extracted the media name logic into a custom React hook
- Deleted the BigGrid experiment
2024-07-03 15:29:08 -04:00
Robin 5ad2a27a92 Merge pull request #2462 from element-hq/renovate/github-actions
Update docker/build-push-action action to v6.3.0
2024-07-03 15:25:13 -04:00
Robin 8a6101cd14 Merge pull request #2456 from element-hq/renovate/all-minor-patch
Update all non-major dependencies
2024-06-24 10:37:18 -04:00
Robin 4db7c2bc68 Fix type errors 2024-06-24 10:31:50 -04:00
Robin 0c39398493 Merge pull request #2447 from element-hq/renovate/compound
Update dependency @vector-im/compound-design-tokens to v1.3.0
2024-06-21 10:39:03 -04:00
Robin 949145f04b Merge pull request #2446 from element-hq/renovate/major-testing-library-monorepo
Update dependency @testing-library/react to v16
2024-06-21 10:32:30 -04:00
Robin 8578dcadf2 Add missing peer dependencies 2024-06-21 10:30:39 -04:00
Robin a031c0e128 Merge pull request #2445 from element-hq/renovate/major-sentry-javascript-monorepo
Update dependency @sentry/react to v8
2024-06-21 10:25:04 -04:00
Robin 591833505f Adapt to breaking changes 2024-06-21 10:23:30 -04:00
Robin f7ad5074d8 Merge pull request #2452 from element-hq/renovate/i18next-parser-9.x
Update dependency i18next-parser to v9
2024-06-21 10:14:39 -04:00
Robin e0aef74bf5 Merge pull request #2454 from element-hq/renovate/uuid-10.x
Update dependency uuid to v10
2024-06-21 10:13:01 -04:00
Robin 255f6b1814 Merge pull request #2451 from element-hq/renovate/i18next-browser-languagedetector-8.x
Update dependency i18next-browser-languagedetector to v8
2024-06-21 10:11:59 -04:00
Robin 4c491b5363 Merge pull request #2450 from element-hq/renovate/eslint-plugin-unicorn-54.x
Update dependency eslint-plugin-unicorn to v54
2024-06-21 10:11:23 -04:00
Robin 61c808d4cf Merge pull request #2455 from element-hq/renovate/github-actions
Pin dependencies
2024-06-21 10:00:40 -04:00
Robin 13ef3183e2 Tell Renovate that we're trying to pin actions to specific tags
It thought that we were just trying to follow the latest commit on these actions, when in reality we want to follow the latest tag and pin its commit hash.
2024-06-21 09:57:48 -04:00
Robin 982181ccd4 Merge pull request #2444 from robintown/more-renovate
Refine Renovate config further
2024-06-21 09:10:16 -04:00
Robin c46549b2b6 Refine Renovate config further
By getting it to pin GitHub Actions to specific commits, which hardens our workflows, and fixing a warning about matchPackageNames
2024-06-20 16:00:52 -04:00
Robin 8fa038c61f Merge pull request #2441 from robintown/renovate-noise
Reduce noise coming from Renovate updates
2024-06-20 15:44:38 -04:00
Robin 869d9b43cb Reduce noise coming from Renovate updates
What I've tried to do here is to group most dependency updates together and put them on a weekly schedule. Some of our more sensitive dependencies such as LiveKit and Compound have been put into separate groups, so we still receive frequent updates for them.
2024-06-20 15:43:21 -04:00
Robin 974a2fe49b Merge pull request #2438 from element-hq/dependabot/npm_and_yarn/ws-8.17.1
Bump ws from 8.16.0 to 8.17.1
2024-06-20 11:00:16 -04:00
Robin 207a5f047c Merge pull request #2430 from robintown/update-js-sdk
Update matrix-js-sdk
2024-06-20 10:54:27 -04:00
Robin d3c63f9314 Update matrix-js-sdk
To pull in https://github.com/matrix-org/matrix-js-sdk/pull/4252
2024-06-20 10:52:06 -04:00
Robin f9ef037cea Merge pull request #2435 from element-hq/hughns/visibilitychange
Use correct DOM event name for visibility changes in useWakeLock
2024-06-20 10:19:05 -04:00
Robin 53d1f717c9 Merge pull request #2406 from element-hq/renovate/testing-library-monorepo
Update dependency @testing-library/react to v14.3.1
2024-06-04 12:11:35 -04:00
Robin 0a69664186 Merge pull request #2405 from element-hq/renovate/sentry-vite-plugin-2.x-lockfile
Update dependency @sentry/vite-plugin to v2.18.0
2024-06-04 12:10:26 -04:00
Robin 51a8d2b718 Merge pull request #2404 from element-hq/renovate/opentelemetry-instrumentation-user-interaction-0.x
Update dependency @opentelemetry/instrumentation-user-interaction to ^0.38.0
2024-06-04 12:00:35 -04:00
Robin 2d76a3780d Merge pull request #2402 from element-hq/renovate/vite-5.x-lockfile
Update dependency vite to v5.2.12
2024-06-04 11:59:30 -04:00
Robin 03144783ac Merge pull request #2401 from element-hq/renovate/prettier-3.x-lockfile
Update dependency prettier to v3.3.0
2024-06-04 11:59:03 -04:00
Robin b9ab2fdf1b Merge pull request #2293 from element-hq/renovate/opentelemetry-instrumentation-document-load-0.x
Update dependency @opentelemetry/instrumentation-document-load to ^0.38.0
2024-06-04 11:58:28 -04:00
Robin 183a1845bb Merge pull request #2292 from element-hq/renovate/i18next-browser-languagedetector-7.x-lockfile
Update dependency i18next-browser-languagedetector to v7.2.1
2024-06-04 11:58:08 -04:00
Robin e423fc0ace Merge pull request #2231 from element-hq/renovate/grecaptcha-3.x-lockfile
Update dependency @types/grecaptcha to v3.0.9
2024-06-04 11:57:39 -04:00
Robin 40cbe5408e Merge pull request #2403 from element-hq/renovate/react-monorepo
Update react monorepo
2024-06-04 11:56:52 -04:00
Robin bd7209cd40 Merge pull request #2250 from element-hq/renovate/typescript-eslint-monorepo
Update typescript-eslint monorepo to v7.12.0
2024-06-04 11:21:59 -04:00
Robin 70fdc68b13 Fix lints 2024-06-04 11:20:25 -04:00
Robin 1f4139ae0a Merge pull request #2271 from element-hq/renovate/lodash-4.x-lockfile
Update dependency @types/lodash to v4.17.4
2024-06-04 10:35:10 -04:00
Robin b8ad8baf9d Merge pull request #2335 from element-hq/renovate/i18next-http-backend-2.x-lockfile
Update dependency i18next-http-backend to v2.5.2
2024-06-04 10:34:44 -04:00
Robin 694048dd7f Merge pull request #2391 from element-hq/renovate/react-i18next-14.x-lockfile
Update dependency react-i18next to v14.1.2
2024-06-04 10:34:14 -04:00
Robin a5088d4ae9 Merge pull request #2392 from element-hq/renovate/vaul-0.x-lockfile
Update dependency vaul to v0.9.1
2024-06-04 10:33:45 -04:00
Robin d2bdaf7049 Merge pull request #2397 from dreamflasher/patch-1
Remove excessive footer space
2024-06-04 10:11:13 -04:00
Robin 0aeb68b445 Reduce footer space while preserving visual balance 2024-06-04 10:05:21 -04:00
Robin 0f38445fdd Merge pull request #2395 from robintown/participants-color
Update participant count color
2024-05-31 08:41:14 -04:00
Robin b9b53ec251 Update participant count color
It has changed in recent designs.
2024-05-30 21:36:50 -04:00
Robin f50b00e00f Merge pull request #2086 from robintown/layout-state
Add data models for the new call layouts
2024-05-02 16:35:37 -04:00
Robin e9c98a02f0 Respond to suggestions from code review 2024-05-02 16:32:48 -04:00
Robin dcb4d10afb Remove unnecessary Tile indirection 2024-05-02 16:00:05 -04:00
Robin 705f9daf5f Fix speaking data taking 10 seconds to be available 2024-05-02 15:59:40 -04:00
Robin c5e60744a2 Merge branch 'livekit' into layout-state 2024-05-02 15:35:45 -04:00
Robin bfb26ca500 Merge branch 'livekit' into layout-state 2024-04-19 13:28:30 -04:00
Robin 257211e8f9 Try disabling LiveKit web audio support
We think there's a chance this is causing some Edge users to not hear any audio.
2024-04-19 13:02:51 -04:00
Robin fc4ced7bb3 Merge pull request #2294 from robintown/timeout-experiment
Experiment with different timeouts
2024-04-15 10:50:38 -04:00
Robin 51cc406af7 Experiment with different timeouts
This lets you set the global variables peerConnectionTimeout and websocketTimeout to see what LiveKit does with different values.
2024-04-15 10:38:18 -04:00
Robin 708cb18332 Merge pull request #2286 from robintown/fix-holds
Fix participants disappearing during focus switch (probably)
2024-04-10 09:58:08 -04:00
Robin 5121b956ca Fix participants disappearing during focus switch (probably)
I discovered that this hook was calling complete on the returned observable almost immediately when it gets mounted. This caused the call view model to never know when the application was switching focuses. At first I thought this was just because I forgot to move the call to complete to the effect's clean-up function, but even with that changed, React still calls the effect twice in strict mode. So, let's just remove the call entirely.
2024-04-05 14:27:53 -04:00
Robin 4a9a58475f Merge pull request #2253 from element-hq/renovate/docker-build-push-action-digest
Update docker/build-push-action digest to af5a7ed
2024-03-11 09:03:08 -05:00
Robin b503260caa Merge pull request #2254 from element-hq/renovate/livekit-components-react-2.x-lockfile
Update dependency @livekit/components-react to v2.0.3
2024-03-11 09:02:49 -05:00
Robin 7883db3434 Merge pull request #2249 from element-hq/renovate/react-i18next-14.x-lockfile
Update dependency react-i18next to v14.1.0
2024-03-11 09:02:27 -05:00
Robin e6aa60edd0 Merge pull request #2232 from element-hq/renovate/node-20.x-lockfile
Update dependency @types/node to v20.11.25
2024-03-11 09:00:41 -05:00
Robin 5a3d625333 Merge pull request #2247 from element-hq/renovate/vite-5.x-lockfile
Update dependency vite to v5.1.5
2024-03-11 09:00:17 -05:00
Robin 163586a80e Merge pull request #2221 from element-hq/renovate/eslint-8.x-lockfile
Update dependency eslint to v8.57.0
2024-03-11 08:59:50 -05:00
Robin 8f2371757e Merge pull request #2248 from element-hq/renovate/posthog-js-1.x-lockfile
Update dependency posthog-js to v1.113.0
2024-03-11 08:59:01 -05:00
Robin d543c1a9c0 Merge branch 'livekit' into layout-state 2024-02-22 15:33:03 -05:00
Robin 78fc9bc488 Merge pull request #2207 from element-hq/renovate/posthog-js-1.x-lockfile
Update dependency posthog-js to v1.108.2
2024-02-22 08:57:35 -05:00