diff --git a/frontend/src/component/application/ApplicationChart.tsx b/frontend/src/component/application/ApplicationChart.tsx index 3e2ee9323c..e66aba2046 100644 --- a/frontend/src/component/application/ApplicationChart.tsx +++ b/frontend/src/component/application/ApplicationChart.tsx @@ -16,7 +16,6 @@ import WarningAmberRounded from '@mui/icons-material/WarningAmberRounded'; import { TimeAgo } from 'component/common/TimeAgo/TimeAgo'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { getApplicationIssues } from './ApplicationIssues/ApplicationIssues.tsx'; -import { useUiFlag } from 'hooks/useUiFlag'; const StyledTable = styled('table')(({ theme }) => ({ fontSize: theme.fontSizes.smallerBody, @@ -197,7 +196,6 @@ export const ApplicationChart = ({ data }: IApplicationChartProps) => { const { elementRef, width } = useElementWidth(); const navigate = useNavigate(); const theme = useTheme(); - const registerFrontendClientEnabled = useUiFlag('registerFrontendClient'); const mode = getApplicationIssues(data); @@ -296,23 +294,7 @@ export const ApplicationChart = ({ data }: IApplicationChartProps) => { {environment.instanceCount} - {!registerFrontendClientEnabled ? ( - - SDK: - - {environment.sdks.map( - (sdk) => ( -
- {sdk} -
- ), - )} -
- - ) : null} - - {registerFrontendClientEnabled && - environment.backendSdks.length > 0 ? ( + {environment.backendSdks.length > 0 ? ( Backend SDK: @@ -329,8 +311,7 @@ export const ApplicationChart = ({ data }: IApplicationChartProps) => { ) : null} - {registerFrontendClientEnabled && - environment.frontendSdks.length > 0 ? ( + {environment.frontendSdks.length > 0 ? ( Frontend SDK: diff --git a/frontend/src/interfaces/uiConfig.ts b/frontend/src/interfaces/uiConfig.ts index 5bcda3c8c5..7e641a1506 100644 --- a/frontend/src/interfaces/uiConfig.ts +++ b/frontend/src/interfaces/uiConfig.ts @@ -84,7 +84,6 @@ export type UiFlags = { showUserDeviceCount?: boolean; consumptionModel?: boolean; edgeObservability?: boolean; - registerFrontendClient?: boolean; customMetrics?: boolean; lifecycleMetrics?: boolean; createFlagDialogCache?: boolean; diff --git a/src/lib/features/frontend-api/frontend-api-service.ts b/src/lib/features/frontend-api/frontend-api-service.ts index cc17714ff6..2bb51f1d93 100644 --- a/src/lib/features/frontend-api/frontend-api-service.ts +++ b/src/lib/features/frontend-api/frontend-api-service.ts @@ -135,11 +135,7 @@ export class FrontendApiService { ip, ); - if ( - metrics.instanceId && - typeof sdkVersion === 'string' && - this.flagResolver.isEnabled('registerFrontendClient') - ) { + if (metrics.instanceId && typeof sdkVersion === 'string') { const client = { appName: metrics.appName, instanceId: metrics.instanceId, diff --git a/src/lib/features/metrics/instance/instance-service.ts b/src/lib/features/metrics/instance/instance-service.ts index acc4ef4c53..4c2c5ebfb9 100644 --- a/src/lib/features/metrics/instance/instance-service.ts +++ b/src/lib/features/metrics/instance/instance-service.ts @@ -282,10 +282,13 @@ export default class ClientInstanceService { result.projects, ); result.projects = accessibleProjects; - result.environments.forEach((environment) => { - environment.issues.outdatedSdks = findOutdatedSDKs( - environment.sdks, - ); + result.environments.forEach((environment: any) => { + const allSdks = [ + ...environment.backendSdks, + ...environment.frontendSdks, + ]; + environment.issues.outdatedSdks = findOutdatedSDKs(allSdks); + delete environment.sdks; }); return result; } diff --git a/src/lib/features/metrics/instance/metrics.test.ts b/src/lib/features/metrics/instance/metrics.test.ts index 0f729d9cb8..a3935b1c1e 100644 --- a/src/lib/features/metrics/instance/metrics.test.ts +++ b/src/lib/features/metrics/instance/metrics.test.ts @@ -45,13 +45,7 @@ let services: IUnleashServices; let destroy: () => Promise; beforeAll(async () => { - const setup = await getSetup({ - experimental: { - flags: { - registerFrontendClient: true, - }, - }, - }); + const setup = await getSetup(); request = setup.request; stores = setup.stores; destroy = setup.destroy; diff --git a/src/lib/features/metrics/instance/metrics.ts b/src/lib/features/metrics/instance/metrics.ts index 2cc73d502a..66a057f41b 100644 --- a/src/lib/features/metrics/instance/metrics.ts +++ b/src/lib/features/metrics/instance/metrics.ts @@ -238,20 +238,14 @@ export default class ClientMetricsController extends Controller { app.sdkType === 'frontend' && typeof app.sdkVersion === 'string' ) { - if ( - this.flagResolver.isEnabled( - 'registerFrontendClient', - ) - ) { - this.clientInstanceService.registerFrontendClient({ - appName: app.appName, - instanceId: app.instanceId, - environment: app.environment, - sdkType: app.sdkType, - sdkVersion: app.sdkVersion, - projects: app.projects, - }); - } + this.clientInstanceService.registerFrontendClient({ + appName: app.appName, + instanceId: app.instanceId, + environment: app.environment, + sdkType: app.sdkType, + sdkVersion: app.sdkVersion, + projects: app.projects, + }); } else { promises.push( this.clientInstanceService.registerBackendClient( diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 373c2bc8d9..0394f465e3 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -54,7 +54,6 @@ export type IFlagKey = | 'uniqueSdkTracking' | 'consumptionModel' | 'edgeObservability' - | 'registerFrontendClient' | 'reportUnknownFlags' | 'lifecycleMetrics' | 'customMetrics' @@ -260,10 +259,6 @@ const flags: IFlags = { process.env.EXPERIMENTAL_EDGE_OBSERVABILITY, false, ), - registerFrontendClient: parseEnvVarBoolean( - process.env.UNLEASH_EXPERIMENTAL_REGISTER_FRONTEND_CLIENT, - false, - ), reportUnknownFlags: parseEnvVarBoolean( process.env.UNLEASH_EXPERIMENTAL_REPORT_UNKNOWN_FLAGS, false, diff --git a/src/server-dev.ts b/src/server-dev.ts index 06ddfe230f..d03ccb88d3 100644 --- a/src/server-dev.ts +++ b/src/server-dev.ts @@ -51,7 +51,6 @@ process.nextTick(async () => { deltaApi: true, uniqueSdkTracking: true, strictSchemaValidation: true, - registerFrontendClient: true, reportUnknownFlags: true, customMetrics: true, lifecycleMetrics: true, diff --git a/src/test/e2e/api/admin/applications.e2e.test.ts b/src/test/e2e/api/admin/applications.e2e.test.ts index 78e34a38da..bf51218864 100644 --- a/src/test/e2e/api/admin/applications.e2e.test.ts +++ b/src/test/e2e/api/admin/applications.e2e.test.ts @@ -55,7 +55,6 @@ beforeAll(async () => { experimental: { flags: { strictSchemaValidation: true, - registerFrontendClient: true, }, }, }, @@ -142,10 +141,6 @@ test('should show correct application metrics', async () => { 'unleash-client-node:3.2.1', 'unleash-client-node:3.2.2', ], - sdks: [ - 'unleash-client-node:3.2.1', - 'unleash-client-node:3.2.2', - ], }, ], featureCount: 3, @@ -246,7 +241,8 @@ test('should show missing features and strategies', async () => { { instanceCount: 1, name: DEFAULT_ENV, - sdks: ['unleash-client-node:1.0.0'], + backendSdks: ['unleash-client-node:1.0.0'], + frontendSdks: [], issues: { missingFeatures: ['toggle-name-2', 'toggle-name-3'], outdatedSdks: ['unleash-client-node:1.0.0'],