@@ -328,18 +328,25 @@ export class FeatureFlag<R, T> {
328
328
// Get provider configuration if global provider is available
329
329
let providerConfig : FlagConfiguration | null = null ;
330
330
if ( flagProvider ) {
331
- providerConfig = await flagProvider . getFlag ( this . options . key , entities ) ;
332
-
333
- // If provider says flag is disabled, return early with default behavior
334
- if ( providerConfig && ! providerConfig . enabled ) {
335
- // For boolean flags, return false; for others, let decide function handle it
336
- if ( typeof decide === 'function' ) {
337
- const decisionResult = await decide ( {
338
- entities,
339
- provider : providerConfig ,
340
- } ) ;
341
- return decisionResult as R ;
331
+ try {
332
+ providerConfig = await flagProvider . getFlag ( this . options . key , entities ) ;
333
+
334
+ // If provider says flag is disabled, return early with default behavior
335
+ if ( providerConfig && ! providerConfig . enabled ) {
336
+ // For boolean flags, return false; for others, let decide function handle it
337
+ if ( typeof decide === 'function' ) {
338
+ const decisionResult = await decide ( {
339
+ entities,
340
+ provider : providerConfig ,
341
+ } ) ;
342
+ return decisionResult as R ;
343
+ }
342
344
}
345
+ } catch ( error ) {
346
+ Logger . error (
347
+ `Error fetching flag provider configuration for "${ this . options . key } ": ${ error } ` ,
348
+ ) ;
349
+ // continue with local decision if provider fails
343
350
}
344
351
}
345
352
0 commit comments