diff --git a/apps/meteor/client/contexts/CallContext.ts b/apps/meteor/client/contexts/CallContext.ts index 6c1845c58e12..b28a325e97cf 100644 --- a/apps/meteor/client/contexts/CallContext.ts +++ b/apps/meteor/client/contexts/CallContext.ts @@ -62,10 +62,16 @@ export const useIsCallEnabled = (): boolean => { return enabled; }; +let callerInfo: VoIpCallerInfo; + export const useIsCallReady = (): boolean => { - const { ready } = useContext(CallContext); + const context = useContext(CallContext); + + if (isCallContextReady(context)) { + callerInfo = context.voipClient.callerInfo; + } - return Boolean(ready); + return !!context.ready; }; export const useIsCallError = (): boolean => { @@ -99,7 +105,10 @@ export const useCallerInfo = (): VoIpCallerInfo => { }, [voipClient], ); - return useSyncExternalStore(subscribe, (): VoIpCallerInfo => voipClient.callerInfo); + + const getSnapshot = (): VoIpCallerInfo => callerInfo; + + return useSyncExternalStore(subscribe, getSnapshot); }; export const useCallCreateRoom = (): CallContextReady['createRoom'] => { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index a7c05b9cd978..7e3dc102e6cb 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -197,7 +197,7 @@ "@rocket.chat/forked-matrix-appservice-bridge": "^4.0.1", "@rocket.chat/forked-matrix-bot-sdk": "^0.6.0-beta.2", "@rocket.chat/fuselage": "0.32.0-dev.49", - "@rocket.chat/fuselage-hooks": "~0.31.14-dev.7", + "@rocket.chat/fuselage-hooks": "~0.31.14-dev.9", "@rocket.chat/fuselage-polyfills": "~0.31.12", "@rocket.chat/fuselage-toastbar": "^0.32.0-dev.22", "@rocket.chat/fuselage-tokens": "~0.31.12", diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 4a4f7b70e619..6ad0d35404f8 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -5,7 +5,7 @@ "devDependencies": { "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "^0.31.11", - "@rocket.chat/fuselage-hooks": "~0.31.14-dev.7", + "@rocket.chat/fuselage-hooks": "~0.31.14-dev.9", "@rocket.chat/rest-typings": "workspace:^", "@types/jest": "^27.4.1", "@types/mongodb": "~3.6.10", diff --git a/yarn.lock b/yarn.lock index c61e201e18b5..228796e111ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3529,15 +3529,15 @@ __metadata: languageName: node linkType: hard -"@rocket.chat/fuselage-hooks@npm:~0.31.14-dev.7": - version: 0.31.14-dev.7 - resolution: "@rocket.chat/fuselage-hooks@npm:0.31.14-dev.7" +"@rocket.chat/fuselage-hooks@npm:~0.31.14-dev.9": + version: 0.31.14-dev.9 + resolution: "@rocket.chat/fuselage-hooks@npm:0.31.14-dev.9" dependencies: use-sync-external-store: ~1.2.0 peerDependencies: "@rocket.chat/fuselage-tokens": "*" react: ^17.0.2 - checksum: ad2a1a61189d694e5e70ab73dfc20a7bea7ad0686be97993b24c6053b5cfa027e6b70690b75b5e9c1e8712a2b41f7d031a416c5e6781e9c4b31b5c0a40529ea0 + checksum: fa79c8c8a5b56d0c5ccd2118735a6eef5aaf99f1392161d90e72da4dc0cd1dc9007387df71ab428545f72a3c5c8c1648c086078724cb4698ec05044a0462e0b6 languageName: node linkType: hard @@ -3819,7 +3819,7 @@ __metadata: "@rocket.chat/forked-matrix-appservice-bridge": ^4.0.1 "@rocket.chat/forked-matrix-bot-sdk": ^0.6.0-beta.2 "@rocket.chat/fuselage": 0.32.0-dev.49 - "@rocket.chat/fuselage-hooks": ~0.31.14-dev.7 + "@rocket.chat/fuselage-hooks": ~0.31.14-dev.9 "@rocket.chat/fuselage-polyfills": ~0.31.12 "@rocket.chat/fuselage-toastbar": ^0.32.0-dev.22 "@rocket.chat/fuselage-tokens": ~0.31.12 @@ -4239,7 +4239,7 @@ __metadata: dependencies: "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": ^0.31.11 - "@rocket.chat/fuselage-hooks": ~0.31.14-dev.7 + "@rocket.chat/fuselage-hooks": ~0.31.14-dev.9 "@rocket.chat/rest-typings": "workspace:^" "@types/jest": ^27.4.1 "@types/mongodb": ~3.6.10