Skip to content

Commit 420302a

Browse files
authored
fix: wait for context before web experiment flags req (#161)
1 parent 468fa3a commit 420302a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

packages/experiment-browser/src/experimentClient.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -710,16 +710,20 @@ export class ExperimentClient implements Client {
710710

711711
private async doFlags(): Promise<void> {
712712
try {
713+
// Web experiment adds a user to the flags request
713714
const isWebExperiment =
714715
this.config?.['internalInstanceNameSuffix'] === 'web';
715-
const user = this.addContext(this.getUser());
716+
let user: ExperimentUser;
717+
if (isWebExperiment) {
718+
user = await this.addContextOrWait(this.getUser());
719+
}
716720
const flags = await this.flagApi.getFlags({
717721
libraryName: 'experiment-js-client',
718722
libraryVersion: PACKAGE_VERSION,
719723
timeoutMillis: this.config.fetchTimeoutMillis,
720724
deliveryMethod: isWebExperiment ? 'web' : undefined,
721725
user:
722-
isWebExperiment && (user?.user_id || user?.device_id)
726+
user?.user_id || user?.device_id
723727
? { user_id: user?.user_id, device_id: user?.device_id }
724728
: undefined,
725729
});

0 commit comments

Comments
 (0)