diff --git a/packages/experiment-browser/src/experimentClient.ts b/packages/experiment-browser/src/experimentClient.ts index 50fca2e4..8ffc6338 100644 --- a/packages/experiment-browser/src/experimentClient.ts +++ b/packages/experiment-browser/src/experimentClient.ts @@ -7,6 +7,7 @@ import { version as PACKAGE_VERSION } from '../package.json'; import { ExperimentConfig, Defaults } from './config'; import { ConnectorUserProvider } from './integration/connector'; +import { DefaultUserProvider } from './integration/default'; import { LocalStorage } from './storage/localStorage'; import { exposureEvent } from './types/analytics'; import { Client, FetchOptions } from './types/client'; @@ -462,9 +463,12 @@ export class ExperimentClient implements Client { user: ExperimentUser, ms: number, ): Promise { - if (this.userProvider instanceof ConnectorUserProvider) { - await this.userProvider.identityReady(ms); + if (this.userProvider instanceof DefaultUserProvider) { + if (this.userProvider.userProvider instanceof ConnectorUserProvider) { + await this.userProvider.userProvider.identityReady(ms); + } } + return this.addContext(user); } diff --git a/packages/experiment-browser/src/integration/default.ts b/packages/experiment-browser/src/integration/default.ts index c765d0b3..10a1524a 100644 --- a/packages/experiment-browser/src/integration/default.ts +++ b/packages/experiment-browser/src/integration/default.ts @@ -5,7 +5,7 @@ import { ExperimentUser } from '../types/user'; export class DefaultUserProvider implements ExperimentUserProvider { private readonly contextProvider: ApplicationContextProvider; - private readonly userProvider: ExperimentUserProvider | undefined; + public readonly userProvider: ExperimentUserProvider | undefined; constructor( applicationContextProvider: ApplicationContextProvider, userProvider?: ExperimentUserProvider,