From b8acb92f411a8bd4ed0dc4c1cb4e8182d8f397af Mon Sep 17 00:00:00 2001 From: wadii Date: Fri, 6 Mar 2026 15:33:23 +0700 Subject: [PATCH 1/5] feat(experiment): init-internal-flagsmith-instance-with-analytics-config --- frontend/api/index.js | 4 ++++ frontend/common/loadChat.ts | 2 +- frontend/common/providers/ConfigProvider.js | 2 +- frontend/common/stores/config-store.js | 7 +++++++ frontend/common/stores/feature-list-store.ts | 2 +- frontend/common/useViewMode.ts | 2 +- frontend/common/utils/utils.tsx | 2 +- frontend/package-lock.json | 7 +++++++ frontend/package.json | 1 + frontend/web/components/Announcement.tsx | 2 +- frontend/web/components/AnnouncementPerPage.tsx | 2 +- frontend/web/components/JSONReference.tsx | 2 +- .../modals/create-feature/tabs/CreateFeature.tsx | 1 - frontend/web/project/api.ts | 2 +- frontend/web/project/libs.js | 2 +- 15 files changed, 29 insertions(+), 11 deletions(-) diff --git a/frontend/api/index.js b/frontend/api/index.js index 3a1d2a546765..eb1e17da4fb8 100755 --- a/frontend/api/index.js +++ b/frontend/api/index.js @@ -117,6 +117,10 @@ app.get('/config/project-overrides', (req, res) => { name: 'e2eToken', value: process.env[`E2E_TEST_TOKEN_${(process.env.ENV || 'dev').toUpperCase()}`] || process.env.E2E_TEST_TOKEN || '', }, + { + name: 'evaluationAnalyticsServerUrl', + value: process.env.EVALUATION_ANALYTICS_SERVER_URL, + }, ] let output = values.map(getVariable).join('') res.setHeader('Cache-Control', 's-max-age=1, stale-while-revalidate') diff --git a/frontend/common/loadChat.ts b/frontend/common/loadChat.ts index f1cfd9952404..7f38dd002129 100644 --- a/frontend/common/loadChat.ts +++ b/frontend/common/loadChat.ts @@ -1,4 +1,4 @@ -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import moment from 'moment' import AccountStore from './stores/account-store' import { getStore } from './store' diff --git a/frontend/common/providers/ConfigProvider.js b/frontend/common/providers/ConfigProvider.js index c6293a9da735..91e6c64a7f18 100644 --- a/frontend/common/providers/ConfigProvider.js +++ b/frontend/common/providers/ConfigProvider.js @@ -1,5 +1,5 @@ import React, { Component } from 'react' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import ConfigStore from 'common/stores/config-store' export default (WrappedComponent) => { diff --git a/frontend/common/stores/config-store.js b/frontend/common/stores/config-store.js index 5bb18cd66056..f4fce0916aa6 100644 --- a/frontend/common/stores/config-store.js +++ b/frontend/common/stores/config-store.js @@ -44,6 +44,13 @@ flagsmith environmentID: Project.flagsmith, onChange: controller.loaded, realtime: window.E2E ? false : Project.flagsmithRealtime, + ...(Project.evaluationAnalyticsServerUrl + ? { + evaluationAnalyticsConfig: { + analyticsServerUrl: Project.evaluationAnalyticsServerUrl, + }, + } + : {}), }) .catch(() => { controller.onError() diff --git a/frontend/common/stores/feature-list-store.ts b/frontend/common/stores/feature-list-store.ts index bdd35988afb3..20b081f57b81 100644 --- a/frontend/common/stores/feature-list-store.ts +++ b/frontend/common/stores/feature-list-store.ts @@ -24,7 +24,7 @@ import { import Utils from 'common/utils/utils' import Actions from 'common/dispatcher/action-constants' import Project from 'common/project' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import API from 'project/api' import { Req } from 'common/types/requests' import { getVersionFeatureState } from 'common/services/useVersionFeatureState' diff --git a/frontend/common/useViewMode.ts b/frontend/common/useViewMode.ts index 3681f37eef7f..f252d50e7e5a 100644 --- a/frontend/common/useViewMode.ts +++ b/frontend/common/useViewMode.ts @@ -1,4 +1,4 @@ -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import { useState, useCallback } from 'react' export type ViewMode = diff --git a/frontend/common/utils/utils.tsx b/frontend/common/utils/utils.tsx index cefdcffdeb4b..84d513221a47 100644 --- a/frontend/common/utils/utils.tsx +++ b/frontend/common/utils/utils.tsx @@ -16,7 +16,7 @@ import { PConfidence, UserPermissions, } from 'common/types/responses' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import { ReactNode } from 'react' import _ from 'lodash' import ErrorMessage from 'components/ErrorMessage' diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 5b46aba49c1f..9abbea14fad1 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,6 +23,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", + "@flagsmith/flagsmith": "^11.0.0-internal.1", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", @@ -2779,6 +2780,12 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@flagsmith/flagsmith": { + "version": "11.0.0-internal.1", + "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.1.tgz", + "integrity": "sha512-ZcNP2qom0FuoLEADTRaAUcXQs/E/7YGQJjtTnrCgbsbeyXwNROtAq0kp01QfjSrES5WHUj8SVhizv+x3gWpDKA==", + "license": "BSD-3-Clause" + }, "node_modules/@floating-ui/core": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", diff --git a/frontend/package.json b/frontend/package.json index 311bf3e129e5..1f3a198c262a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -51,6 +51,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", + "@flagsmith/flagsmith": "^11.0.0-internal.1", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", diff --git a/frontend/web/components/Announcement.tsx b/frontend/web/components/Announcement.tsx index bfc64e1b3394..05481d2ed078 100644 --- a/frontend/web/components/Announcement.tsx +++ b/frontend/web/components/Announcement.tsx @@ -1,6 +1,6 @@ import React, { FC } from 'react' import InfoMessage from './InfoMessage' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import Utils from 'common/utils/utils' export type AnnouncementValueType = { diff --git a/frontend/web/components/AnnouncementPerPage.tsx b/frontend/web/components/AnnouncementPerPage.tsx index 9e666d301dc9..67b4dca6b6f0 100644 --- a/frontend/web/components/AnnouncementPerPage.tsx +++ b/frontend/web/components/AnnouncementPerPage.tsx @@ -1,6 +1,6 @@ import React, { FC } from 'react' import InfoMessage from './InfoMessage' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import Utils from 'common/utils/utils' import { AnnouncementValueType } from './Announcement' import { matchPath } from 'react-router-dom' diff --git a/frontend/web/components/JSONReference.tsx b/frontend/web/components/JSONReference.tsx index 1700c748266e..9940741d0e62 100644 --- a/frontend/web/components/JSONReference.tsx +++ b/frontend/web/components/JSONReference.tsx @@ -4,7 +4,7 @@ import { isArray, isObject } from 'lodash' import Highlight from './Highlight' import Button from './base/forms/Button' import Switch from './Switch' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import Icon from './Icon' import Utils from 'common/utils/utils' diff --git a/frontend/web/components/modals/create-feature/tabs/CreateFeature.tsx b/frontend/web/components/modals/create-feature/tabs/CreateFeature.tsx index bbed8d9abe89..38d8e1bdc571 100644 --- a/frontend/web/components/modals/create-feature/tabs/CreateFeature.tsx +++ b/frontend/web/components/modals/create-feature/tabs/CreateFeature.tsx @@ -8,7 +8,6 @@ import { useHasPermission } from 'common/providers/Permission' import Switch from 'components/Switch' import Tooltip from 'components/Tooltip' import Icon from 'components/Icon' -import Utils from 'common/utils/utils' import { useCreateTagMutation, useGetTagsQuery } from 'common/services/useTag' type CreateFeatureTabProps = { diff --git a/frontend/web/project/api.ts b/frontend/web/project/api.ts index 7890c4fe175e..03c976462012 100644 --- a/frontend/web/project/api.ts +++ b/frontend/web/project/api.ts @@ -10,7 +10,7 @@ const Cookies = require('js-cookie') import Project from 'common/project' import { AccountModel, User } from 'common/types/responses' import AccountStore from 'common/stores/account-store' -import flagsmith from 'flagsmith' +import flagsmith from '@flagsmith/flagsmith' import Utils from 'common/utils/utils' import loadChat, { identifyChatUser } from 'common/loadChat' diff --git a/frontend/web/project/libs.js b/frontend/web/project/libs.js index 2bfd98872258..c6e74c62545b 100644 --- a/frontend/web/project/libs.js +++ b/frontend/web/project/libs.js @@ -1,4 +1,4 @@ -import flagsmith from 'flagsmith'; +import flagsmith from '@flagsmith/flagsmith'; import * as Sentry from '@sentry/browser'; // Optimise lodash import each from 'lodash/each'; From b6104809a27b1386f6e1813d429abde87a423bfe Mon Sep 17 00:00:00 2001 From: wadii Date: Fri, 6 Mar 2026 16:55:06 +0700 Subject: [PATCH 2/5] feat: bump-internal-version --- frontend/package-lock.json | 8 ++++---- frontend/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9abbea14fad1..ba07eb7416a2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,7 +23,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.1", + "@flagsmith/flagsmith": "^11.0.0-internal.2", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", @@ -2781,9 +2781,9 @@ } }, "node_modules/@flagsmith/flagsmith": { - "version": "11.0.0-internal.1", - "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.1.tgz", - "integrity": "sha512-ZcNP2qom0FuoLEADTRaAUcXQs/E/7YGQJjtTnrCgbsbeyXwNROtAq0kp01QfjSrES5WHUj8SVhizv+x3gWpDKA==", + "version": "11.0.0-internal.2", + "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.2.tgz", + "integrity": "sha512-mVBg7nWf4SV/cpngbtanyi77oFmHBoRTdqANauuBhZOLWhnLhIUY/TC3X+SBd1yDUVLuT1SmzfAdRmiypebCNw==", "license": "BSD-3-Clause" }, "node_modules/@floating-ui/core": { diff --git a/frontend/package.json b/frontend/package.json index 1f3a198c262a..faae5449a930 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -51,7 +51,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.1", + "@flagsmith/flagsmith": "^11.0.0-internal.2", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", From 0e8d08198a72bce62114eabc5761b6404cea06c3 Mon Sep 17 00:00:00 2001 From: wadii Date: Fri, 6 Mar 2026 17:41:42 +0700 Subject: [PATCH 3/5] feat: bump-to-internal-3 --- frontend/package-lock.json | 8 ++++---- frontend/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index ba07eb7416a2..bf1eeda25f27 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,7 +23,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.2", + "@flagsmith/flagsmith": "^11.0.0-internal.3", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", @@ -2781,9 +2781,9 @@ } }, "node_modules/@flagsmith/flagsmith": { - "version": "11.0.0-internal.2", - "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.2.tgz", - "integrity": "sha512-mVBg7nWf4SV/cpngbtanyi77oFmHBoRTdqANauuBhZOLWhnLhIUY/TC3X+SBd1yDUVLuT1SmzfAdRmiypebCNw==", + "version": "11.0.0-internal.3", + "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.3.tgz", + "integrity": "sha512-lc3WvblbB+tJ7SjTIWJWhNwbF80JpUzs7EVrT5AM6QlFZol0jBcbtzOPloyvrio9VhSBveT5rYqu5kBXvWSBTw==", "license": "BSD-3-Clause" }, "node_modules/@floating-ui/core": { diff --git a/frontend/package.json b/frontend/package.json index faae5449a930..ba8b6e47ee99 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -51,7 +51,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.2", + "@flagsmith/flagsmith": "^11.0.0-internal.3", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", From 221ba3e2d034242739c298ce77b86d9176a3da0a Mon Sep 17 00:00:00 2001 From: wadii Date: Mon, 9 Mar 2026 15:59:42 +0700 Subject: [PATCH 4/5] feat: bumped-internal-flagsmith-version --- frontend/package-lock.json | 8 ++++---- frontend/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bf1eeda25f27..91b40a10a159 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,7 +23,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.3", + "@flagsmith/flagsmith": "^11.0.0-internal.4", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", @@ -2781,9 +2781,9 @@ } }, "node_modules/@flagsmith/flagsmith": { - "version": "11.0.0-internal.3", - "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.3.tgz", - "integrity": "sha512-lc3WvblbB+tJ7SjTIWJWhNwbF80JpUzs7EVrT5AM6QlFZol0jBcbtzOPloyvrio9VhSBveT5rYqu5kBXvWSBTw==", + "version": "11.0.0-internal.4", + "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.4.tgz", + "integrity": "sha512-3CeYIFhhgnd29T9kONPrr3ru75QnLRA8VPQPwpeuke8/ih5der8N5P+SVOF/s3+h6Aom1tdkGpnHKvcVjH1A8g==", "license": "BSD-3-Clause" }, "node_modules/@floating-ui/core": { diff --git a/frontend/package.json b/frontend/package.json index ba8b6e47ee99..39678a5ba369 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -51,7 +51,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.3", + "@flagsmith/flagsmith": "^11.0.0-internal.4", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", From b04583768574d1852242fe58a3ca6f33108e4bbf Mon Sep 17 00:00:00 2001 From: wadii Date: Mon, 9 Mar 2026 16:10:06 +0700 Subject: [PATCH 5/5] feat: bumped-internal-flagsmith-version --- frontend/package-lock.json | 8 ++++---- frontend/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 91b40a10a159..bf5f7905b39b 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -23,7 +23,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.4", + "@flagsmith/flagsmith": "^11.0.0-internal.5", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8", @@ -2781,9 +2781,9 @@ } }, "node_modules/@flagsmith/flagsmith": { - "version": "11.0.0-internal.4", - "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.4.tgz", - "integrity": "sha512-3CeYIFhhgnd29T9kONPrr3ru75QnLRA8VPQPwpeuke8/ih5der8N5P+SVOF/s3+h6Aom1tdkGpnHKvcVjH1A8g==", + "version": "11.0.0-internal.5", + "resolved": "https://registry.npmjs.org/@flagsmith/flagsmith/-/flagsmith-11.0.0-internal.5.tgz", + "integrity": "sha512-DYvLbh+w3SboOlk2xHjCCjf+NbIkLuddo+vO3Z/vjlEE+icd6rl8JTARynap5EgXG4DHuOUCEiu4UCepRPWZLQ==", "license": "BSD-3-Clause" }, "node_modules/@floating-ui/core": { diff --git a/frontend/package.json b/frontend/package.json index 39678a5ba369..d8a13bd63a0b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -51,7 +51,7 @@ "@babel/register": "^7.12.1", "@datadog/ui-extensions-react": "0.32.0", "@datadog/ui-extensions-sdk": "0.32.0", - "@flagsmith/flagsmith": "^11.0.0-internal.4", + "@flagsmith/flagsmith": "^11.0.0-internal.5", "@ionic/react": "^7.5.3", "@material-ui/core": "4.12.4", "@react-oauth/google": "^0.2.8",