Robin and GitHub
514cebc074
Merge pull request #1164 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-28 12:34:52 -04:00
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
8bd4544841
Merge pull request #1148 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-27 13:35:45 -04:00
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
41456505e0
Merge pull request #1145 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-26 12:13:03 -04:00
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
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
Robin and GitHub
24eedc7b9a
Merge pull request #1113 from robintown/fix-spotlight
...
Fix spotlight layout
2023-06-14 11:58:29 -04:00
Robin Townsend
037495a635
Fix tiles having the wrong states during screensharing
...
This fixes a couple bugs:
1. That muting your video while screensharing would cause the screensharing feed to be hidden as well
2. That while screensharing, your user media tile would incorrectly show the label that's supposed to appear only on the screenshare tile
2023-06-14 11:55:43 -04:00
Robin and GitHub
5510719fb2
Merge pull request #1111 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-14 11:42:45 -04:00
Robin Townsend
357e1f828a
Fix spotlight layout
2023-06-14 11:37:07 -04:00
Robin Townsend and Weblate
7cae785351
Translated using Weblate (Ukrainian)
...
Currently translated at 100.0% (144 of 144 strings)
Translation: Element Call/element-call
Translate-URL: https://translate.element.io/projects/element-call/element-call/uk/
2023-06-14 15:34:43 +00:00
Robin and GitHub
dabecf54bf
Merge pull request #1107 from robintown/new-grid-breakpoint
...
Switch to the new grid once there are >12 participants
2023-06-13 15:14:04 -04:00
Robin Townsend
2916eb45aa
Switch to the new grid once there are >12 participants
2023-06-13 12:54:24 -04:00
Robin Townsend
4d5c3cd773
Merge branch 'main' into livekit-experiment
2023-06-13 12:33:46 -04:00
Robin and GitHub
bde13e0fab
Merge pull request #1104 from robintown/decouple-grid
...
Decouple video grid from video tile components
2023-06-13 09:56:47 -04:00
Robin Townsend
1207ecc9d7
Decouple video grid from video tile components
...
This is an attempt to address the feedback in https://github.com/vector-im/element-call/pull/1099#discussion_r1226863404 that the video grid and video tile components have become too tightly coupled. After this change, the only requirements that the video grid makes of its child components are:
- They accept ref, style, and item props
- They attach the ref and styles to a react-spring animated element
Note: I removed the video grid Storybook file, because I'm not aware of anyone using Storybook for development of Element Call beyond Robert, and it would take some effort to fix to work with these changes.
2023-06-12 18:21:45 -04:00
Robin Townsend
142605a336
Run prettier
2023-06-12 11:40:59 -04:00
Robin Townsend
ee36d134f3
Fix tile sizes not being set
2023-06-12 11:39:30 -04:00
Robin and GitHub
0b55c69ba6
Merge pull request #1099 from robintown/merge-main
...
Merge main into livekit-experiment
2023-06-12 11:25:07 -04:00
Robin Townsend
93bc28c1a6
Merge branch 'livekit-experiment' into merge-main
2023-06-12 11:19:52 -04:00
Robin Townsend
4e726355bf
Merge branch 'main' into merge-main
2023-06-12 11:18:05 -04:00
Robin and GitHub
8c21dbaade
Don't require textual feedback ( #1097 )
...
We want to encourage scoring as much as possible for the purpose of our KPIs, even if it means we don't always get detailed textual feedback.
2023-06-12 12:52:29 +02:00
Robin Townsend
e49439a879
Merge branch 'main' into merge-main
2023-06-10 17:10:42 -04:00
Robin and GitHub
825cb75cb7
Merge pull request #1098 from robintown/fix-new-grid
...
Fix tiles not animating in the new grid layout
2023-06-10 17:09:21 -04:00
Robin Townsend
ab97f12947
Merge branch 'main' into livekit-experiment
2023-06-09 17:22:34 -04:00
Robin Townsend
554da08628
Fix tiles not animating in the new grid layout
...
The new grid layout has been broken ever since upgrading react-spring, because it was apparently relying on a buggy behavior of react-spring that started transitions automatically even in imperative mode. react-spring 9.5.1 fixed that behavior, which means we now need to manually start the animations.
2023-06-09 13:52:21 -04:00
Robin and GitHub
f070ab7f67
Merge pull request #1095 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-08 10:26:15 -04:00
Robin and GitHub
1bfbb80f6d
Merge pull request #1094 from robintown/widget-join-delay
...
Don't prematurely claim that we've joined the call in widget mode
2023-06-08 10:24:32 -04:00
Robin and GitHub
d3d21fa86c
Merge pull request #1093 from robintown/widget-feedback-hotfix
...
Don't show the quality survey if the app is a widget
2023-06-08 10:19:49 -04:00
Robin Townsend
e4a3dbd7f7
Don't prematurely claim that we've joined the call in widget mode
...
In GroupCallView we do 'await enter()' when responding to a widget API join request, but it turns out enter wasn't actually returning a promise until now. The consequence of this was that in Element Web, when you click the join button you get shown a blank screen for a moment. This fixes that half-second moment of the UI being broken, allowing Element Web to show the intermediate 'joining' state.
2023-06-07 14:33:41 -04:00
Robin Townsend
47a4c5aa88
Don't show the quality survey if the app is a widget
...
As explained by the comment, we don't yet have designs that account for this combo.
2023-06-07 14:19:53 -04:00
Robin and GitHub
166b9fede5
Merge pull request #1086 from robintown/ice-fallback
...
Add a URL parameter for allowing fallback ICE servers
2023-06-07 09:29:34 -04:00
Robin and GitHub
5dd7c3ad8d
Merge pull request #1088 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-07 09:23:28 -04:00
Robin Townsend
5ef0486eff
Add a URL parameter for allowing fallback ICE servers
2023-06-05 15:52:05 -04:00
Robin and GitHub
b1a5417b63
Merge pull request #1083 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-05 14:36:38 -04:00
Robin and GitHub
062802b3e9
Merge pull request #1082 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-06-02 10:51:46 -04:00
Robin Townsend and Weblate
0e50679db5
Translated using Weblate (Chinese (Simplified))
...
Currently translated at 89.9% (125 of 139 strings)
Translation: Element Call/element-call
Translate-URL: https://translate.element.io/projects/element-call/element-call/zh_Hans/
2023-06-02 14:46:17 +00:00
Robin and GitHub
e67290550c
Merge pull request #1037 from vector-im/SimonBrandner/feat/settings
...
Settings improvements
2023-05-25 22:28:26 -04:00
Robin Townsend
3c118f0cf7
Add a comment
2023-05-22 15:44:39 -04:00
Robin Townsend
9c2f4be17c
Bring back the rageshake request modal
2023-05-22 15:30:29 -04:00
Robin Townsend
dc8d0fd81b
Update strings
2023-05-22 15:12:41 -04:00
Robin Townsend
ae40dea7ec
Make the profile form autosave
2023-05-22 15:12:41 -04:00
Robin Townsend
85380c8142
Make width of profile tab conform to designs
2023-05-22 15:12:41 -04:00
Robin Townsend
6560d9eb1a
Make remove avatar button target area larger
2023-05-22 15:12:41 -04:00
Robin Townsend
69099772e0
Make settings button icon size match designs
2023-05-22 15:12:41 -04:00
Robin Townsend
cf1a7f2e21
Match settings modal to design nuances better
2023-05-22 15:12:41 -04:00
Robin Townsend
eeb1f4baaf
Merge branch 'main' into SimonBrandner/feat/settings
2023-05-22 12:49:57 -04:00
Robin and GitHub
568c989ff7
Merge pull request #1069 from robintown/hide-rageshake-request
...
Hide the rageshake request modal when the window is too small
2023-05-22 09:21:30 -04:00
Robin and GitHub
606358c51b
Merge pull request #1070 from RiotTranslateBot/weblate-element-call-element-call
...
Translations update from Weblate
2023-05-17 23:33:38 -04:00
Robin Townsend
c01e363639
Hide the rageshake request modal when the window is too small
2023-05-17 13:59:15 -04:00
Robin and GitHub
e93dfb54d2
Merge pull request #1065 from robintown/resist-fingerprinting
...
Make Element Call work in Firefox's resist fingerprinting mode
2023-05-17 10:32:00 -04:00
Robin Townsend
f1ee3604de
Make Element Call work in Firefox's resist fingerprinting mode
...
This one is gonna take some explaining:
When in resist fingerprinting mode, Firefox exhibits some funny behavior: when we ask for the the list of media devices, it gives us fake device IDs. But when the js-sdk requests a stream for any of those devices, Firefox associates the stream with the real device ID.
Now, in order to get the names of devices included in their metadata when you query the device list, you need to be holding a stream. For this reason, useMediaHandler was set up to reload the device list whenever matrix-js-sdk got a new local stream. But because of the inconsistency in device IDs, it would enter an infinite cycle telling matrix-js-sdk to request a stream for the fake device ID, but with matrix-js-sdk always responding with the real device ID.
I already wasn't happy with useMediaHandler's use of @ts-ignore comments to inspect private js-sdk fields, and in the meantime we've come up with a simpler function for requesting device names, so I decided to refactor useMediaHandler to use it instead. Importantly, it doesn't break in resist fingerprinting mode.
This created a new UX issue though: now, when on the lobby screen, useMediaHandler would request microphone access so it could get device names, followed immediately by a *second* pop-up for the lobby screen to request camera access. That's 1 pop-up too many, so I changed useMediaHandler to only request device names when a component is mounted that actually wants to show them. Currently, the settings modal is the only such component, and users normally only open it *after* granting full audio/video access, so this solution works out quite nicely.
2023-05-15 23:13:18 -04:00
Robin and GitHub
d3111758b7
Merge pull request #1064 from robintown/update-js-sdk
...
Update matrix-js-sdk
2023-05-15 11:10:15 -04:00
Robin Townsend
abdb85226f
Update matrix-js-sdk
2023-05-15 11:04:57 -04:00
Robin and GitHub
aae86ed830
Merge pull request #1055 from robintown/update-matrix-widget-api
...
Update matrix-widget-api
2023-05-15 08:43:07 -04:00
Robin and GitHub
a961647e86
Merge pull request #1058 from robintown/update-js-sdk
...
Update matrix-js-sdk
2023-05-14 01:33:55 -04:00
Robin Townsend
207554f067
Fix tests
2023-05-14 01:32:11 -04:00
Robin Townsend
7d454645d0
Fix types
2023-05-13 14:27:01 -04:00
Robin Townsend
fcb923f6db
Update matrix-js-sdk
2023-05-13 14:11:59 -04:00
Robin and GitHub
e3c34a7145
Merge pull request #1053 from robintown/local-tile-size
...
Cap the size of the local tile in 1:1 calls
2023-05-13 13:54:40 -04:00
Robin and GitHub
1c9b2a24d9
Merge pull request #1054 from robintown/local-feed-contrast
...
Use a more noticeable shadow when displaying one tile on top another
2023-05-13 13:54:12 -04:00
Robin and GitHub
7ab94cb003
Merge pull request #1056 from robintown/mute-icon
...
Show audio mute status next to people's names
2023-05-13 13:53:51 -04:00