Robin and GitHub
e0ce58b2a2
Merge pull request #3320 from element-hq/revert-3319-revert-3313-misc/migrate-to-maven-central-portal
...
Upgrade Android publishing to use Maven Central Portal (again)
2025-06-06 10:18:20 -04:00
Robin and GitHub
b0587fcfb3
Avoid reactivity bugs in how we track external state ( #3316 )
...
* Avoid reactivity bugs in how we track external state
Many of our hooks which attempt to bridge external state from an EventEmitter or EventTarget into React had subtle bugs which could cause them to fail to react to certain updates. The conditions necessary for triggering these bugs are explained by the tests that I've included.
In the majority of cases, I don't think we were triggering these bugs in practice. They could've become problems if we refactored our components in certain ways. The one concrete case I'm aware of in which we actually triggered such a bug was the race condition with the useRoomEncryptionSystem shared secret logic (addressed by a1110af6d5 ).
But, particularly with all the weird reactivity issues we're debugging this week, I think we need to eliminate the possibility that any of the bugs in these hooks are the cause of our current headaches.
* Reuse useTypedEventEmitterState in useLocalStorage
* Fix type error
2025-06-05 13:54:57 +02:00
Robin and GitHub
7851b9c289
Merge pull request #3318 from element-hq/robin/deep-compare
...
Use the same function for deep equality everywhere
2025-06-04 18:12:08 -04:00
Robin
15bcaef3a5
Use the same function for deep equality everywhere
2025-06-04 17:41:42 -04:00
Robin and GitHub
26efbc1389
Merge pull request #3317 from element-hq/robin/reactive-members
...
Always render audio from the current set of participants
2025-06-04 17:25:29 -04:00
Robin
929367c9ce
Always render audio from the current set of participants
...
We forgot to tell React that we need the audio renderer to react to changes in the set of MatrixRTC participants; instead we had it referencing rtcSession.memberships non-reactively.
Now, I'm not 100% confident that this is going to fix the "speaking from the void" issues observed in the wild, because I can't reproduce them and, in my testing, the InCallView component always seemed to be rendered redundantly when the MatrixRTC participants change, even though we hadn't explicitly stated that it needs to react. (This makes sense as we haven't memoized the component.) But it's worth a shot.
2025-06-04 17:21:48 -04:00
Robin and GitHub
ef41ef85eb
Merge pull request #3311 from element-hq/robin/break-safari-loop
...
Break loop in acquiring media on Safari
2025-06-04 11:58:56 -04:00
Robin and GitHub
d9b91778b1
Merge pull request #3304 from element-hq/renovate/embedded-package-dependencies
...
Update embedded package dependencies
2025-06-04 11:56:52 -04:00
Robin and GitHub
2f6bae5e5e
Merge pull request #3313 from element-hq/misc/migrate-to-maven-central-portal
...
Upgrade Android publishing to use Maven Central Portal
2025-06-04 11:56:11 -04:00
Robin
40b351d76d
Ignore spurious 'devicechange' events
...
This gives us the additional insurance of breaking the Safari media acquisition loop at the source by admitting that they can be spurious in practice. Safari, why!?
2025-06-04 11:23:20 -04:00
Robin
83bfb721e7
Break loop in acquiring media on Safari
2025-06-03 17:22:20 -04:00
Robin and GitHub
64e27152c6
Merge pull request #3307 from element-hq/renovate/livekit-components
...
Update dependency @livekit/components-react to v2.9.9
2025-06-03 09:40:48 -04:00
Robin and GitHub
f4a5ca9e84
Merge pull request #3306 from element-hq/renovate/compound
...
Update dependency @vector-im/compound-design-tokens to v4.0.3
2025-06-03 09:39:26 -04:00
Robin and GitHub
931cc9ddd7
Merge pull request #3305 from element-hq/renovate/all-minor-patch
...
Update all non-major dependencies
2025-06-03 09:27:44 -04:00
Robin
65846dcf7d
Revert eslint-plugin-matrix-org to 2.1.0
...
See 7eae5b0ffb .
2025-06-03 09:22:44 -04:00
Robin and GitHub
5f8a8d4c5b
Merge pull request #3294 from element-hq/fkwp/docker_compose/resolve_conflicting_ports
...
Fix Playwright tests
2025-05-30 10:42:05 -04:00
Robin and GitHub
d2534748eb
Merge pull request #3300 from element-hq/robin/synchronize-blocked
...
Run the 'Prevent blocked' check whenever a PR branch is updated
2025-05-30 10:26:10 -04:00
Robin and GitHub
fbafc9f3f6
Merge pull request #3301 from element-hq/renovate/npm-vite-vulnerability
...
Update dependency vite to v6.2.7 [SECURITY]
2025-05-28 18:20:30 -04:00
Robin and GitHub
61d2da2259
Merge pull request #3036 from element-hq/renovate/major-compound
...
Update dependency @vector-im/compound-design-tokens to v4
2025-05-28 18:13:37 -04:00
Robin
0661486676
Merge branch 'livekit' into renovate/major-compound
2025-05-28 18:07:30 -04:00
Robin
07a4244c05
Upgrade Compound Web to v7.12.0
2025-05-28 18:04:29 -04:00
Robin and GitHub
03f92ed6e4
Merge pull request #3172 from element-hq/renovate/livekit-components
...
Update LiveKit components
2025-05-28 17:43:07 -04:00
Robin
469ec63fec
Fix LiveKit types import
2025-05-28 17:34:33 -04:00
Robin
50caca7bd3
Merge branch 'livekit' into renovate/livekit-components
2025-05-28 17:26:03 -04:00
Robin and GitHub
81caa3321f
Merge pull request #3186 from element-hq/renovate/all-minor-patch
...
Update all non-major dependencies
2025-05-28 17:22:38 -04:00
Robin
3c3fce96e7
Upgrade to OpenTelemetry v2 SDKs
...
Necessitated by our minor version upgrade of @opentelemetry/exporter-trace-otlp-http.
2025-05-28 17:17:31 -04:00
Robin
e757f7af6b
Run the 'Prevent blocked' check whenever a PR branch is updated
...
Because we're now requiring the 'Prevent blocked' check to pass before merging a PR, GitHub Actions now expects it to be associated with the latest Git ref of the PR's branch whenever the branch is updated. Therefore we need to re-run the workflow on the 'synchronize' event.
2025-05-28 17:00:57 -04:00
Robin
7eae5b0ffb
Revert eslint-plugin-matrix-org to 2.1.0
...
Because the latest version requires eslint-plugin-unicorn v57, which requires eslint v9, and eslint-plugin-matrix-org is not yet compatible with eslint v9.
2025-05-28 16:25:21 -04:00
Robin and GitHub
0971a15c40
Merge pull request #3270 from element-hq/robin/audio-output-controls
...
Audio device controls for mobile native audio device selection
2025-05-22 14:09:04 -04:00
Robin
78c59bb41c
Fix formatting
2025-05-22 14:03:33 -04:00
Robin
045d861ad1
Merge branch 'livekit' into robin/audio-output-controls
2025-05-22 14:00:19 -04:00
Robin and GitHub
a21da9417c
Merge pull request #3285 from element-hq/robin/reset-develop
...
Reset to develop branch of matrix-js-sdk
2025-05-22 13:10:56 -04:00
Robin
821c6e3763
Reset to develop branch of matrix-js-sdk
...
Now that the toger5/add-room-key-fallback-on-encryption-manager-not-supported branch has been merged, we can reset to develop. (And need to, actually, because that branch is deleted.)
2025-05-22 11:59:36 -04:00
Robin and GitHub
aeae964e97
Merge pull request #3177 from element-hq/robin/reintroduce-update-state
...
Improve the reliability of state changes in widget mode
2025-05-21 13:09:13 -04:00
Robin
e4924df8fb
Reference matrix-js-sdk by branch name
...
Rather than by commit, which makes it hard to tell whether we're using mainline matrix-js-sdk or not.
2025-05-21 12:59:31 -04:00
Robin
c473d1fa8f
Update matrix-widget-api to support update_state action
2025-05-20 17:54:57 -04:00
Robin
57f312494f
Update matrix-js-sdk to support update_state action
2025-05-20 17:54:30 -04:00
Robin and Timo
53adfa4497
WIP
2025-05-14 19:07:36 +02:00
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