mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-24 01:18:01 +02:00
task: remove upgrade edge banner. (#8032)
All customers but one are now upgraded, and this banner no longer adds value, we also have the outdated SDK banner, which can fill in if needed.
This commit is contained in:
parent
2a6b2e98e0
commit
0f5e4dc96b
@ -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 = () => {
|
||||
<LicenseBanner />
|
||||
<ExternalBanners />
|
||||
<InternalBanners />
|
||||
<EdgeUpgradeBanner />
|
||||
<StyledContainer>
|
||||
<ToastRenderer />
|
||||
<Routes>
|
||||
|
@ -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 (
|
||||
<>
|
||||
<ConditionallyRender
|
||||
condition={displayUpgradeEdgeBanner}
|
||||
show={<Banner key={'upgradeEdge'} banner={upgradeEdgeBanner} />}
|
||||
/>
|
||||
</>
|
||||
);
|
||||
};
|
@ -73,7 +73,6 @@ export type UiFlags = {
|
||||
enableLicense?: boolean;
|
||||
adminTokenKillSwitch?: boolean;
|
||||
feedbackComments?: Variant;
|
||||
displayUpgradeEdgeBanner?: boolean;
|
||||
showInactiveUsers?: boolean;
|
||||
featureSearchFeedbackPosting?: boolean;
|
||||
userAccessUIEnabled?: boolean;
|
||||
|
@ -88,7 +88,6 @@ exports[`should create default config 1`] = `
|
||||
"disablePublishUnannouncedEvents": false,
|
||||
"disableShowContextFieldSelectionValues": false,
|
||||
"disableUpdateMaxRevisionId": false,
|
||||
"displayEdgeBanner": false,
|
||||
"displayTrafficDataUsage": false,
|
||||
"edgeBulkMetrics": false,
|
||||
"embedProxy": true,
|
||||
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
@ -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<boolean>;
|
||||
|
||||
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<UiConfigSchema>,
|
||||
): Promise<void> {
|
||||
const [
|
||||
frontendSettings,
|
||||
simpleAuthSettings,
|
||||
maintenanceMode,
|
||||
usesOldEdge,
|
||||
] = await Promise.all([
|
||||
this.frontendApiService.getFrontendSettings(false),
|
||||
this.settingService.get<SimpleAuthSettings>(simpleAuthSettingsKey),
|
||||
this.maintenanceService.isMaintenanceMode(),
|
||||
this.usesOldEdgeFunction(),
|
||||
]);
|
||||
const [frontendSettings, simpleAuthSettings, maintenanceMode] =
|
||||
await Promise.all([
|
||||
this.frontendApiService.getFrontendSettings(false),
|
||||
this.settingService.get<SimpleAuthSettings>(
|
||||
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 = {
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user