Robin
d5efba285b
Fix resource leaks when we stop using a connection
...
The execution of certain Observables related to a local or remote connection would continue even after we stopped caring about said connection because we were failing to give these state holders a proper ObservableScope of their own, separate from the CallViewModel's longer-lived scope. With this commit they now have scopes managed by generateKeyed$.
2025-10-17 12:23:53 -04:00
Robin
717c7420f9
Require ObservableScopes of state holders to be specified explicitly
...
Previously we had a ViewModel class which was responsible for little more than creating an ObservableScope. However, since this ObservableScope would be created implicitly upon view model construction, it became a tad bit harder for callers to remember to eventually end the scope (as you wouldn't just have to remember to end ObservableScopes, but also to destroy ViewModels). Requiring the scope to be specified explicitly by the caller also makes it possible for the caller to reuse the scope for other purposes, reducing the number of scopes mentally in flight that need tending to, and for all state holders (not just view models) to be handled uniformly by helper functions such as generateKeyed$.
2025-10-17 12:23:53 -04:00
Robin
2c66e11a0a
Fix connection tests
...
Removing one of these tests because it was doing a lot of work to test something that was made trivial in b0eb566a4f .
2025-10-14 16:04:52 -04:00
Robin
102e581c41
Serialize updates to the call intent
...
So that the value advertised in your membership can't desync from the actual value if you toggle video too fast.
2025-10-14 15:20:07 -04:00
Robin
b0eb566a4f
Simplify local transport connection state tracking
2025-10-14 14:43:13 -04:00
Robin
2dc6134606
Stick to the term 'transport' rather than 'focus'
2025-10-14 14:38:37 -04:00
Robin
ea17ed7253
Rename 'localTransport' to 'transport', since it's often remote
2025-10-14 14:34:51 -04:00
Robin
9f4e99310b
Elaborate on a TODO for preloading JWT tokens
2025-10-14 14:32:56 -04:00
Robin
625cfa15ff
Move sorting bin calculation into UserMedia
2025-10-14 14:31:35 -04:00
Robin
95069fd3fa
Fix joining call with audio and video muted
2025-10-14 12:19:23 -04:00
Robin
13636b78d9
Replace deprecated CallMembership.sender with userId
2025-10-14 12:07:51 -04:00
Robin
bcbf7a90f0
Initialize preferredTransport$ in a less unusual way
2025-10-14 12:00:00 -04:00
Robin
2de7a20d8a
Remove outdated comment
2025-10-14 11:54:36 -04:00
Valere
a6c4fb4148
review: count as publishing even if not yet connected to LK
2025-10-14 17:47:38 +02:00
Robin
b030d304df
Fix crash during focus switching
2025-10-14 09:29:48 -04:00
Robin
392c51fbf6
Merge branch 'voip-team/rebased-multiSFU' of github.com:element-hq/element-call into voip-team/rebased-multiSFU
2025-10-14 09:22:08 -04:00
Robin
a18700cbcd
Avoid updating membership during focus switch
2025-10-14 09:16:46 -04:00
Valere
93d763f58f
devtool: quick display of focus URL in stats tile
2025-10-14 14:06:54 +02:00
Valere
58d60b35fd
fix CI failing with Invalid value "iife" for option "worker.format"
...
UMD and IIFE output formats are not supported for code-splitting builds. see https://github.com/vitejs/vite/issues/18585
2025-10-14 12:25:31 +02:00
Valere
60332dc2db
fix js-sdk dependency format
2025-10-14 12:16:24 +02:00
Valere
a9db9c8b59
ErrorHandling: publish connection error handling
2025-10-14 10:46:57 +02:00
Valere
a5aba928dd
dependency: depends on js-sdk develop
2025-10-13 16:39:14 +02:00
Valere
0e1b61a5e8
refactor: Split out all exports of CallViewModel to their own file
2025-10-13 16:24:55 +02:00
Valere
8823be67c5
refactor extract inner classes to their own files
2025-10-13 15:43:12 +02:00
Valere
8e6eb70e5b
refactor: use EnterRTCSessionOptions instead of unnamed bools
2025-10-13 13:52:01 +02:00
Valere Fedronic
c846ea6447
Merge pull request #3521 from element-hq/valere/multi-sfu/connection_states
...
Connection State: Error Handling + Cleaning / refactoring /
2025-10-13 10:15:55 +02:00
Valere
fc2384e330
post merge fixes (js-sdk changes)
2025-10-10 19:23:24 +02:00
Valere
2fc7f11bea
prettier fix
2025-10-10 16:51:58 +02:00
Valere
cca46bd8dd
Merge branch 'voip-team/rebased-multiSFU' into valere/multi-sfu/connection_states
2025-10-10 16:51:09 +02:00
Valere
1e75f9adcc
test: fix additional test with proper mutestate fix
2025-10-10 15:13:55 +02:00
Valere
4a8f5bccac
post merge lint fixes
2025-10-10 15:04:12 +02:00
Valere
4608d68cd9
Merge branch 'voip-team/rebased-multiSFU' into valere/multi-sfu/connection_states
2025-10-10 15:01:49 +02:00
Timo K
0fd414358c
Merge branch 'livekit' into voip-team/rebased-multiSFU
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-10-10 12:26:47 +02:00
Valere
1ab081d636
test: MISSING_MATRIX_RTC_FOCUS renamed as MISSING_MATRIX_RTC_TRANSPORT
2025-10-10 11:41:26 +02:00
Valere
6710f4c72a
Test: Fix mocking to fix failing tests
2025-10-10 11:09:41 +02:00
Robin
de5f5198dd
Merge branch 'livekit' into voip-team/rebased-multiSFU
...
Note that this effectively *reverts* 3ac2aa8526 because this branch now has what is a better UX (at least I think so): the in-call view is presented instantly when pressing the join button. Errors that occur during initial connection procedures will be surfaced more uniformly.
2025-10-09 16:44:12 -04:00
Robin
f9f2896a6a
Merge branch 'voip-team/rebased-multiSFU' of github.com:element-hq/element-call into voip-team/rebased-multiSFU
2025-10-09 16:37:48 -04:00
Valere
a500915c43
test: Fix mute test, behavior change from setMuted to setAudioEnabled
...
useCallViewKeyboardShortcuts() changed a param from `setMicrophoneMuted` to `setAudioEnabled`, the boolean arg of the callback is inverse tht it used to be
2025-10-09 19:24:44 +02:00
Valere
7cbb1ec1e8
Simplify AudioRenderer and add more tests
2025-10-09 15:33:25 +02:00
Timo K
39f8cb95ec
make compatible with related_event (async CallMembership) branch
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-10-09 15:29:47 +02:00
Valere
4c6b960da3
fix: use correct TestEachFunction
2025-10-09 11:00:45 +02:00
Robin
85ffe68d98
Remove outdated comment
2025-10-08 19:20:21 -04:00
Robin
2c576a7477
Clean up subscriptions in Connection tests
2025-10-08 19:09:27 -04:00
Robin
64c2e5911c
Update outdated comment
2025-10-08 19:09:08 -04:00
Robin
5be3b91509
Fix focus connection state typo, simplify its initialization
2025-10-08 19:09:03 -04:00
Robin
2d7e4247f3
Note a potential resource leak
2025-10-08 18:51:30 -04:00
Robin
00daf834b6
Remove local participant case (now enforced by types) from audio tests
2025-10-08 17:53:11 -04:00
Robin
dcc3ab641f
Remove MockedObject from mockMediaDevices type signature
2025-10-08 17:40:03 -04:00
Robin
dee06a4b70
Remove unused useIsEarpiece hook
2025-10-08 17:37:54 -04:00
Robin
3691e7120d
Restore a hidden 'null' state for the local transport/connection
2025-10-08 17:35:53 -04:00