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
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
625cfa15ff
Move sorting bin calculation into UserMedia
2025-10-14 14:31:35 -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
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
a9db9c8b59
ErrorHandling: publish connection error handling
2025-10-14 10:46:57 +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
4608d68cd9
Merge branch 'voip-team/rebased-multiSFU' into valere/multi-sfu/connection_states
2025-10-10 15:01:49 +02:00
Valere
6710f4c72a
Test: Fix mocking to fix failing tests
2025-10-10 11:09:41 +02:00
Robin
5be3b91509
Fix focus connection state typo, simplify its initialization
2025-10-08 19:09:03 -04:00
Robin
3691e7120d
Restore a hidden 'null' state for the local transport/connection
2025-10-08 17:35:53 -04:00
Robin
c96e81bfd3
Simplify type of audio participants exposed from CallViewModel
2025-10-08 16:42:36 -04:00
Valere
afe004c6e7
Remove un-necessary transport field, already accessible from connection
2025-10-08 14:30:52 +02:00
Robin
669bc76dd5
Replace calls to deprecated resolveActiveFocus
2025-10-08 01:04:58 -04:00
Valere
529cb8a7ec
prettier !
2025-10-07 16:24:02 +02:00
Valere
c3c0516f0d
Lint: fix all the lint errors
2025-10-07 16:00:59 +02:00
Valere
597e6782a8
Merge branch 'voip-team/rebased-multiSFU' into valere/multi-sfu/connection_states
2025-10-07 10:33:31 +02:00
Robin
1fff71ace1
Actually leave the MatrixRTC session again
2025-10-03 21:00:45 -04:00
Robin
1820cac3f6
Create media items for session members not joined to LiveKit
2025-10-03 19:14:48 -04:00
Robin
86fb026be8
Turn multi-SFU media transport into a developer option
2025-10-03 14:43:22 -04:00
Valere
e8bf817f88
tests: end scope tests
2025-10-01 16:39:21 +02:00
Valere
879a1d4af1
Connection: add Connection state and handle error on start
2025-10-01 11:23:16 +02:00
Valere
b00f7d5409
refactor: Remote / Publish Connection and constructor
2025-09-30 17:02:48 +02:00
Timo K
2819c79590
use updated multi sfu js-sdk
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-30 16:47:45 +02:00
Valere
edf68d16b7
refactoring: prep work extract to file + documentation
2025-09-30 11:33:45 +02:00
Robin
a4a0a58a72
Remove the option to show non-member ("ghost") participants
...
As we'd like to get the multi-SFU feature branch shipped, this is not the most important debugging tool to expend effort on at the moment.
2025-09-26 13:27:18 -04:00
Robin
dbdf853d55
Stop connections on view model destroy
2025-09-26 13:20:55 -04:00
Robin
0759f9b27d
Don't render audio from participants that aren't meant to be publishing
2025-09-25 21:29:02 -04:00
Robin
4980d8a622
Merge branch 'livekit' into voip-team/rebased-multiSFU
2025-09-25 18:40:59 -04:00
Robin
530fbaf90a
Clear up the room membership confusion around reading session members
2025-09-24 21:39:36 -04:00
Robin
6cf020763e
Make UI react instantly to hanging up but also wait for leave sound
...
This ensures that we don't see a mistaken 'reconnecting' toast while we're hanging up (and also that the leave sound gets a chance to play in widgets once again).
2025-09-24 21:26:16 -04:00
Robin
edd3eb8747
Implement screen sharing
2025-09-24 13:54:54 -04:00
Timo K
78e9521f22
Make track processor work
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-23 11:38:34 +02:00
Timo K
8bf24895ce
TODO: settings modal with multiple connections
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-22 14:18:23 +02:00
Timo K
ccfd32c9b2
move leave logic into view model
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:52:12 +02:00
Timo K
38d78ddce4
make audio work
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:50:43 +02:00
Timo K
cc870c3cc2
enable encryption in per sender case
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:50:43 +02:00
Timo K
c8098734cd
one e2ee worker per session
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:50:43 +02:00
Robin
e08f16f889
All my Friday work. Demoable!
2025-09-19 17:50:43 +02:00
Timo K
386dc6c84d
temp before holiday
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:50:43 +02:00
Timo K
598371b807
lots of work. noone knows if it works.
...
Signed-off-by: Timo K <toger5@hotmail.de >
2025-09-19 17:50:43 +02:00