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)
-}