Commit Graph

152 Commits

Author SHA1 Message Date
Karthikeyan S f4b0a629c7
chore: add null check for remotePartyId before ignoring reject/hangup 2023-11-29 12:32:57 +05:30
Karthikeyan S 6b9be63a4d
fix: ignore reject/hangup events for a live call from a different device 2023-11-29 12:32:57 +05:30
Nicolas Werner 8b8a647cf9
chore: enable discarded_futures lint
BREAKING CHANGE: This changes the runInRoot method to not return a
future. As a user, if you need the result of an async computation passed
to runInRoot, please await it directly. Also the KeyVerification start
and a few call methods now return a future.
2023-11-17 12:59:27 +01:00
Nicolas Werner a0970b7fcb
chore: don't manually enable default rules 2023-11-17 12:59:20 +01:00
Mohammad Reza Moradi d5447c62f7
fix: hangup on call crash 2023-11-15 08:49:35 +01:00
Karthikeyan S 243275d644
Merge branch 'main' into karthi/fix-hangup-timeout 2023-11-06 17:31:22 +05:30
Nicolas Werner 37582a3a8e
fix: stale call checker leaks memory 2023-11-04 00:30:14 +01:00
Karthikeyan S 88110773ab
fix: call hangup on timeout race condition 2023-11-03 16:05:37 +05:30
td 66a53786e7
fix: do not proceed call if getUserMedia fails
fix: added a few missing awaits

fix: add a workaround for not having state updates for staleCallChecker till sync

chore: fix some logging
2023-07-10 14:19:16 +05:30
Malin Errenst 395ef0eb8e
refactor: Use tryGet for type casts whenever possible 2023-06-21 15:04:46 +02:00
Malin Errenst 5943576b1b
refactor: Added type casts to match refactored matrix_api_lite 2023-06-16 12:42:10 +02:00
td 26e0d0954d
chore: add missing awaits to to_device call events listener 2023-05-13 20:06:04 +05:30
td 8e4f4486b2
chore: add missing awaits to to_device call events listener 2023-05-13 20:05:09 +05:30
Nicolas Werner a250384eca Merge branch 'td/singleShotSyncBeforeStaleChecker' into 'main'
chore: oneShotSync before staleCallChecker

Closes famedly/company/product-management#658

See merge request famedly/company/frontend/famedlysdk!1284
2023-05-03 06:35:56 +00:00
td 444ba47022
chore: oneShotSync before staleCallChecker
fix: while singleShotStaleCallChecker code seems to be correct we are seeings some random disconnects in group calls, this makes sure we have all the to-device messages we are supposed to have before checking for stale calls
2023-04-29 19:47:13 +05:30
td f240ece32c
fix: updateMuteStatus after kConnected
fix: makes sure any state/race issues we had with sdp packets or cloned streams get fixed automatically
2023-04-29 19:33:34 +05:30
td 046e2caf7d
fix: allow passing a WrappedMediaStream to GroupCall.enter() to use as the local user media stream
currently in the app we start the group call (but do not enter it), then we use the localStreams provided by it to show the setup page (enable/disable media devices). This causes some issues because the user hasn't joined the group call so the member state events don't update and the group call is killed if they just sit on the setup call page. Also creating a group call, sends notifications in our apps but no one has entered it. With this MR, apps can get their own user media, then edit that stream on setup page add it to GroupCall.enter(stream). This way, a group call doesn't have to be started and we get to do the setup page as well.
2023-04-25 14:18:45 +05:30
td 412bd71b23 Merge branch 'td/trySetTrackenabled' into 'main'
fix: update mute status on participants changed.

See merge request famedly/company/frontend/famedlysdk!1263
2023-04-13 14:57:04 +00:00
td 32ba85dc74
chore: stopMediaStream on all streams and make sure dispose runs everytime 2023-04-12 16:36:05 +05:30
td 05ba6368eb
fix: test if setting track enabled on participants changed helps with the media not working randomly issue 2023-04-06 01:18:09 +05:30
td d8d111b1b4
chore: ignore stale call checking for archived rooms 2023-03-29 19:04:10 +05:30
td b776e8f9df Merge branch 'td/asyncmesh' into 'main'
fix: make group call stuff async, let clients await what they need

