fix: add null checks for multivariate_options in feature-list-store #6561
+5
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
Closes #6552
Adds defensive null checks for
originalFlag.multivariate_optionsin theeditFeatureMvfunction to prevent crashes when editing multivariate feature flags with incomplete store data.Root Cause: When
originalFlagexists in the store butmultivariate_optionsis undefined, the code crashes with:Fix:
originalFlag?.multivariate_optionscheck before accessing.find()(originalFlag?.multivariate_options || [])Sentry Issue: FLAGSMITH-FRONTEND-48Y - 47 events, 15 users affected
How to reproduce
multivariate_optionsis undefined (race condition or stale data)Alternative reproduction (simulating the bug):
feature-list-store.tsat theeditFeatureMvfunctionoriginalFlag.multivariate_options = undefinedin the consoleAfter the fix: The code gracefully handles undefined
multivariate_optionsby using optional chaining and fallback to empty array.How did you test this code?
multivariate_optionsexists