From 8a1f470277228bda5cd79fd91dd4d250eaf396ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andy=20M=C3=A9ndez?= Date: Tue, 9 Jun 2026 14:20:54 +0200 Subject: [PATCH 1/4] feat(locatorSdk): add optional correlation parameter to setLocatorSdkMode Ref: VIVO-5866 --- src/family-locator.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/family-locator.ts b/src/family-locator.ts index 7ce4eae..d14f1a7 100644 --- a/src/family-locator.ts +++ b/src/family-locator.ts @@ -17,11 +17,15 @@ export const setupLocatorSdkConfig = ( export const getLocatorSdkState = (): Promise<{state: string}> => postMessageToNativeApp({type: 'GET_LOCATOR_SDK_STATE'}); -export const setLocatorSdkMode = (mode: LocatorSdkMode): Promise => +export const setLocatorSdkMode = ( + mode: LocatorSdkMode, + correlation?: Record, +): Promise => postMessageToNativeApp({ type: 'SET_LOCATOR_SDK_MODE', payload: { mode, + ...(correlation ? {correlation} : {}), }, }); From ab95690b099494cdce07aa53bb446a963f9dcbbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andy=20M=C3=A9ndez?= Date: Tue, 9 Jun 2026 14:26:06 +0200 Subject: [PATCH 2/4] feat(locatorSdk): include correlation parameter in setLocatorSdkMode test Ref: VIVO-5866 --- src/__tests__/family-locator-test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/__tests__/family-locator-test.ts b/src/__tests__/family-locator-test.ts index e2c489c..be55461 100644 --- a/src/__tests__/family-locator-test.ts +++ b/src/__tests__/family-locator-test.ts @@ -100,7 +100,10 @@ test('setLocatorSdkMode', async () => { createFakeAndroidPostMessage({ checkMessage: (msg) => { expect(msg.type).toBe('SET_LOCATOR_SDK_MODE'); - expect(msg.payload).toEqual({mode: 'observed'}); + expect(msg.payload).toEqual({ + mode: 'observed', + correlation: {traceId: 'abc123'}, + }); }, getResponse: (msg) => ({ type: 'SET_LOCATOR_SDK_MODE', @@ -108,7 +111,7 @@ test('setLocatorSdkMode', async () => { }), }); - const res = await setLocatorSdkMode('observed'); + const res = await setLocatorSdkMode('observed', {traceId: 'abc123'}); expect(res).toBeUndefined(); }); From 78868872187a85b0ca0c84887305e67753847d00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andy=20M=C3=A9ndez?= Date: Thu, 11 Jun 2026 11:35:59 +0200 Subject: [PATCH 3/4] VIVO-5866 apply some feedback from CR --- README.md | 2 +- src/__tests__/family-locator-test.ts | 15 +++++++++------ src/family-locator.ts | 4 +++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 89fd83e..a0e028e 100644 --- a/README.md +++ b/README.md @@ -1714,7 +1714,7 @@ Start real-time sharing or SOS. Wrapper for `setSdkMode`. See SDK type https://datamob.gitbook.io/doc-locator/TQfkVhcPsZiXIvXxq8Bv/english/service#id-4.5.3-setsdkmode-mode-locatorsdkmode-void ```ts -setLocatorSdkMode: (mode: string) => Promise; +setLocatorSdkMode: (mode: string, correlation?: Record) => Promise; ``` ### getLocatorJwtToken diff --git a/src/__tests__/family-locator-test.ts b/src/__tests__/family-locator-test.ts index be55461..4e1f069 100644 --- a/src/__tests__/family-locator-test.ts +++ b/src/__tests__/family-locator-test.ts @@ -96,14 +96,17 @@ test('getLocatorSdkState', async () => { expect(res).toEqual({state: 'collecting'}); }); -test('setLocatorSdkMode', async () => { +test.each` + name | mode | correlation | expectedPayload + ${'with correlation'} | ${'observed'} | ${{traceId: 'abc123'}} | ${{mode: 'observed', correlation: {traceId: 'abc123'}}} + ${'with multiple correlation fields'} | ${'sos'} | ${{traceId: 'xyz', spanId: '456'}} | ${{mode: 'sos', correlation: {traceId: 'xyz', spanId: '456'}}} + ${'without correlation'} | ${'observed'} | ${undefined} | ${{mode: 'observed'}} + ${'with empty correlation'} | ${'hidden'} | ${{}} | ${{mode: 'hidden'}} +`('setLocatorSdkMode $name', async ({mode, correlation, expectedPayload}) => { createFakeAndroidPostMessage({ checkMessage: (msg) => { expect(msg.type).toBe('SET_LOCATOR_SDK_MODE'); - expect(msg.payload).toEqual({ - mode: 'observed', - correlation: {traceId: 'abc123'}, - }); + expect(msg.payload).toEqual(expectedPayload); }, getResponse: (msg) => ({ type: 'SET_LOCATOR_SDK_MODE', @@ -111,7 +114,7 @@ test('setLocatorSdkMode', async () => { }), }); - const res = await setLocatorSdkMode('observed', {traceId: 'abc123'}); + const res = await setLocatorSdkMode(mode, correlation); expect(res).toBeUndefined(); }); diff --git a/src/family-locator.ts b/src/family-locator.ts index d14f1a7..6990818 100644 --- a/src/family-locator.ts +++ b/src/family-locator.ts @@ -25,7 +25,9 @@ export const setLocatorSdkMode = ( type: 'SET_LOCATOR_SDK_MODE', payload: { mode, - ...(correlation ? {correlation} : {}), + ...(correlation && Object.keys(correlation).length > 0 + ? {correlation} + : {}), }, }); From 38df64f50e95999557329e866e48320cde14dbf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andy=20M=C3=A9ndez?= Date: Thu, 11 Jun 2026 11:42:46 +0200 Subject: [PATCH 4/4] fix(locatorSdk): correct indentation in setLocatorSdkMode payload --- src/family-locator.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/family-locator.ts b/src/family-locator.ts index 6990818..8a85eb7 100644 --- a/src/family-locator.ts +++ b/src/family-locator.ts @@ -26,8 +26,8 @@ export const setLocatorSdkMode = ( payload: { mode, ...(correlation && Object.keys(correlation).length > 0 - ? {correlation} - : {}), + ? {correlation} + : {}), }, });