See merge request famedly/company/frontend/famedlysdk!1244
2023-03-03 15:03:32 +00:00
Nicolas Werner 99036ca178 Merge branch 'td/stopCheckerLeave' into 'main'
chore: stop stale group call checker on room leave

See merge request famedly/company/frontend/famedlysdk!1245
2023-03-03 12:43:27 +00:00
cloudwebrtc f2e4126e0c chore: update. 2023-02-27 21:02:30 +08:00
cloudwebrtc 380051ab07 fix: skip invalid candidate. 2023-02-27 20:59:38 +08:00
td 936018bebc
chore: remove checker from local list 2023-02-27 11:54:56 +05:30
td fd4577ae84
chore: stop stale group call checker on room leave 2023-02-27 11:53:08 +05:30
td 9cb99377fb
fix: make group call stuff async, let clients await what they need 2023-02-24 22:31:10 +05:30
td 2d0fd9c393
fix: make group call stuff async, let clients await what they need 2023-02-24 22:17:27 +05:30
td 0c555919af
chore: add missing awaits in group call enter and leave funcs 2023-02-20 18:04:56 +05:30
td 7ce6595b3d
fix: ability to upgrade audio calls to video calls
fix: setMicrophoneMuted is now async to match setVideoMuted
2023-02-17 07:56:17 +05:30
td 0c9e129347
fix: clean expired member state events in group calls 2023-02-14 23:08:50 +05:30
td 1219604dc9
fix: hasActiveGroup call now checks all group calls
fix: implement activeGroupCallEvents to get all active group call state events in a room

refactor: move staleCallChecker and expires_Ts stuff to an extension on Room, instead of Voip because it makes much more sense per room rather than on voip, also makes testing easier

fix: populate local groupCalls list on instantiating VOIP()

fix: starting stale call checker is now handled by the sdk itself because clients can forget to do so
2023-02-14 15:02:28 +05:30
Nicolas Werner dc444538bf Merge branch 'td/expiresTsGroupCallMove' into 'main'
fix: move expires_ts according to spec (breaks group call compatibility with older sdks)

See merge request famedly/company/frontend/famedlysdk!1229
2023-02-01 09:23:17 +00:00
td bdf2c01a5a
fix: move expires_ts according to spec (breaks group call compatibility with older sdks)
this fixes group calls with element calls
2023-01-31 19:17:29 +05:30
td 448b61191a
fix: reject call on own device if you get a call reject 2023-01-30 23:14:04 +05:30
td 47a8e32c57 Merge branch 'td/activeSpeaker' into 'main'
feat: active speaker in group calls

See merge request famedly/company/frontend/famedlysdk!1228
2023-01-30 12:38:25 +00:00
td 00154f3c78
feat: active speaker in group calls 2023-01-30 15:46:21 +05:30
td ef0bf44b70
fix: missed incomingCallRoomId case in removing glare stuff during group calls 2023-01-28 03:42:58 +05:30
duanweiwei1982@gmail.com 0deb8d9e6e fix: fix glare side effects for group calls. 2023-01-28 01:10:29 +08:00
td 169ac9c88c Merge branch 'td/deprecateIsBg' into 'main'
chore: deprecate isBackground

See merge request famedly/company/frontend/famedlysdk!1225
2023-01-27 13:09:13 +00:00
Krille f9c0fdca69 Merge branch 'td/stopRingtone' into 'main'
fix: try to stop ringtone on call termination

Closes famedly/company/product-management#531

See merge request famedly/company/frontend/famedlysdk!1220
2023-01-27 12:58:09 +00:00
td 8a1ca08d7c Merge branch 'td/missedCallreject' into 'main'
fix: only send call reject event when needed

See merge request famedly/company/frontend/famedlysdk!1224
2023-01-27 12:56:45 +00:00
td 6246dd1301
chore: deprecate isBackground
This was used by callkeepv1 to fire a system notification or in call flutter screens on a new call, has always been set to false on web
2023-01-27 18:18:55 +05:30
td d8ac3b337a
fix: try to stop ringtone on call termination 2023-01-27 17:57:53 +05:30
td 10e6b9b0e6 Merge branch 'voip/remove-call-in-group-calls-correctly' into 'main'
fix: Fix can't correctly remove/cleanup call in group call.

