From 28373f5e37229bdd9f3956fd0c7501a1ba3f7672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ivar=20Conradi=20=C3=98sthus?= Date: Tue, 6 May 2025 19:05:06 +0200 Subject: [PATCH] fix: namespace flag-repo for unleash sdk (#9910) Did two things: 1. Use basePath to prefix the Unleash repo used with the Unleash Frontend SDK. 2. Use JSON.stringify as key for useEffect to avoid potential render loop --- .../UnleashFlagProvider/UnleashFlagProvider.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frontend/src/component/providers/UnleashFlagProvider/UnleashFlagProvider.tsx b/frontend/src/component/providers/UnleashFlagProvider/UnleashFlagProvider.tsx index 2710ede796..ab4440a621 100644 --- a/frontend/src/component/providers/UnleashFlagProvider/UnleashFlagProvider.tsx +++ b/frontend/src/component/providers/UnleashFlagProvider/UnleashFlagProvider.tsx @@ -1,7 +1,11 @@ import type React from 'react'; import { type FC, useEffect } from 'react'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; -import FlagProvider, { UnleashClient } from '@unleash/proxy-client-react'; +import FlagProvider, { + LocalStorageProvider, + UnleashClient, +} from '@unleash/proxy-client-react'; +import { basePath } from '../../../utils/formatPath'; const UNLEASH_API = 'https://hosted.edge.getunleash.io/api/frontend'; const DEV_TOKEN = ''; @@ -27,6 +31,7 @@ export const UnleashFlagProvider: FC<{ children?: React.ReactNode }> = ({ token = getUnleashFrontendToken(); client = new UnleashClient({ + storageProvider: new LocalStorageProvider(`${basePath}:unleash`), url: UNLEASH_API, clientKey: token || 'offline', appName: 'Unleash Cloud UI', @@ -45,7 +50,7 @@ export const UnleashFlagProvider: FC<{ children?: React.ReactNode }> = ({ } else { // nothing } - }, [uiConfig.unleashContext]); + }, [JSON.stringify(uiConfig.unleashContext)]); return (