Skip to content

Commit 447ec6a

Browse files
committed
feat: allow bootstraped flags to be used even if client fails to initialize
1 parent ff9da2b commit 447ec6a

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/provider.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,15 +77,17 @@ class LDProvider extends Component<PropsWithChildren<ProviderConfig>, LDHocState
7777
const { clientSideID, flags, options } = this.props;
7878
let ldClient = await this.props.ldClient;
7979
const reactOptions = this.getReactOptions();
80-
let unproxiedFlags;
80+
let unproxiedFlags = this.state.unproxiedFlags;
8181
let error: Error | undefined;
8282
if (ldClient) {
8383
unproxiedFlags = fetchFlags(ldClient, flags);
8484
} else {
8585
const initialisedOutput = await initLDClient(clientSideID, getContextOrUser(this.props), options, flags);
86-
unproxiedFlags = initialisedOutput.flags;
87-
ldClient = initialisedOutput.ldClient;
8886
error = initialisedOutput.error;
87+
if (!error) {
88+
unproxiedFlags = initialisedOutput.flags;
89+
}
90+
ldClient = initialisedOutput.ldClient;
8991
}
9092
this.setState({ unproxiedFlags, ...getFlagsProxy(ldClient, unproxiedFlags, reactOptions, flags), ldClient, error });
9193
this.subscribeToChanges(ldClient);

0 commit comments

Comments
 (0)