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,