mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-24 01:18:01 +02:00
fix: update stickiness between tabs (#5991)
Fixes a bug where stickiness update to the main strategy would not propagate to strategy variants
This commit is contained in:
parent
8458619d82
commit
5305c868e5
@ -353,6 +353,25 @@ export const NewFeatureStrategyForm = ({
|
||||
|
||||
const showVariants =
|
||||
strategy.parameters && 'stickiness' in strategy.parameters;
|
||||
|
||||
const stickiness =
|
||||
strategy?.parameters && 'stickiness' in strategy?.parameters
|
||||
? String(strategy.parameters.stickiness)
|
||||
: 'default';
|
||||
|
||||
useEffect(() => {
|
||||
setStrategy((prev) => ({
|
||||
...prev,
|
||||
variants: (strategy.variants || []).map((variant) => ({
|
||||
stickiness,
|
||||
name: variant.name,
|
||||
weight: variant.weight,
|
||||
payload: variant.payload,
|
||||
weightType: variant.weightType,
|
||||
})),
|
||||
}));
|
||||
}, [stickiness, JSON.stringify(strategy.variants)]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<StyledHeaderBox>
|
||||
|
@ -42,7 +42,15 @@ export const NewStrategyVariants: FC<{
|
||||
editable?: boolean;
|
||||
}> = ({ strategy, setStrategy, projectId, environment, editable }) => {
|
||||
const { trackEvent } = usePlausibleTracker();
|
||||
const [variantsEdit, setVariantsEdit] = useState<IFeatureVariantEdit[]>([]);
|
||||
const initialVariants = (strategy.variants || []).map((variant) => ({
|
||||
...variant,
|
||||
new: editable || false,
|
||||
isValid: true,
|
||||
id: uuidv4(),
|
||||
overrides: [],
|
||||
}));
|
||||
const [variantsEdit, setVariantsEdit] =
|
||||
useState<IFeatureVariantEdit[]>(initialVariants);
|
||||
const theme = useTheme();
|
||||
|
||||
const stickiness =
|
||||
@ -61,18 +69,6 @@ export const NewStrategyVariants: FC<{
|
||||
};
|
||||
}, [JSON.stringify(variantsEdit)]);
|
||||
|
||||
useEffect(() => {
|
||||
setVariantsEdit(
|
||||
(strategy.variants || []).map((variant) => ({
|
||||
...variant,
|
||||
new: editable || false,
|
||||
isValid: true,
|
||||
id: uuidv4(),
|
||||
overrides: [],
|
||||
})),
|
||||
);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
setStrategy((prev) => ({
|
||||
...prev,
|
||||
|
Loading…
Reference in New Issue
Block a user