Robin and GitHub
6281628e4e
Merge pull request #3258 from element-hq/robin/webcodecs-update
...
Remove patched version of WebCodecs types
2025-05-09 10:54:23 -04:00
Robin
9f727b904b
Remove patched version of WebCodecs types
...
The patch has now been upstreamed to @types/dom-webcodecs.
2025-05-09 10:48:09 -04:00
Robin and GitHub
a4a6a16482
Merge pull request #2812 from element-hq/toger5/track-processor-blur
...
Add background blur feature for supported devices
2025-04-29 22:25:02 +02:00
Robin
eeb3a1a991
Add license notices to inlined type declarations
2025-04-29 22:19:00 +02:00
Robin
c0c498aa04
Merge branch 'livekit' into toger5/track-processor-blur
2025-04-29 13:02:23 +02:00
Robin
9f5eae0ac1
Clean up a string
2025-04-29 13:02:02 +02:00
Robin and GitHub
f92c683bc1
Merge pull request #3237 from element-hq/robin/fix-playwright-invite
...
Fix Playwright tests in Firefox
2025-04-29 13:01:45 +02:00
Robin
dfb9eb4b1f
Upgrade Playwright to fix Element's unsupported browser warning
2025-04-29 12:41:23 +02:00
Robin
fa0af6403e
Fix Playwright tests in Firefox
...
As explained by the comment.
2025-04-29 12:25:35 +02:00
Robin
9df0f58117
Inline a patched version of WebCodecs types
2025-04-29 12:07:16 +02:00
Robin
0b82dcf701
Upgrade TypeScript for ImageBufferSource support
2025-04-28 18:10:58 +02:00
Robin
8f1761442b
Fix tests
2025-04-28 16:37:53 +02:00
Robin
7d0117903e
Don't lie about the type of the video track
2025-04-28 16:01:34 +02:00
Robin
cd9035b5fc
Make background blurring actually react to track restarts
2025-04-28 16:00:03 +02:00
Robin
02ce1f701a
Document the background transformer a bit better
2025-04-28 15:59:32 +02:00
Robin
e88e0b1901
Import the segmenter model in a more statically-analyzable way
2025-04-28 15:58:50 +02:00
Robin
c91cc79162
Remove unneeded Knip override for MediaPipe
2025-04-28 15:57:29 +02:00
Robin
31032994a5
Merge branch 'livekit' into toger5/track-processor-blur
2025-04-25 17:23:20 +02:00
Robin and GitHub
dc5d1369bf
Merge pull request #3229 from element-hq/robin/upgrade-livekit
...
Return to latest livekit-client version (2.11.3)
2025-04-24 11:35:29 +02:00
Robin
a6696c2304
Return to latest livekit-client version (2.11.3)
...
This latest release of livekit-client fixes the regression observed in https://github.com/element-hq/element-call/issues/3219 .
2025-04-23 11:59:13 +02:00
Robin
3fc4cc908e
Cleanup + use a better check for blurring support
2025-04-22 19:20:43 +02:00
Robin
63ad4a3ad3
Get blurring working again
2025-04-22 18:32:01 +02:00
Robin
7142122a74
Dedupe Mediapipe dependencies
2025-04-22 18:05:31 +02:00
Robin
b7b3fde202
Upgrade LiveKit track processors
2025-04-22 18:00:41 +02:00
Robin and GitHub
8fd99ed23e
Merge pull request #3222 from element-hq/robin/revert-livekit
...
Revert livekit-client to 2.10.0
2025-04-22 17:21:45 +02:00
Robin
e751248fee
Revert livekit-client to 2.10.0
...
Closes https://github.com/element-hq/element-call/issues/3219 .
2025-04-22 16:31:44 +02:00
Robin
3243afd061
Merge branch 'livekit' into toger5/track-processor-blur
2025-04-18 12:32:03 +02:00
Robin and GitHub
f845397b87
Merge pull request #3093 from element-hq/toger5/src-to-lib-import
...
Transition from consuming js-sdk source to `lib` (build output)
2025-03-27 16:13:05 -04:00
Robin
aab4efe03a
Use type imports consistently
2025-03-27 16:09:59 -04:00
Robin
eb18cbef78
Consolidate imports
2025-03-27 16:04:03 -04:00
Robin
ae339ea5cc
Fix formatting issues
2025-03-27 14:47:01 -04:00
Robin
33700d1529
Merge branch 'livekit' into toger5/src-to-lib-import
2025-03-27 14:35:08 -04:00
Robin and GitHub
21140f6f2c
Merge pull request #3095 from element-hq/robin/berry
...
Upgrade to Yarn v4 (Berry)
2025-03-27 14:21:10 -04:00
Robin
6927a92ad3
Improve comments in linker plugin
2025-03-27 14:16:16 -04:00
Robin
f99eb3c88f
Merge branch 'livekit' into robin/berry
2025-03-27 14:07:24 -04:00
Robin
a993d8cd26
Streamline the linker hook messages
2025-03-27 14:05:10 -04:00
Robin and GitHub
fe382cfc0b
Merge pull request #3053 from element-hq/robin/posthog-logout
...
Enable analytics only while authenticated
2025-03-24 10:14:48 -04:00
Robin
0ed1564d3e
Merge branch 'livekit' into robin/posthog-logout
2025-03-24 10:10:28 -04:00
Robin and GitHub
1138a21b57
Merge pull request #3118 from element-hq/robin/errors-outside-boundary
...
Fix join errors mistakenly showing a generic error screen
2025-03-21 17:20:52 -04:00
Robin
cd5ecb2352
Rename error boundary hook
...
It doesn't check whether it's actually used inside a GroupCallErrorBoundary, and it's generally useful for interacting with any error boundary, so I'm giving it a generic name to reflect this.
2025-03-21 15:17:41 -04:00
Robin
9a5dd10e27
Show errors that occur in GroupCallView using the error boundary
...
We were previously using the useGroupCallErrorBoundary hook to surface errors that happened during joining, but because that part is outside the GroupCallErrorBoundary it just ended up sending them to the app-level error boundary where they got displayed with a more generic message.
2025-03-21 14:59:27 -04:00
Robin and GitHub
246e6a6322
Merge pull request #3111 from element-hq/robin/test-ci
...
Move all tests into one workflow, give them clear names
2025-03-19 09:57:55 -04:00
Robin and GitHub
4a2f44a0de
Merge pull request #3112 from element-hq/robin/blocked-conflicts
...
Run the 'prevent blocked' workflow even if PR has conflicts
2025-03-18 15:43:21 -04:00
Robin
a304f37705
Run the 'prevent blocked' workflow even if PR has conflicts
...
See the description of pull_request versus pull_request_target documented at https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request .
2025-03-18 14:45:07 -04:00
Robin
f2ff1919cb
Move all tests into one workflow, give them clear names
...
The Playwright tests had no name before, making it confusing to add them to the branch protection requirements.
2025-03-18 13:48:52 -04:00
Robin and GitHub
7d6a60a6ad
Merge pull request #3110 from element-hq/robin/participant-limits
...
Show "insufficient capacity" when hitting participant limits
2025-03-18 13:37:43 -04:00
Robin
45c3c7a37e
Show "insufficient capacity" when hitting participant limits
2025-03-18 13:33:36 -04:00
Robin and GitHub
22977dcf65
Merge pull request #3109 from element-hq/robin/livekit-2.9.1
...
Downgrade to livekit-client v2.9.1
2025-03-18 11:41:26 -04:00
Robin
213f234e94
Downgrade to livekit-client v2.9.1
...
livekit-client v2.9.2 regresses switching between the front/back cameras.
2025-03-18 11:36:08 -04:00
Robin
cb14b727ba
Merge branch 'livekit' into robin/berry
2025-03-14 11:59:21 -04:00
Robin
d633ec5fcd
Update docs for Yarn Berry
2025-03-14 03:23:37 -04:00
Robin
0b26dc2f43
Create a plugin for linking other packages
2025-03-14 03:23:37 -04:00
Robin
31fb916b9d
Enable CI to use Yarn Berry
2025-03-14 03:23:37 -04:00
Robin
95b37ea341
Upgrade to Yarn Berry
2025-03-14 03:23:37 -04:00
Robin
fee9841183
Remove the dependency on buffer
...
It's not generally available in browser environments / certain Yarn modes and can easily be replaced by TextEncoder.
2025-03-14 02:09:48 -04:00
Robin and GitHub
5547e838d3
Merge pull request #3080 from element-hq/robin/pin-matrix-js-sdk
...
Pin matrix-js-sdk to a specific commit
2025-03-12 05:06:10 -04:00
Robin
3cf0ce3dcb
Pin matrix-js-sdk to a specific commit
...
Whenever we use a Git dependency, we should reference a specific tag or commit rather than a branch name, because Yarn Classic is bad at recognizing when a Git dependency needs to be re-installed due to it resolving to a new version. (It seems to simply use the version from package.json as a cache key.)
This is relevant only for developers who run 'yarn install' on top of a previously up-to-date working copy, not for CI which re-installs the project on every run.
2025-03-11 16:25:03 -04:00
Robin and GitHub
b5f5ab329a
Merge pull request #3051 from element-hq/robin/return-to-lobby
...
Respect the returnToLobby flag
2025-03-05 12:17:53 -05:00
Robin and GitHub
308d42980f
Merge pull request #3054 from element-hq/robin/og-brand
...
Use the configured brand name in OpenGraph tags
2025-03-05 12:09:25 -05:00
Robin and GitHub
0ca2627bd4
Merge pull request #3055 from element-hq/robin/join-action
...
Send a 'join' action when entering the call
2025-03-05 12:09:16 -05:00
Robin
359812d8b1
Explain why returnToLobby is false in SPA
2025-03-05 10:40:37 -05:00
Robin
5b1ea4501d
Send a 'join' action when entering the call
...
Following a75952cf77 , this is one more upgrade to the widget communication that I'd like to make within this release cycle.
The motivating issue is https://github.com/element-hq/element-web/issues/29429 . Fundamentally, without a 'join' action, the only info Element Web can use to determine whether it's joined the call is whether a MatrixRTC membership exists. But membership state events can inaccurately represent the client's actual state (whether because delayed events aren't supported, or because the delayed event hasn't timed out yet), so I suggest we send a 'join' action here just as we do in the Element Web Jitsi wrapper (https://github.com/element-hq/element-web/blob/e9a3625bd6e9a64f216e3caeabca66f48b649332/src/vector/jitsi/index.ts#L503 ) to let Element Web tap directly into the widget's local state. (This will need additional Element Web changes, but is certainly backwards compatible.)
2025-03-05 09:25:52 -05:00
Robin
ec73e7fa86
Use the configured brand name in OpenGraph tags
...
Overlooked some of these when reviewing https://github.com/element-hq/element-call/pull/3006 .
2025-03-05 09:18:31 -05:00
Robin
65304473df
Enable analytics only while authenticated
...
The one place where we should log out of PostHog and reset our analytics ID is when the user is logging out. This matches the behavior in Element Web and makes sense, I think, because logging out is essentially a request for the app to forget who you are. This means we should also start analytics at the point of logging in / reauthenticating.
I noticed while making this change that there was an unused branch in setClient, so I cleaned it up rather than making myself update it.
2025-03-05 09:12:18 -05:00
Robin
4919410ff0
Don't reset analytics ID when leaving calls
...
We shouldn't be calling PosthogAnalytics.instance.logout() when leaving the call in widget mode, because all this does is reset your analytics ID. In the big picture this is probably inflating our user count metrics.
2025-03-05 08:55:47 -05:00
Robin
28c45c6107
Avoid closing the widget in returnToLobby mode
...
If returnToLobby is enabled then we obviously want to keep the widget open once the user leaves the call.
2025-03-05 07:32:25 -05:00
Robin
b5f5edba09
Fix the control flow of GroupCallView render function
...
2bb5b020e6 refactored the end of the GroupCallView render function to not use any early returns, and clumsily failed to account for the fall-through case that makes returnToLobby work (as opposed to sitting on a blank screen).
2025-03-05 07:29:56 -05:00
Robin and GitHub
771397389c
Prevent PRs with the X-Blocked label from being merged ( #3041 )
...
Copied from matrix-js-sdk (https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/pull_request.yaml#L31 )
2025-03-05 10:44:10 +00:00
Robin and GitHub
e783339557
Merge pull request #3035 from element-hq/renovate/all-minor-patch
...
Update all non-major dependencies
2025-03-04 00:14:56 -05:00
Robin
36203c2017
Work around LiveKit's overly constrained dependencies
...
We need compatible versions of RxJS in our dependencies and LiveKit's dependencies, but LiveKit has pinned it to a very specific version which is now holding us back from updating. See https://github.com/livekit/components-js/issues/1101 for a request for a proper solution.
2025-03-04 00:13:00 -05:00
Robin
db9f255a4a
Update formatting
2025-03-03 23:41:29 -05:00
Robin and GitHub
6d6852d5b0
Merge pull request #3006 from Harshal-Taori-11/livekit
...
Added OpenGraph and Twitter meta tags for better link previews
2025-03-03 23:37:10 -05:00
31577d7263
Show an error screen when the SFU is at capacity ( #3022 )
...
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com >
Co-authored-by: fkwp <fkwp@users.noreply.github.com >
2025-02-26 12:00:56 +00:00
2bb5b020e6
Leave session when error occurs and show error screens in widget mode ( #3021 )
...
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com >
2025-02-26 10:20:30 +00:00
Robin and GitHub
cd05df3e33
Merge pull request #3020 from element-hq/robin/clarify-use-latest
...
Clarify what useLatest is for
2025-02-24 18:22:46 +07:00
Robin
9b59544db2
Clarify what useLatest is for
...
I was touching this file and noticed a chance to clean up this little TODO comment by swapping in our useLatest hook and giving it better documentation.
2025-02-24 18:18:15 +07:00
Robin and GitHub
91671d9ff1
Merge pull request #3019 from element-hq/robin/actually-hide-header
...
Actually hide the header on error pages
2025-02-24 17:47:22 +07:00
Robin
e4d7baf7bb
Actually hide the header on error pages
...
Currently, if you set hideHeader to true, you get a big empty <header> on error pages which serves no purpose except to push the screen's content off center.
2025-02-24 17:37:11 +07:00
Robin and GitHub
832a5aaf57
Merge pull request #3011 from element-hq/robin/close-action
...
Send a 'close' action when the widget is ready to close
2025-02-24 17:23:33 +07:00
Robin
518c8eadca
Finish the hangup procedure even if widget API throws errors
2025-02-24 11:48:05 +07:00
Robin and GitHub
028b3104e4
Merge pull request #3009 from element-hq/renovate/livekit-client
...
Update dependency livekit-client to v2.9.1
2025-02-20 13:24:17 +07:00
Robin
a75952cf77
Send a 'close' action when the widget is ready to close
...
By keeping 'hangup' and 'close' as separate actions, we can allow Element Call widgets to stay on an error screen after the user has been disconnected without the widget completely disappearing from the host's UI. We don't have to request any additional capabilities to use a custom widget action like this one.
2025-02-20 11:17:17 +07:00
Robin and GitHub
e636542b1e
Prevent new devices from automatically starting unmuted in call ( #2959 )
2025-01-17 15:30:28 +00:00
Robin and GitHub
cda802a2e9
Make error screens more visually consistent ( #2951 )
2025-01-17 09:35:39 +00:00
Robin and GitHub
c218dc2f36
Remember previous mute states when devices disappear and reappear ( #2957 )
2025-01-17 09:11:17 +00:00
Robin and GitHub
74d4556878
Merge pull request #2954 from element-hq/renovate/major-vitest-monorepo
...
Update vitest monorepo to v3 (major)
2025-01-16 15:49:34 -05:00
Robin
e68593ec47
Upgrade to vitest 3.0.1
2025-01-16 15:47:53 -05:00
Robin and GitHub
e79a32ac63
Merge pull request #2950 from element-hq/renovate/sentry-vite-plugin-3.x
...
Update dependency @sentry/vite-plugin to v3
2025-01-16 15:34:45 -05:00
Robin and GitHub
0f40cb77ad
Merge pull request #2940 from element-hq/renovate/livekit-client
...
Update dependency livekit-client to v2.8.0
2025-01-10 11:43:43 -05:00
Robin and GitHub
8bfdd1f455
Merge pull request #2910 from robintown/widget-theme-change
...
React to theme changes in widget mode
2025-01-08 15:56:02 -05:00
Robin
acd4a1f179
Fix tests
2025-01-08 11:41:44 -05:00
Robin
c66b8c0fd3
Merge branch 'livekit' into widget-theme-change
2025-01-08 11:27:46 -05:00
Robin
cdde53cc44
Bump matrix-widget-api
2025-01-08 11:27:33 -05:00
Robin
e477c16a0b
Fix lint errors
2025-01-02 13:32:39 -05:00
Robin
5d8804d7e8
React to theme changes in widget mode
2024-12-17 20:03:17 -05:00
Robin and GitHub
e4bd9d7cf9
Merge pull request #2816 from robintown/firefox-audio-output
...
Support selection of audio output device when using Firefox
2024-12-16 10:14:27 -05:00
Robin and GitHub
65cf8bf3ee
Merge pull request #2899 from robintown/array-performance
...
Skip some redundant updates to the grid and spotlight
2024-12-16 10:06:52 -05:00
Robin
25d0338f35
Skip some redundant updates to the grid and spotlight
...
While debugging our layout shift issue I learned that a single change to the sort order of the participants can cause 3 or 4 redundant emissions of the same items in the same order. Since each of these would cause React to re-render the grid, skipping these spurious emissions seems like an easy performance win.
2024-12-13 16:40:20 -05:00
Robin
f9e3fe3176
Use observables for more of the media devices logic
2024-12-13 15:37:29 -05:00
Robin
de276b1fc3
Annotate the default device with a label
2024-12-13 15:22:44 -05:00