See merge request famedly/company/frontend/famedlysdk!1222
2023-01-27 12:23:19 +00:00
Duan Weiwei 8ed9913eb6 fix: Fix can't correctly remove/cleanup call in group call. 2023-01-27 12:23:18 +00:00
td 9a232580be fix: send all servers for getIceServers 2023-01-27 12:05:07 +00:00
td ce0bdd9dc6
fix: only send call reject event when needed
This is fixes rejects by missed calls, which should only reject a new call locally and not send a event if they are already in a call
2023-01-27 17:16:41 +05:30
td 441df7851b Merge branch 'td/glare' into 'main'
fix: glare

Closes famedly/company/product-management#80

See merge request famedly/company/frontend/famedlysdk!1161
2023-01-23 06:48:09 +00:00
td 262b456010 fix: glare 2023-01-23 06:48:07 +00:00
td 5510049dec
fix: update groupCalls state stream
refactor: add a try catch around disposing streams. Decoding streams is broken in flutter_webrtc atm
2023-01-23 06:43:35 +05:30
td 9e649b7d37
fix: tweak some stuff in group calls code for group calls onboarding feat 2023-01-20 03:46:20 +05:30
Krille d6c4b530c5 refactor: room displayname calculation
This deprecates the displayname
getter in favor of the new
getLocalizedDisplayname which
gets the default localization
by default so it can be
called without defining localizations. It adds a method
to calculate if a room is an
abandoned DM room where
it is made sure that the room
is actually empty.
2023-01-17 08:51:07 +01:00
Duan Weiwei 579b01a405 Fix the timing error when the candidate arrives before the answer sdp. 2023-01-11 02:50:38 +00:00
Nicolas Werner 4ff07b58f4 Merge branch 'td/ringtone' into 'main'
fix: play ringtone for incoming calls before trying to getUserMedia

Closes famedly-web#656

See merge request famedly/company/frontend/famedlysdk!1204
2023-01-03 22:56:51 +00:00
td bd352b60a6
fix: play ringtone for incoming calls before trying to getUserMedia 2022-12-30 20:33:04 +05:30
cloudwebrtc 23552d5434 fix: Fix the called party not sending screensharing correctly. 2022-12-21 20:49:37 +08:00
Duan Weiwei 0bd8848ec5 chore: Add voip connection tester. 2022-12-01 14:14:08 +00:00
td 6da10bf233
fix: handleMissedCalls on remote hangups before answer 2022-11-18 12:13:02 +05:30
cloudwebrtc 81eacf7291 chore: upgrade webrtc_interface, remove WebRTCDelegate.cloneStream. 2022-11-12 18:48:26 +08:00
td 70af77b3ac Merge branch 'voip/fix-offre-issue-for-ios' into 'main'
fix: sdp negotiation issue on iOS, close #335.

Closes #335

See merge request famedly/company/frontend/famedlysdk!1150
2022-11-03 02:48:58 +00:00
cloudwebrtc d2d29b5966 chore: Put all hard-coded timeout parameters into the Timeouts class. 2022-11-03 09:16:55 +08:00
cloudwebrtc fdee6fe590 fix: sdp negotiation issue on iOS, close #335.
Update lib/src/voip/call.dart

chore: flutter format.
2022-11-01 22:17:48 +08:00
td 6566bb8eeb
chore: reduce error logging level of groupCall is null 2022-10-28 22:01:17 +05:30
Nicolas Werner 1656c51f05 Merge branch 'fix/audio-input-auto-selection' into 'main'
chore: update audio device for call when input device changes.

Closes famedly-web#587

See merge request famedly/company/frontend/famedlysdk!1144
2022-10-18 14:06:50 +00:00
cloudwebrtc e50c0ec641 chore: null safety. 2022-10-12 19:11:53 +08:00
td da4174c91a
feat: implement expire_ts in group calls and provide methods to terminate stale calls 2022-10-07 15:08:38 +05:30
duanweiwei1982@gmail.com 27527f0417 chore: update audio device for call when input device changes. 2022-10-05 21:38:45 +08:00
Duan Weiwei e5bc54ef88 Improve ice connection speed. 2022-09-23 20:02:09 +00:00
cloudwebrtc 62cd4e78fb chore: fix analyzer error. 2022-09-17 00:19:21 +08:00
cloudwebrtc e1ccda3cb1 chore: update. 2022-09-17 00:10:50 +08:00
cloudwebrtc df426e763a chore: Properly close usermedia/screen stream for 1v1/group calls. 2022-09-16 23:29:49 +08:00
cloudwebrtc 4a5cf7d55d chore: update. 2022-09-16 00:04:22 +08:00
cloudwebrtc 7e1abd2b95 chore: Fire events by default during hangup. 2022-09-14 23:48:29 +08:00
cloudwebrtc 62cca99edd fix: Ensures that p2p/group calls are in progress to reject new call invitations, and emits a call reject events. 2022-09-14 23:07:32 +08:00
cloudwebrtc b203b5dacb fix: Fix remote hangup call causing local screenstream to be released. 2022-09-13 10:34:07 +08:00
Nicolas Werner 94397e3cb9 Merge branch 'td/typo' into 'main'
chore: fix video muted updates for local stream

