diff --git a/services/web/app/src/Features/Project/ProjectController.mjs b/services/web/app/src/Features/Project/ProjectController.mjs
index ec1d820678..bc630df18c 100644
--- a/services/web/app/src/Features/Project/ProjectController.mjs
+++ b/services/web/app/src/Features/Project/ProjectController.mjs
@@ -504,7 +504,6 @@ const _ProjectController = {
'wf-rebrand',
'testing-ai-usage',
'wf-fake-non-english-suggestions',
- 'editor-tabs',
'overleaf-code',
'export-docx',
'sharing-updates',
diff --git a/services/web/frontend/js/features/ide-react/components/toolbar/menu-bar.tsx b/services/web/frontend/js/features/ide-react/components/toolbar/menu-bar.tsx
index 9c418ad913..70fe5ee6ad 100644
--- a/services/web/frontend/js/features/ide-react/components/toolbar/menu-bar.tsx
+++ b/services/web/frontend/js/features/ide-react/components/toolbar/menu-bar.tsx
@@ -26,7 +26,6 @@ import getMeta from '@/utils/meta'
import EditorCloneProjectModalWrapper from '@/features/clone-project-modal/components/editor-clone-project-modal-wrapper'
import useOpenProject from '@/shared/hooks/use-open-project'
import importOverleafModules from '../../../../../macros/import-overleaf-module.macro'
-import { useFeatureFlag } from '@/shared/context/split-test-context'
import ReviewModeOptions from './review-mode-options'
const menubarExtraComponents = importOverleafModules(
@@ -54,8 +53,6 @@ export const ToolbarMenuBar = () => {
const showSupport = getMeta('ol-showSupport')
const showDocumentation = getMeta('ol-wikiEnabled')
- const hasEditorTabs = useFeatureFlag('editor-tabs')
-
useCommandProvider(
() => [
{
@@ -291,16 +288,14 @@ export const ToolbarMenuBar = () => {
}
onClick={toggleBreadcrumbs}
/>
- {hasEditorTabs && (
-
- }
- onClick={toggleEditorTabs}
- />
- )}
+
+ }
+ onClick={toggleEditorTabs}
+ />
{
const { editorTabs } = useProjectSettingsContext()
- const featureFlag = useFeatureFlag('editor-tabs')
- return featureFlag && Boolean(editorTabs)
+ return Boolean(editorTabs)
}
diff --git a/services/web/frontend/js/features/ide-settings/context/settings-modal-context.tsx b/services/web/frontend/js/features/ide-settings/context/settings-modal-context.tsx
index e490ba7392..31577a73af 100644
--- a/services/web/frontend/js/features/ide-settings/context/settings-modal-context.tsx
+++ b/services/web/frontend/js/features/ide-settings/context/settings-modal-context.tsx
@@ -102,7 +102,6 @@ export const SettingsModalProvider: FC = ({
const { settingsShown, setSettingsShown } = useLayoutContext()
const hasEmailNotifications = useFeatureFlag('email-notifications')
- const hasEditorTabs = useFeatureFlag('editor-tabs')
const hasToolbarMigration = useFeatureFlag('writefull-toolbar-migration')
const editorTabExtraSections = useSlotSections(editorTabExtraSectionHooks)
@@ -137,12 +136,10 @@ export const SettingsModalProvider: FC = ({
{
key: 'editorTabs',
component: ,
- hidden: !hasEditorTabs,
},
{
key: 'previewTabs',
component: ,
- hidden: !hasEditorTabs,
},
{
key: 'mode',
@@ -336,7 +333,6 @@ export const SettingsModalProvider: FC = ({
],
[
t,
- hasEditorTabs,
overallTheme,
hasEmailNotifications,
isOverleaf,
diff --git a/services/web/frontend/js/features/source-editor/extensions/tabs-listener.ts b/services/web/frontend/js/features/source-editor/extensions/tabs-listener.ts
index 1c08ae61c9..f0eb8b7717 100644
--- a/services/web/frontend/js/features/source-editor/extensions/tabs-listener.ts
+++ b/services/web/frontend/js/features/source-editor/extensions/tabs-listener.ts
@@ -1,4 +1,3 @@
-import { isSplitTestEnabled } from '@/utils/splitTestUtils'
import { Compartment, Transaction, TransactionSpec } from '@codemirror/state'
import { EditorView } from '@codemirror/view'
@@ -19,13 +18,9 @@ const updateListener = EditorView.updateListener.of(update => {
})
export const tabsListener = (enabled: boolean) => {
- return tabsListenerCompartment.of(
- enabled && isSplitTestEnabled('editor-tabs') ? updateListener : []
- )
+ return tabsListenerCompartment.of(enabled ? updateListener : [])
}
export const setEditorTabs = (enabled: boolean): TransactionSpec => ({
- effects: tabsListenerCompartment.reconfigure(
- enabled && isSplitTestEnabled('editor-tabs') ? updateListener : []
- ),
+ effects: tabsListenerCompartment.reconfigure(enabled ? updateListener : []),
})
diff --git a/services/web/test/frontend/features/review-panel/review-panel.spec.tsx b/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
index 4714b3bca0..6190887fb5 100644
--- a/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
+++ b/services/web/test/frontend/features/review-panel/review-panel.spec.tsx
@@ -197,6 +197,9 @@ describe('', function () {
cy.mount(
diff --git a/services/web/test/frontend/features/source-editor/components/tabs.spec.tsx b/services/web/test/frontend/features/source-editor/components/tabs.spec.tsx
index d054f9c019..4e8cc0df30 100644
--- a/services/web/test/frontend/features/source-editor/components/tabs.spec.tsx
+++ b/services/web/test/frontend/features/source-editor/components/tabs.spec.tsx
@@ -206,15 +206,6 @@ function selectDoc(id: string, path?: string[]) {
selectEntity(makeDocEntity(id, DOC_NAMES[id], path))
}
-function enableEditorTabs() {
- cy.window().then(win => {
- win.metaAttributesCache.set('ol-splitTestVariants', {
- 'editor-tabs': 'enabled',
- })
- win.metaAttributesCache.set('ol-labsExperiments', ['editor-tabs'])
- })
-}
-
describe('File Tabs', function () {
function mountTabs(options?: { rootFolder?: any; userSettings?: any }) {
const rootFolder = options?.rootFolder ?? defaultRootFolder
@@ -241,7 +232,6 @@ describe('File Tabs', function () {
cy.interceptEvents()
cy.interceptTutorials()
cy.interceptCompile()
- enableEditorTabs()
// Clear persisted tab state from localStorage
cy.window().then(win => {
@@ -1208,7 +1198,6 @@ describe('File Tabs', function () {
cy.clock()
cy.window().then(win => {
win.metaAttributesCache.set('ol-splitTestVariants', {
- 'editor-tabs': 'enabled',
'intermittent-connection-improvements': 'enabled',
})
})
@@ -1235,11 +1224,6 @@ describe('File Tabs', function () {
})
it('does not disable tabs when the feature flag is off', function () {
- cy.window().then(win => {
- win.metaAttributesCache.set('ol-splitTestVariants', {
- 'editor-tabs': 'enabled',
- })
- })
mountWithStaleDocs()
cy.then(() => selectDoc(DOC_IDS.main))
cy.tick(1000)