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'],