diff --git a/frontend/index.html b/frontend/index.html
index a7fa6b0b73..a74fbe07c1 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -6,6 +6,7 @@
+
Unleash
diff --git a/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx b/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx
index 3022827eb8..08420407df 100644
--- a/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx
+++ b/frontend/src/component/providers/PlausibleProvider/PlausibleProvider.tsx
@@ -11,8 +11,25 @@ export const PlausibleProvider: FC = ({ children }) => {
const [context, setContext] = useState | null>(
null
);
+
+ const getUIFlags = () => {
+ try {
+ const uiFlagsStr =
+ (
+ document.querySelector(
+ 'meta[name="uiFlags"]'
+ ) as HTMLMetaElement
+ )?.content || '{}';
+ return JSON.parse(uiFlagsStr);
+ } catch (e) {
+ return {};
+ }
+ };
+
+ const uiFlags = getUIFlags();
+
const { uiConfig } = useUiConfig();
- const isEnabled = Boolean(uiConfig?.flags?.T || LOCAL_TESTING);
+ const isEnabled = Boolean(uiConfig?.flags?.T || uiFlags.T || LOCAL_TESTING);
useEffect(() => {
if (isEnabled) {
diff --git a/src/lib/util/load-index-html.ts b/src/lib/util/load-index-html.ts
index 8ba5c5733f..9f732c379a 100644
--- a/src/lib/util/load-index-html.ts
+++ b/src/lib/util/load-index-html.ts
@@ -9,6 +9,7 @@ export async function loadIndexHTML(
publicFolder: string,
): Promise {
const { cdnPrefix, baseUriPath = '' } = config.server;
+ const uiFlags = JSON.stringify(config.ui.flags);
let indexHTML: string;
if (cdnPrefix) {
@@ -20,5 +21,5 @@ export async function loadIndexHTML(
.toString();
}
- return rewriteHTML(indexHTML, baseUriPath, cdnPrefix);
+ return rewriteHTML(indexHTML, baseUriPath, cdnPrefix, uiFlags);
}
diff --git a/src/lib/util/rewriteHTML.ts b/src/lib/util/rewriteHTML.ts
index 55eaff0dd4..6f05dd1e14 100644
--- a/src/lib/util/rewriteHTML.ts
+++ b/src/lib/util/rewriteHTML.ts
@@ -2,6 +2,7 @@ export const rewriteHTML = (
input: string,
rewriteValue: string,
cdnPrefix?: string,
+ uiFlags?: string,
): string => {
let result = input;
result = result.replace(/::baseUriPath::/gi, rewriteValue);
@@ -10,6 +11,8 @@ export const rewriteHTML = (
const faviconPrefix = cdnPrefix ? 'https://cdn.getunleash.io' : '';
result = result.replace(/::faviconPrefix::/gi, faviconPrefix);
+ result = result.replace(/::uiFlags::/gi, uiFlags);
+
result = result.replace(
/\/static/gi,
`${cdnPrefix || rewriteValue}/static`,