From 9de9ad3f3f6721fdb5519ac25c8f8fb96ff18832 Mon Sep 17 00:00:00 2001 From: Irene Ryu Date: Thu, 7 Nov 2024 09:26:14 +0900 Subject: [PATCH 1/2] allow localCacheEnabled override through sdkInitParams --- .../__test__/setupConnection.spec.ts | 23 +++++++++++++++++++ src/lib/hooks/useConnect/setupConnection.ts | 4 ++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts b/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts index 514d869c1..0cb13c75a 100644 --- a/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts +++ b/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts @@ -265,4 +265,27 @@ describe('useConnect/setupConnection/initSDK', () => { }); expect(newSdk).toEqual(mockSdk); }); + it('should override default localCacheEnabled when provided in sdkInitParams', async () => { + const setUpConnectionProps = generateSetUpConnectionParams(); + const { appId } = setUpConnectionProps; + const sdkInitParams = { + localCacheEnabled: false, + }; + + const newSdk = initSDK({ appId, sdkInitParams }); + + // @ts-ignore + expect(require('@sendbird/chat').init).toBeCalledWith({ + appId, + newInstance: false, + modules: [ + // @ts-ignore + new (require('@sendbird/chat/groupChannel').GroupChannelModule)(), + // @ts-ignore + new (require('@sendbird/chat/openChannel').OpenChannelModule)(), + ], + localCacheEnabled: false, + }); + expect(newSdk).toEqual(mockSdk); + }); }); diff --git a/src/lib/hooks/useConnect/setupConnection.ts b/src/lib/hooks/useConnect/setupConnection.ts index 1872aac25..2da225df3 100644 --- a/src/lib/hooks/useConnect/setupConnection.ts +++ b/src/lib/hooks/useConnect/setupConnection.ts @@ -173,12 +173,12 @@ export function initSDK({ sdkInitParams?: SendbirdChatInitParams; customExtensionParams?: CustomExtensionParams; }) { - const params = Object.assign(sdkInitParams, { + const params = Object.assign({}, { appId, modules: [new GroupChannelModule(), new OpenChannelModule()], newInstance: isNewApp, localCacheEnabled: true, - }); + }, sdkInitParams); if (customApiHost) params.customApiHost = customApiHost; if (customWebSocketHost) params.customWebSocketHost = customWebSocketHost; From 3581646448dcd6c588c5a2a5461e6b9586e03f8f Mon Sep 17 00:00:00 2001 From: Irene Ryu Date: Thu, 7 Nov 2024 09:46:39 +0900 Subject: [PATCH 2/2] Fix lint --- src/lib/hooks/useConnect/setupConnection.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/hooks/useConnect/setupConnection.ts b/src/lib/hooks/useConnect/setupConnection.ts index 2da225df3..208fe2e27 100644 --- a/src/lib/hooks/useConnect/setupConnection.ts +++ b/src/lib/hooks/useConnect/setupConnection.ts @@ -173,6 +173,7 @@ export function initSDK({ sdkInitParams?: SendbirdChatInitParams; customExtensionParams?: CustomExtensionParams; }) { + // eslint-disable-next-line prefer-object-spread -- not to break the existing types const params = Object.assign({}, { appId, modules: [new GroupChannelModule(), new OpenChannelModule()],