diff --git a/frontend/src/component/App.tsx b/frontend/src/component/App.tsx
index f71425e5f4..505dea5adf 100644
--- a/frontend/src/component/App.tsx
+++ b/frontend/src/component/App.tsx
@@ -19,7 +19,6 @@ import { styled } from '@mui/material';
import { InitialRedirect } from './InitialRedirect';
import { InternalBanners } from './banners/internalBanners/InternalBanners';
import { ExternalBanners } from './banners/externalBanners/ExternalBanners';
-import { EdgeUpgradeBanner } from './banners/EdgeUpgradeBanner/EdgeUpgradeBanner';
import { LicenseBanner } from './banners/internalBanners/LicenseBanner';
import { Demo } from './demo/Demo';
@@ -66,7 +65,6 @@ export const App = () => {
-
diff --git a/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx b/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx
deleted file mode 100644
index cf132250c1..0000000000
--- a/frontend/src/component/banners/EdgeUpgradeBanner/EdgeUpgradeBanner.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { useUiFlag } from 'hooks/useUiFlag';
-import { ConditionallyRender } from '../../common/ConditionallyRender/ConditionallyRender';
-import { Banner } from '../Banner/Banner';
-import type { IBanner } from '../../../interfaces/banner';
-
-export const EdgeUpgradeBanner = () => {
- const displayUpgradeEdgeBanner = useUiFlag('displayUpgradeEdgeBanner');
- const upgradeEdgeBanner: IBanner = {
- message: `We noticed that an outdated Edge version is connected to this Unleash instance. To ensure you continue to receive metrics, we recommend upgrading to v17.0.0 or later.`,
- link: 'https://github.com/Unleash/unleash-edge',
- linkText: 'Get latest',
- variant: 'warning',
- };
- return (
- <>
- }
- />
- >
- );
-};
diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts
index cc0d7b1cad..0f2e6b6b94 100644
--- a/frontend/src/interfaces/uiConfig.ts
+++ b/frontend/src/interfaces/uiConfig.ts
@@ -73,7 +73,6 @@ export type UiFlags = {
enableLicense?: boolean;
adminTokenKillSwitch?: boolean;
feedbackComments?: Variant;
- displayUpgradeEdgeBanner?: boolean;
showInactiveUsers?: boolean;
featureSearchFeedbackPosting?: boolean;
userAccessUIEnabled?: boolean;
diff --git a/src/lib/__snapshots__/create-config.test.ts.snap b/src/lib/__snapshots__/create-config.test.ts.snap
index bea5edc43e..ac019f1389 100644
--- a/src/lib/__snapshots__/create-config.test.ts.snap
+++ b/src/lib/__snapshots__/create-config.test.ts.snap
@@ -88,7 +88,6 @@ exports[`should create default config 1`] = `
"disablePublishUnannouncedEvents": false,
"disableShowContextFieldSelectionValues": false,
"disableUpdateMaxRevisionId": false,
- "displayEdgeBanner": false,
"displayTrafficDataUsage": false,
"edgeBulkMetrics": false,
"embedProxy": true,
diff --git a/src/lib/routes/admin-api/config.test.ts b/src/lib/routes/admin-api/config.test.ts
index d64b5d63b3..364712cf8e 100644
--- a/src/lib/routes/admin-api/config.test.ts
+++ b/src/lib/routes/admin-api/config.test.ts
@@ -56,45 +56,3 @@ test('should get ui config', async () => {
expect(body.segmentValuesLimit).toEqual(DEFAULT_SEGMENT_VALUES_LIMIT);
expect(body.strategySegmentsLimit).toEqual(DEFAULT_STRATEGY_SEGMENTS_LIMIT);
});
-
-describe('displayUpgradeEdgeBanner', () => {
- test('ui config should have displayUpgradeEdgeBanner to be set if an instance using edge has been seen', async () => {
- await stores.clientInstanceStore.insert({
- appName: 'my-app',
- instanceId: 'some-instance',
- sdkVersion: 'unleash-edge:16.0.0',
- });
- const { body } = await request
- .get(`${base}/api/admin/ui-config`)
- .expect('Content-Type', /json/)
- .expect(200);
- expect(body.flags).toBeTruthy();
- expect(body.flags.displayUpgradeEdgeBanner).toBeTruthy();
- });
- test('ui config should not get displayUpgradeEdgeBanner flag if edge >= 19.1.3 has been seen', async () => {
- await stores.clientInstanceStore.insert({
- appName: 'my-app',
- instanceId: 'some-instance',
- sdkVersion: 'unleash-edge:19.1.4',
- });
- const { body } = await request
- .get(`${base}/api/admin/ui-config`)
- .expect('Content-Type', /json/)
- .expect(200);
- expect(body.flags).toBeTruthy();
- expect(body.flags.displayUpgradeEdgeBanner).toEqual(false);
- });
- test('ui config should not get displayUpgradeEdgeBanner flag if java-client has been seen', async () => {
- await stores.clientInstanceStore.insert({
- appName: 'my-app',
- instanceId: 'some-instance',
- sdkVersion: 'unleash-client-java:9.1.0',
- });
- const { body } = await request
- .get(`${base}/api/admin/ui-config`)
- .expect('Content-Type', /json/)
- .expect(200);
- expect(body.flags).toBeTruthy();
- expect(body.flags.displayUpgradeEdgeBanner).toEqual(false);
- });
-});
diff --git a/src/lib/routes/admin-api/config.ts b/src/lib/routes/admin-api/config.ts
index 31c3fe2e4a..4d2f80bfe9 100644
--- a/src/lib/routes/admin-api/config.ts
+++ b/src/lib/routes/admin-api/config.ts
@@ -25,8 +25,6 @@ import type { SetUiConfigSchema } from '../../openapi/spec/set-ui-config-schema'
import { createRequestSchema } from '../../openapi/util/create-request-schema';
import type { FrontendApiService } from '../../services';
import type MaintenanceService from '../../features/maintenance/maintenance-service';
-import memoizee from 'memoizee';
-import { minutesToMilliseconds } from 'date-fns';
import type ClientInstanceService from '../../features/metrics/instance/instance-service';
class ConfigController extends Controller {
@@ -42,8 +40,6 @@ class ConfigController extends Controller {
private maintenanceService: MaintenanceService;
- private usesOldEdgeFunction: () => Promise;
-
private readonly openApiService: OpenApiService;
constructor(
@@ -75,18 +71,6 @@ class ConfigController extends Controller {
this.frontendApiService = frontendApiService;
this.maintenanceService = maintenanceService;
this.clientInstanceService = clientInstanceService;
- this.usesOldEdgeFunction = memoizee(
- async () =>
- this.clientInstanceService.usesSdkOlderThan(
- 'unleash-edge',
- '19.1.3',
- ),
- {
- promise: true,
- maxAge: minutesToMilliseconds(10),
- },
- );
-
this.route({
method: 'get',
path: '',
@@ -129,17 +113,14 @@ class ConfigController extends Controller {
req: AuthedRequest,
res: Response,
): Promise {
- const [
- frontendSettings,
- simpleAuthSettings,
- maintenanceMode,
- usesOldEdge,
- ] = await Promise.all([
- this.frontendApiService.getFrontendSettings(false),
- this.settingService.get(simpleAuthSettingsKey),
- this.maintenanceService.isMaintenanceMode(),
- this.usesOldEdgeFunction(),
- ]);
+ const [frontendSettings, simpleAuthSettings, maintenanceMode] =
+ await Promise.all([
+ this.frontendApiService.getFrontendSettings(false),
+ this.settingService.get(
+ simpleAuthSettingsKey,
+ ),
+ this.maintenanceService.isMaintenanceMode(),
+ ]);
const disablePasswordAuth =
simpleAuthSettings?.disabled ||
@@ -152,9 +133,6 @@ class ConfigController extends Controller {
const flags = {
...this.config.ui.flags,
...expFlags,
- displayUpgradeEdgeBanner:
- usesOldEdge ||
- this.config.flagResolver.isEnabled('displayEdgeBanner'),
};
const response: UiConfigSchema = {
diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts
index 037d84ba6d..0bc15eb2d8 100644
--- a/src/lib/types/experimental.ts
+++ b/src/lib/types/experimental.ts
@@ -47,7 +47,6 @@ export type IFlagKey =
| 'disablePublishUnannouncedEvents'
| 'outdatedSdksBanner'
| 'responseTimeMetricsFix'
- | 'displayEdgeBanner'
| 'disableShowContextFieldSelectionValues'
| 'projectOverviewRefactorFeedback'
| 'manyStrategiesPagination'
@@ -238,10 +237,6 @@ const flags: IFlags = {
process.env.UNLEASH_EXPERIMENTAL_QUERY_MISSING_TOKENS,
false,
),
- displayEdgeBanner: parseEnvVarBoolean(
- process.env.UNLEASH_EXPERIMENTAL_DISPLAY_EDGE_BANNER,
- false,
- ),
responseTimeMetricsFix: parseEnvVarBoolean(
process.env.UNLEASH_EXPERIMENTAL_RESPONSE_TIME_METRICS_FIX,
false,