diff --git a/package.json b/package.json index fa5e7e9..55611e7 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "access": "public" }, "dependencies": { - "@optimizely/optimizely-sdk": "^5.3.0", + "@optimizely/optimizely-sdk": "^5.3.2", "hoist-non-react-statics": "^3.3.0", "prop-types": "^15.6.2", "utility-types": "^2.1.0 || ^3.0.0" diff --git a/src/client.spec.ts b/src/client.spec.ts index 177770b..473c493 100644 --- a/src/client.spec.ts +++ b/src/client.spec.ts @@ -79,6 +79,7 @@ describe('ReactSDKClient', () => { getFeatureVariableString: jest.fn(() => null), getOptimizelyConfig: jest.fn(() => null), getProjectConfig: jest.fn(() => null), + isOdpIntegrated: jest.fn(() => true), onReady: jest.fn(() => Promise.resolve({ success: false })), close: jest.fn(), getVuid: jest.fn(), diff --git a/src/client.ts b/src/client.ts index 405493d..83140c4 100644 --- a/src/client.ts +++ b/src/client.ts @@ -54,7 +54,8 @@ export const DefaultUser: UserInfo = { attributes: {}, }; -export interface ReactSDKClient extends Omit { +export interface ReactSDKClient + extends Omit { user: UserInfo; onReady(opts?: { timeout?: number }): Promise; @@ -364,14 +365,14 @@ class OptimizelyReactSDKClient implements ReactSDKClient { } public async fetchQualifiedSegments(options?: optimizely.OptimizelySegmentOption[]): Promise { - if (this.odpExplicitlyOff) { - return true; - } - if (!this.userContext) { return false; } + if (this.odpExplicitlyOff || !this._client?.isOdpIntegrated()) { + return true; + } + return await this.userContext.fetchQualifiedSegments(options); } diff --git a/yarn.lock b/yarn.lock index 43f39ab..107591b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -656,9 +656,9 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@optimizely/optimizely-sdk@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@optimizely/optimizely-sdk/-/optimizely-sdk-5.3.0.tgz#dd1ca9d19287b31675d2f95c24234e074ade9a8b" - integrity sha512-PzfjcApCvcHGir8XWSG3IBaOJXvPADjqpzXypEWTfArrONA3FlmqdnwDAlxF4b557fo/UZI6ZCyj3AWrG8cprg== + version "5.3.2" + resolved "https://registry.yarnpkg.com/@optimizely/optimizely-sdk/-/optimizely-sdk-5.3.2.tgz#4a4918485c9319b2237f6e32d901c3ff7e998051" + integrity sha512-9d3sRusZfkN+CCq7C7DXp0bKam+dx2cDPPdcBQxLfwtTKFulzf6kGwnz4pVTtjwQ89vbJz10iJNMmD9qtSduPw== dependencies: decompress-response "^4.2.1" json-schema "^0.4.0"