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)