diff --git a/package.json b/package.json index eab849e..9487319 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "i18next-browser-languagedetector": "^6.1.8", "i18next-http-backend": "^1.4.4", "lodash": "^4.17.21", - "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#90234402a71955d60ca75a068e5450bdafed0b41", + "matrix-js-sdk": "github:matrix-org/matrix-js-sdk#261bc81554580b442769a65ceed2b154178fbe1c", "matrix-widget-api": "^1.3.1", "mermaid": "^8.13.8", "normalize.css": "^8.0.1", diff --git a/src/room/useLoadGroupCall.ts b/src/room/useLoadGroupCall.ts index ae4de80..8347fb1 100644 --- a/src/room/useLoadGroupCall.ts +++ b/src/room/useLoadGroupCall.ts @@ -32,6 +32,8 @@ import { isLocalRoomId, createRoom, roomNameFromRoomId } from "../matrix-utils"; import { translatedError } from "../TranslatedError"; import { widget } from "../widget"; +const STATS_COLLECT_INTERVAL_TIME_MS = 30000; + export interface GroupCallLoadState { loading: boolean; error?: Error; @@ -94,10 +96,13 @@ export const useLoadGroupCall = ( const fetchOrCreateGroupCall = async (): Promise => { const room = await fetchOrCreateRoom(); logger.debug(`Fetched / joined room ${roomIdOrAlias}`); - const groupCall = client.getGroupCallForRoom(room.roomId); + let groupCall = client.getGroupCallForRoom(room.roomId); logger.debug("Got group call", groupCall?.groupCallId); - if (groupCall) return groupCall; + if (groupCall) { + groupCall.setGroupCallStatsInterval(STATS_COLLECT_INTERVAL_TIME_MS); + return groupCall; + } if ( !widget && @@ -112,12 +117,14 @@ export const useLoadGroupCall = ( createPtt ? "PTT" : "video" } call` ); - return await client.createGroupCall( + groupCall = await client.createGroupCall( room.roomId, createPtt ? GroupCallType.Voice : GroupCallType.Video, createPtt, GroupCallIntent.Room ); + groupCall.setGroupCallStatsInterval(STATS_COLLECT_INTERVAL_TIME_MS); + return groupCall; } // We don't have permission to create the call, so all we can do is wait @@ -126,6 +133,7 @@ export const useLoadGroupCall = ( const onGroupCallIncoming = (groupCall: GroupCall) => { if (groupCall?.room.roomId === room.roomId) { clearTimeout(timeout); + groupCall.setGroupCallStatsInterval(STATS_COLLECT_INTERVAL_TIME_MS); client.off( GroupCallEventHandlerEvent.Incoming, onGroupCallIncoming diff --git a/yarn.lock b/yarn.lock index c5d8f57..8c97326 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1821,10 +1821,10 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.3.1.tgz#b50a781709c81e10701004214340f25475a171a0" integrity sha512-zMM9Ds+SawiUkakS7y94Ymqx+S0ORzpG3frZirN3l+UlXUmSUR7hF4wxCVqW+ei94JzV5kt0uXBcoOEAuiydrw== -"@matrix-org/matrix-sdk-crypto-js@^0.1.0-alpha.6": - version "0.1.0-alpha.6" - resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-js/-/matrix-sdk-crypto-js-0.1.0-alpha.6.tgz#c0bdb9ab0d30179b8ef744d1b4010b0ad0ab9c3a" - integrity sha512-7hMffzw7KijxDyyH/eUyTfrLeCQHuyU3kaPOKGhcl3DZ3vx7bCncqjGMGTnxNPoP23I6gosvKSbO+3wYOT24Xg== +"@matrix-org/matrix-sdk-crypto-js@^0.1.0-alpha.7": + version "0.1.0-alpha.7" + resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-js/-/matrix-sdk-crypto-js-0.1.0-alpha.7.tgz#136375b84fd8a7e698f70fc969f668e541a61313" + integrity sha512-sQEG9cSfNji5NYBf5h7j5IxYVO0dwtAKoetaVyR+LhIXz/Su7zyEE3EwlAWAeJOFdAV/vZ5LTNyh39xADuNlTg== "@matrix-org/olm@https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz": version "3.2.14" @@ -10550,12 +10550,12 @@ matrix-events-sdk@0.0.1: resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz#c8c38911e2cb29023b0bbac8d6f32e0de2c957dd" integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA== -"matrix-js-sdk@github:matrix-org/matrix-js-sdk#90234402a71955d60ca75a068e5450bdafed0b41": - version "24.1.0" - resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/90234402a71955d60ca75a068e5450bdafed0b41" +"matrix-js-sdk@github:matrix-org/matrix-js-sdk#261bc81554580b442769a65ceed2b154178fbe1c": + version "25.0.0" + resolved "https://codeload.github.com/matrix-org/matrix-js-sdk/tar.gz/261bc81554580b442769a65ceed2b154178fbe1c" dependencies: "@babel/runtime" "^7.12.5" - "@matrix-org/matrix-sdk-crypto-js" "^0.1.0-alpha.6" + "@matrix-org/matrix-sdk-crypto-js" "^0.1.0-alpha.7" another-json "^0.2.0" bs58 "^5.0.0" content-type "^1.0.4"