diff --git a/packages/services/src/Domain/InternalFeatures/InternalFeature.ts b/packages/services/src/Domain/InternalFeatures/InternalFeature.ts index 323abd38618..1dfa14b229d 100644 --- a/packages/services/src/Domain/InternalFeatures/InternalFeature.ts +++ b/packages/services/src/Domain/InternalFeatures/InternalFeature.ts @@ -1,4 +1,3 @@ export enum InternalFeature { Vaults = 'vaults', - Localization = 'localization', } diff --git a/packages/web/src/javascripts/Application/DevMode.ts b/packages/web/src/javascripts/Application/DevMode.ts index 97c7e084ed2..ead3f49c5f6 100644 --- a/packages/web/src/javascripts/Application/DevMode.ts +++ b/packages/web/src/javascripts/Application/DevMode.ts @@ -4,7 +4,6 @@ import { WebApplicationInterface } from '@standardnotes/ui-services' export class DevMode { constructor(private application: WebApplicationInterface) { InternalFeatureService.get().enableFeature(InternalFeature.Vaults) - InternalFeatureService.get().enableFeature(InternalFeature.Localization) } /** Valid only when running a mock event publisher on port 3124 */ diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/General/General.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/General/General.tsx index 57edda7a93c..0ef6889b61b 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/General/General.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/General/General.tsx @@ -22,7 +22,7 @@ const General: FunctionComponent = () => { - {application.featuresController.isLocalizationFeatureAvailable() && } + diff --git a/packages/web/src/javascripts/Controllers/FeaturesController.ts b/packages/web/src/javascripts/Controllers/FeaturesController.ts index 87ea26aae2b..d2f53aeca72 100644 --- a/packages/web/src/javascripts/Controllers/FeaturesController.ts +++ b/packages/web/src/javascripts/Controllers/FeaturesController.ts @@ -13,7 +13,7 @@ import { import { action, makeObservable, observable, runInAction, when } from 'mobx' import { AbstractViewController } from './Abstract/AbstractViewController' import { CrossControllerEvent } from './CrossControllerEvent' -import { featureTrunkLocalizationEnabled, featureTrunkVaultsEnabled } from '@/FeatureTrunk' +import { featureTrunkVaultsEnabled } from '@/FeatureTrunk' export class FeaturesController extends AbstractViewController implements InternalEventHandlerInterface { hasFolders: boolean @@ -148,22 +148,11 @@ export class FeaturesController extends AbstractViewController implements Intern ) } - isLocalizationFeatureAvailable(): boolean { - return ( - featureTrunkLocalizationEnabled() || - this.features.hasRole(RoleName.create(RoleName.NAMES.InternalTeamUser).getValue()) - ) - } - toggleLocalization(): void { this.features.toggleExperimentalFeature(NativeFeatureIdentifier.TYPES.Localization) } isLocalizationEnabled(): boolean { - if (!this.isLocalizationFeatureAvailable()) { - return false - } - return this.features.isExperimentalFeatureEnabled(NativeFeatureIdentifier.TYPES.Localization) } diff --git a/packages/web/src/javascripts/Controllers/Localization/LocalizationController.spec.ts b/packages/web/src/javascripts/Controllers/Localization/LocalizationController.spec.ts index adc16156104..4221f03dbd1 100644 --- a/packages/web/src/javascripts/Controllers/Localization/LocalizationController.spec.ts +++ b/packages/web/src/javascripts/Controllers/Localization/LocalizationController.spec.ts @@ -30,11 +30,9 @@ describe('LocalizationController', () => { const originalLocation = window.location let reload: jest.Mock let localizationEnabled: boolean - let localizationAvailable: boolean const featuresController = { isLocalizationEnabled: () => localizationEnabled, - isLocalizationFeatureAvailable: () => localizationAvailable, toggleLocalization: () => { localizationEnabled = !localizationEnabled }, @@ -76,7 +74,6 @@ describe('LocalizationController', () => { }) localizationEnabled = true - localizationAvailable = true setBrowserLanguages(['en-US']) localStorage.setItem('sn-has-seen-localization-spotlight', 'true') mockCurrentLocale = 'en_US' @@ -160,21 +157,6 @@ describe('LocalizationController', () => { expect(localizationStore.availableLocales).toEqual(catalog) }) - it('loads the language list once the feature becomes available', async () => { - localizationEnabled = false - localizationAvailable = false - mockLocaleService.getAvailableLocales.mockClear() - - const controller = await bootWithLocale('en_US') - expect(mockLocaleService.getAvailableLocales).not.toHaveBeenCalled() - - localizationAvailable = true - await sendEvent(controller, ApplicationEvent.FeaturesAvailabilityChanged) - await flushPromises() - - expect(localizationStore.availableLocales).toEqual(catalog) - }) - it('keeps the saved language and reports an error when the catalog fails to load', async () => { persistLocale(workspaceIdentifier, 'fr_FR') mockLocaleService.getAvailableLocales.mockRejectedValue(new Error('offline')) @@ -256,17 +238,6 @@ describe('LocalizationController', () => { expect(controller.labsSpotlightOpen).toBe(true) }) - it('opens once the feature becomes available, e.g. after signing in', async () => { - localizationAvailable = false - const controller = await bootWithLocale('en_US') - expect(controller.labsSpotlightOpen).toBe(false) - - localizationAvailable = true - await sendEvent(controller, ApplicationEvent.FeaturesAvailabilityChanged) - - expect(controller.labsSpotlightOpen).toBe(true) - }) - it('stays dismissed when the feature availability is checked again', async () => { const controller = await bootWithLocale('en_US') controller.dismissLabsSpotlight() diff --git a/packages/web/src/javascripts/Controllers/Localization/LocalizationController.ts b/packages/web/src/javascripts/Controllers/Localization/LocalizationController.ts index c15916953e9..087f391a1cc 100644 --- a/packages/web/src/javascripts/Controllers/Localization/LocalizationController.ts +++ b/packages/web/src/javascripts/Controllers/Localization/LocalizationController.ts @@ -82,7 +82,6 @@ export class LocalizationController extends AbstractViewController implements In const routeType = this.routeService.getRoute().type return ( - this.featuresController.isLocalizationFeatureAvailable() && !this.featuresController.isLocalizationEnabled() && !hasSeenLabsSpotlight() && routeType !== RouteType.Purchase && @@ -199,7 +198,7 @@ export class LocalizationController extends AbstractViewController implements In /** Loaded while localization is still off so the language dropdown can show as soon as it's turned on. */ private async preloadAvailableLocales(): Promise { - if (this.availableLocalesRequested || !this.featuresController.isLocalizationFeatureAvailable()) { + if (this.availableLocalesRequested) { return } this.availableLocalesRequested = true diff --git a/packages/web/src/javascripts/FeatureTrunk.ts b/packages/web/src/javascripts/FeatureTrunk.ts index a1d56361cab..b8e6128c128 100644 --- a/packages/web/src/javascripts/FeatureTrunk.ts +++ b/packages/web/src/javascripts/FeatureTrunk.ts @@ -11,7 +11,3 @@ export function featureTrunkEnabled(trunk: FeatureTrunkName): boolean { export function featureTrunkVaultsEnabled(): boolean { return InternalFeatureService.get().isFeatureEnabled(InternalFeature.Vaults) } - -export function featureTrunkLocalizationEnabled(): boolean { - return InternalFeatureService.get().isFeatureEnabled(InternalFeature.Localization) -}