matrix-js-sdk
Add support for group calls using MSC3401
#2553
Merged

Add support for group calls using MSC3401 #2553

dbkr merged 364 commits into develop from robertlong/group-call
SimonBrandner
SimonBrandner Group call improvements (#1985)
0148ad07
robertlong Rermove session id
e9b52e23
robertlong Merge branch 'develop' into robertlong/group-call
431d7a09
robertlong Use glare resolution to manage group call setup
8131b390
robertlong Fix unnecessary param to placeCallWithCallFeeds
159e8258
robertlong Only send to device messages to a single device
0555f9db
robertlong Fix screensharing and webrtc races
305de541
robertlong Merge branch 'develop' into robertlong/group-call
5110e0b9
robertlong Add check for existing group call session
3b0d1b26
robertlong Fix updating member state with no existing calls
b4d8c0b6
SimonBrandner Start processing member state events only after we've set out own (#2…
fc8a867e
robertlong Fix inbound calls in Safari
119ce2e4
ara4n untested first cut at factoring out a encryptAndSendToDevices method
9f3f9990
ara4n clarify the factoring
aeeed6ec
ara4n make it build
24406d24
ara4n fix example in readme
56c0c9be
ara4n switch encryptAndSendToDevices to return a promise rather than use a cb
5a83635e
ara4n lint
53397ee0
ara4n don't choke on missing promise
f46355e7
ara4n chain promises correctly; log rejects
2f09e964
ara4n fix the tests (thanks @turt2live!!!)
a48546f6
ara4n handle promises normally now tests are fixed
841e6e99
ara4n lint
067ac622
robertlong Merge branch 'to-device-olm' into robertlong/group-call
32aca09f
robertlong Fix stopping all media streams
13d62e71
robertlong Ensure that member call state is set correctly
923e9c4a
robertlong Fix handling null call
8c5f88c4
robertlong Sanitize call member state
4c9648a2
robertlong Remove duplicate call answer
d99428f2
robertlong Ignore call call state in glare resolution
6f695c1b
robertlong Check if call ended before getting user media
5a92597a
robertlong Revert changes to gotCallFeedsForAnswer
bdc12a25
robertlong Send candidate queue again on finish to flush out queue
7998817f
robertlong Fix indentation
c1f56ba3
robertlong Preserve the disabled tracks when updating local usermedia stream
b253ad9e
robertlong Keep track of original stream id for sdp stream metadata
17f7dc54
robertlong Ad a longer wait to safari media stream hack
f76f708c
robertlong Update local usermedia streams serially
4b87907b
robertlong Temporarily disable safari hack
74c5a203
robertlong Merge branch 'robertlong/group-call' of github.com:matrix-org/matrix-…
a2e255c2
robertlong Re-enable safari hack
f28cb48f
robertlong Clean up replacing calls for Safari
97e8fcea
robertlong Add restart ICE
e880cece
robertlong Add retry call loop
28da62c0
robertlong Don't immediately start retry call loop
7d48a839
robertlong Clean up logging
31391121
robertlong Add unknown device errors
4e26f290
robertlong Add additional logging for removing feeds/tracks
c2fe2ab2
robertlong Update sync state to error when aborting
139904f2
robertlong Merge branch 'robertlong/abort-sync-error' into robertlong/group-call
32918467
robertlong Properly stop screensharing feed
5f06df8a
robertlong Stop screenshare when screensharing track ended
64c3ac55
robertlong Dont start retry loop until weve sent the member state event
0683133d
robertlong Make unknown device error more useful
96ef535e
robertlong Hopefully resolve a race condition with missing device ids
d0e37ee3
robertlong Make updateLocalUsermediaStreams stop tracks
ffbd10a7
robertlong Set initial audio/video input ids
d1a62edd
robertlong Add LocalStreamsChanged event to MediaHandler
fcc4b71f
robertlong Expose webrtc related types/props
e336acea
robertlong Send device id along with to device signaling messages
06d9d620
robertlong Disable retries
549f9b7e
robertlong Emit sent voip events
bef55797
robertlong Log opponentDeviceId
7993dd76
robertlong Emit sent voip events
f3f9e417
robertlong Log opponentDeviceId
18bb5c30
robertlong Use session ids to resolve refresh during invite/answer
87bf1159
robertlong Force hangup replaced calls
c91617a7
robertlong Merge branch 'robertlong/group-call-session-id' into robertlong/group…
487bfc88
robertlong Replace outbound calls only
3fac6d71
robertlong Add NewSession CallErrorCode
7529af43
robertlong Ensure call events are processed once and in order
ee995cb3
robertlong Dont filter unstable call events
eeacf8c2
robertlong Remove call from callEventHandler after hangup
d8285aad
robertlong Use replace error code when replacing incoming calls
28f3169a
robertlong Add user id to all send voip events
42fef0e7
robertlong Add sender/dest session ids
015eb5d5
robertlong Re-enable retries
592fb0cf
robertlong Remove log
bbf70207
robertlong Fix restartIce on FF Android
1a78301a
robertlong Don't send candidates after the call has ended
4a4465b9
robertlong Ignore duplicate streams when adding local feeds
d42e2fe2
robertlong Add answer/negotiate response promise chain
b4fe00a3
robertlong Don't reuse local call feeds that have been added to a RTCPeerConnection
c801690e
robertlong Avoid glare
d8e597cc
robertlong Remove safari hack
d12bccd2
robertlong Remove unused isSafari check
a2a127d9
dbkr Enable max-bundle (#2182)
3db056ad
robertlong Log complete sync errors
fa5eae70
robertlong Process toDevice events in order
7f21f569
robertlong Fix and add a test for toDevice ordering
353d6bab
robertlong Switch media devices on disconnect
7a249e3e
robertlong Add callId to all logs
0ef6c2e3
robertlong Fix call log
e270f075
robertlong Move device changes to the application. Add methods to set device ids
17f5ab41
robertlong Fix updating local media streams
c819ac63
robertlong Add logging for all stream creation/cloning/muting
e68cabc7
robertlong Add checks for call/groupCall ended for updateLocalUsermediaStream
49994ac4
robertlong Allow calls to terminate properly when calling stopClient
09fee4a2
robertlong Fix import
94c5e375
robertlong Send / add end-of-candidates messages
6e25b133
dbkr Fix bug with ine-way audio after a transfer (#2193)
2a0dc39e
dbkr Don't remove streams that still have tracks (#2104)
ee4cbd1e
robertlong Fix shouldRequestAudio logging
96ba0617
dbkr Support for PTT group call mode (#2338)
8d9cd0fc
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
d82c041b
dbkr Remove test 'fix'
9702e8a5
dbkr Make tests pass again
85a6a552
dbkr Merge remote-tracking branch 'origin/develop' into dbkr/group-call-merge
83f61c96
dbkr Merge remote-tracking branch 'origin/develop' into dbkr/group-call-merge
f475251d
t3chguy Merge branch 'develop' into dbkr/group-call-merge
f4f05550
dbkr More setTimeout typings
da615fd5
dbkr Merge branch 'dbkr/group-call-merge' of github.com:matrix-org/matrix-…
acef1d7d
dbkr Remove PTT 'other user speaking' logic (#2362)
38e54ae7
dbkr Fix races when muting/unmuting (#2370)
87791cd3
robertlong Add support for sending encrypted to-device events with OLM (#2322)
942a28dd
dbkr Handle other members having no e2e keys (#2383)
aa0d3bd1
dbkr Wait for mute event to send in PTT mode (#2401)
18e2052a
dbkr Mute disconnected peers in PTT mode (#2421)
34ef7bc6
dbkr Set PTT mode on call correctly (#2445)
5e766978
dbkr Emit unknown device errors for group call participants without e2e (#…
b97b862f
dbkr Only clone streams on Safari (#2450)
404f8e13
turt2live Change CODEOWNERS for element-call feature branch (#2457)
04d0d61a
dbkr Disable playback of audio for muted users (#2456)
9192b876
robintown Expire call member state events after 1 hour (#2446)
70449ea0
robintown Don't ignore call member events with a distant future expiration date…
df9ffdc4
robintown Don't block muting on determining whether the device exists (#2461)
5b4263bf
robintown Merge branch 'develop' into robertlong/group-call
ebcb26f1
dbkr Fix call.collectCallStats() (#2480)
c89bbf4b
dbkr Remove the feature to disable audio from muted members (#2479)
f5538547
robintown Enable DTX on audio tracks in calls (#2482)
e7493fd4
robintown Fix some MatrixCall leaks and use a shared AudioContext (#2484)
f9672cf3
dbkr Revert hack to only clone streams on safari (#2485)
ca5ac799
dbkr Remove empty decryption listener (#2486)
6ea28857
robintown Don't mute the remote side immediately in PTT calls (#2487)
e980c889
dbkr Add config option for e2e group call signalling (#2492)
9a150943
dbkr Set max average bitrate on PTT calls (#2499)
bdb91b38
dbkr Prevent double mute status changed events (#2502)
984dd26a
dbkr Merge develop into group call branch again (#2513)
544b1c67
SimonBrandner Add local volume control (#2525)
e876482e
toger5 add missing events from reemitter to GroupCall (#2527)
38a6949e
dbkr Make SDP munging media type specific (#2526)
9e2e1445
SimonBrandner Add support for audio sharing (#2530)
8ba2d257
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
b711781f
SimonBrandner SimonBrandner added T-Enhancement
SimonBrandner Delint group calls (#2554)
22c5999f
dbkr Merge changes from develop (#2563)
2cc51e0d
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
c0dacb50
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
471f1748
dbkr Fix return types of event sending functions (#2576)
88ce0173
dbkr Add basic creation / entering tests for group calls (#2575)
0b8de251
robintown Support nested Matrix clients via the widget API (#2473)
3334c011
dbkr Merge branch 'develop' into robertlong/group-call
5f5a9b1a
dbkr Tidy up imports (#2584)
02074314
dbkr Test placing a call in a group call (#2593)
e8f682f4
SimonBrandner Add group call tests for muting (#2590)
c698317f
dbkr Add test for updateLocalUsermediaStream (#2596)
e4cf5b26
dbkr Merge branch 'develop' into robertlong/group-call
099cac01
dbkr Add tests for incoming calls in group calls (#2597)
2566c40e
dbkr Test muting in PTT mode (#2599)
9589a979
SimonBrandner Add screensharing tests (#2598)
448a5c9a
robintown Update lockfile (#2603)
e95947dc
SimonBrandner Add `disposed` to `CallFeed` (#2604)
45e56f8c
dbkr Add unit tests for hangup / reject (#2606)
92cd84fc
dbkr Test call timeouts (#2611)
e7a7ec06
dbkr Merge branch 'develop' into robertlong/group-call
5f9369ab
dbkr Fix imports
be94f5ea
dbkr 1:1 screenshare tests
4a294c9d
dbkr Revert 4a294c9dd36109233041ede34e780685c5d69801
c527f85f
dbkr 1:1 screenshare tests (#2617)
9e1b1268
dbkr Fix ICE end-of-candidates messages (#2622)
965f4fb1
dbkr Add types to the call unit test suites (#2627)
d5b82e34
dbkr Add logging to diagnose connection issue (#2629)
db32420d
dbkr Add GroupCallEventHandlerEvent.Room (#2631)
0981652d
dbkr Wait for client to start syncing before making group calls (#2632)
d656b848
dbkr Test disabling screenshare in group calls (#2634)
40ecfa79
dbkr Refactor the group call placing calls test (#2636)
0d6a93b5
dbkr Test that calls in a group call are retried (#2637)
c78631bd
dbkr Test call mute status set on call state chnage (#2638)
aca51fd8
dbkr Add client.waitUntilRoomReadyForGroupCalls() (#2641)
98d119d6
dbkr Log ID instead of object (#2643)
fa6f70f7
dbkr MediaHandler Tests (#2646)
83c84809
dbkr Merge branch 'develop' into robertlong/group-call
d950cda0
dbkr Merge branch 'develop' into robertlong/group-call
60e175a0
dbkr GroupCallEventhandler Tests (#2654)
aebe26db
robintown Misc fixes for group call widgets (#2657)
36a6117e
dbkr Test active speaker events (#2658)
02f6a09b
dbkr Test fallback screensharing (#2659)
00629e6d
dbkr Add test for removing RTX codec (#2660)
37118991
dbkr Merge branch 'develop' into robertlong/group-call
276849f0
dbkr Fix import in failed merge
3e1e99f8
dbkr Fix race in creating calls (#2662)
41cee6f1
dbkr Prevent exception when muting (#2667)
c605310b
dbkr Add tests for call answering / candidate sending (#2666)
586a313c
dbkr Merge branch 'develop' into robertlong/group-call
c05cb3ad
dbkr Unused imports from merge
f52c5eb6
dbkr Add tests for ice candidate sending (#2674)
6fc9827b
robintown Target widget actions at a specific room (#2670)
de694459
robintown Upgrade matrix-widget-api (and fix the lockfile) (#2676)
f41b7706
SimonBrandner Add a few new `GroupCall` tests (#2678)
c400dd4f
SimonBrandner Add test for call transfers (#2677)
72b89fde
SimonBrandner Add a few group call event handler tests (#2679)
72a6ec0d
SimonBrandner Fix group call tests getting stuck (#2689)
2a0ffe12
SimonBrandner SimonBrandner force pushed from c19d2cb3 to 2a0ffe12 3 years ago
SimonBrandner Merge remote-tracking branch 'upstream/develop' into SimonBrandner/ta…
6f7a72d6
SimonBrandner Merge pull request #2695 from matrix-org/SimonBrandner/task/gc-merge
4625ed73
SimonBrandner Add `MatrixClient` group call tests (#2692)
a2981efa
SimonBrandner Add `CallEventHandler` tests (#2696)
af6f9d49
SimonBrandner Add more `MatrixCall` tests (#2697)
ab39ee37
dbkr Fix ICE restarts (#2702)
e48d919c
robintown Merge branch 'develop' into robertlong/group-call
93551774
robintown Merge pull request #2712 from robintown/merge
ce3b72c8
robintown Don't block muting/unmuting on network requests
c0a52997
robintown Merge pull request #2754 from robintown/unblock-mute
d521f974
robintown Merge branch 'develop' into robertlong/group-call
3c33c422
robintown robintown force pushed from f6927dca to 3c33c422 3 years ago
dbkr More debugging for multiple group calls (#2766)
dfe535bc
dbkr Fix screenshare failing after several attempts (#2771)
c57c8978
dbkr Fix connectivity regressions (#2780)
5a078734
dbkr Add throwOnFail to groupCall.setScreensharingEnabled (#2787)
eddd0caf
robintown Add event and message capabilities to RoomWidgetClient
8cd5aac1
dbkr Merge remote-tracking branch 'origin/develop' into dbkr/gcmerge_oct22_3
193d8a42
robintown Merge pull request #2797 from robintown/matryoshka-events
35f697a0
dbkr Merge branch 'robertlong/group-call' into dbkr/gcmerge_oct22_3
b4ab7fc0
dbkr Merge pull request #2800 from matrix-org/dbkr/gcmerge_oct22_3
450ff00c
dbkr TS strict mode compliance in the call / groupcall code (#2805)
c374ba23
dbkr Merge remote-tracking branch 'origin/develop' into dbkr/gcmerge_26oct22
384116c8
dbkr Clean up group call tests (#2806)
0d211dfb
dbkr Fix types
0f101227
dbkr Merge pull request #2807 from matrix-org/dbkr/gcmerge_26oct22
4cd50e48
dbkr More TS strict mode fixes
5679c86c
dbkr Don't commit the strict mode flag
87115d18
dbkr Merge pull request #2808 from matrix-org/dbkr/groupcall_more_strict
13c751c0
robintown Let leave requests outlive the window
dbdaa154
dbkr A few more strict mode fixes
d979302e
dbkr Merge pull request #2816 from matrix-org/dbkr/groupcall_more_strict
77ef8558
dbkr Merge branch 'develop' into robertlong/group-call
9ff6b357
robintown Replace the keepAlive flag with request options
4c6e1e5c
robintown Merge pull request #2815 from robintown/keepalive-leave
849e3d67
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
f0d4ef7f
robintown Resolve races between initLocalCallFeed and leave
b9cccf91
robintown Merge pull request #2826 from robintown/init-leave-race
94072a09
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
6729c7d4
dbkr
dbkr dbkr marked this pull request as ready for review 3 years ago
dbkr dbkr requested a review 3 years ago
dbkr dbkr requested a review from richvdh richvdh 3 years ago
dbkr dbkr requested a review from duxovni duxovni 3 years ago
dbkr dbkr requested a review from robintown robintown 3 years ago
turt2live
turt2live commented on 2022-11-01
dbkr
dbkr Add public/private modifiers
cb8123de
dbkr Add more access modifiers
476f6f78
dbkr Give everything that isn't web rtc back to element-web
7ec726e1
dbkr
robintown
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
7fb313c1
robintown Don't remove our own member for a split second when entering a call
32d535c2
robintown Merge pull request #2844 from robintown/dont-remove-self
8235b65d
richvdh
dbkr
turt2live
turt2live
turt2live approved these changes on 2022-11-04
dbkr Merge remote-tracking branch 'origin/develop' into dbkr/gcmerge_20221104
fff4cdab
dbkr Fix strict mode errors
2dda837d
dbkr Merge pull request #2854 from matrix-org/dbkr/gcmerge_20221104
c8dc71eb
dbkr Merge branch 'develop' into robertlong/group-call
4f63ff21
dbkr Merge remote-tracking branch 'origin/develop' into robertlong/group-call
f09853cc
robintown robintown removed review request from richvdh richvdh 3 years ago
robintown robintown removed review request from duxovni duxovni 3 years ago
robintown robintown removed review request from robintown robintown 3 years ago
dbkr dbkr merged df2b65f1 into develop 3 years ago
dbkr dbkr deleted the robertlong/group-call branch 3 years ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
No one assigned
Labels
Milestone