See merge request famedly/company/frontend/famedlysdk!1126
2022-09-09 10:09:26 +00:00
td f15b1cf942
chore: fix video muted updates for local stream 2022-09-09 14:39:56 +05:30
cloudwebrtc 40dd10d2e1 fix: release renderer to fix crashes on android. 2022-08-31 09:48:20 +08:00
cloudwebrtc 38c37ec168 fix: Fixed issue with group calls for web and flutter. 2022-08-25 10:35:50 +08:00
td ae1d7778d5 Merge branch 'voip/correctly-release-the-cloned-stream' into 'main'
chore: Correctly release the cloned stream.

See merge request famedly/company/frontend/famedlysdk!1101
2022-08-17 14:57:40 +00:00
td d528ded9f8
fix: setRemoteDescription before adding local stream to prevent early feedsChanged and negotiation 2022-08-17 20:11:16 +05:30
cloudwebrtc 8b60f17356 chore: Correctly release the cloned stream. 2022-08-15 23:51:10 +08:00
Nicolas Werner 6555f36d6d feat: switch from pedantic to lints 2022-08-15 14:15:51 +00:00
cloudwebrtc f2af63685c chore: Improve code. 2022-08-09 15:24:11 +08:00
cloudwebrtc 3f38a96d4f chore: Remove the previous room state listener method. 2022-08-08 22:54:08 +08:00
cloudwebrtc 9695a5ad10 chore: Use onRoomState to monitor group call creation and member join and leave. 2022-08-08 22:50:43 +08:00
Nicolas Werner e78bf3fc09 Merge branch 'fix/fix-incoming-call' into 'main'
fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app not to display incoming calls.

See merge request famedly/company/frontend/famedlysdk!1080
2022-08-05 11:57:08 +00:00
Duan Weiwei 2ef59b0651 chore: fix group call id mismatch. 2022-08-03 14:16:08 +00:00
td f04d8a9f40 Merge branch 'krille/import-sorter' into 'main'
refactor: Use import sorter and ci templates

See merge request famedly/company/frontend/famedlysdk!1079
2022-07-21 13:59:05 +00:00
td 5dd53a66d9 Merge branch 'nico/awaited-voip' into 'main'
fix: Await unawaited stuff in voip code

See merge request famedly/company/frontend/famedlysdk!1082
2022-07-21 13:56:13 +00:00
Christian Pauly 7885281c72 refactor: Use import sorter and ci templates 2022-07-21 15:44:04 +02:00
Nicolas Werner c14fe937ec fix: Await unawaited stuff in voip code 2022-07-19 13:19:59 +02:00
Jayesh Nirve e9315bbb8d
fix: set fixed time for ringer
element sets lifetime to 60000 which would reject our calls automatically
2022-07-19 15:18:37 +05:30
duanweiwei1982@gmail.com e789ab904f fix: Fix currentCID is null when handleNewCall is triggered, which will cause family-app. 2022-07-15 22:34:19 +08:00
Duan Weiwei 80b7e7c566 fix: Add WebRTCDelegate.cloneStream to adapt to platform differences. 2022-07-09 05:32:51 +00:00
Duan Weiwei 425274cb9c fix: fixed camera is still active after leaving the group call. 2022-07-01 18:37:37 +00:00
Christian Pauly 9628095ac9 feat: Implement CachedStreamController
This makes it possible to access the last
value of a stream at any time.
2022-06-30 09:22:53 +02:00
Nicolas Werner 9b8f3dae81 fix: ringtone not stopping when rejecting a call 2022-06-16 12:08:37 +02:00