Merge pull request #32244 from overleaf/ab-labs-in-feature-flags

[web] Merge Labs programme into the Feature flags system

GitOrigin-RevId: db75e07bf3272becc11ef1eeda3850098b3daa9d
This commit is contained in:
Alexandre Bourdin
2026-03-26 09:06:51 +00:00
committed by Copybot
parent 6f3e0963b8
commit 671df33da3
25 changed files with 883 additions and 360 deletions
@@ -5,13 +5,11 @@ import FileView from '@/features/file-view/components/file-view'
import { fileViewFile } from '@/features/ide-react/util/file-view'
import MultipleSelectionPane from '@/features/ide-react/components/editor/multiple-selection-pane'
import { TabsContainer } from '@/features/source-editor/components/tabs/tabs-container'
import { isInExperiment } from '@/utils/labs-utils'
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
export default function EditorPanel() {
const { selectedEntityCount, openEntity } = useFileTreeOpenContext()
const tabsEnabled =
isInExperiment('editor-tabs') && isSplitTestEnabled('editor-tabs')
const tabsEnabled = isSplitTestEnabled('editor-tabs')
return (
<div className="ide-redesign-editor-container">
@@ -10,7 +10,7 @@ import { FullSizeLoadingSpinner } from '@/shared/components/loading-spinner'
import SymbolPalettePane from '@/features/ide-react/components/editor/symbol-palette-pane'
import { useEditorPropertiesContext } from '@/features/ide-react/context/editor-properties-context'
import { PythonEditorSplit } from '@/features/ide-react/components/layout/python-editor-split'
import { isInExperiment } from '@/utils/labs-utils'
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
export const Editor = () => {
const { opening, errorState, showSymbolPalette } =
@@ -20,7 +20,7 @@ export const Editor = () => {
const isPythonDocument =
openEntity?.type === 'doc' &&
openEntity.entity.name.toLowerCase().endsWith('.py')
const pythonExecutionEnabled = isInExperiment('overleaf-code')
const pythonExecutionEnabled = isSplitTestEnabled('overleaf-code')
if (!currentDocumentId) {
return null
@@ -6,7 +6,6 @@ import React, { FC, useCallback, useContext, useEffect, useMemo } from 'react'
import { useFileTreeOpenContext } from './file-tree-open-context'
import { useEditorManagerContext } from './editor-manager-context'
import { debugConsole } from '@/utils/debugging'
import { isInExperiment } from '@/utils/labs-utils'
import { disambiguatePaths } from '../util/disambiguate-paths'
import { isSplitTestEnabled } from '@/utils/splitTestUtils'
@@ -43,8 +42,7 @@ export const TabsProvider: FC<React.PropsWithChildren> = ({ children }) => {
const { openEntity } = useFileTreeOpenContext()
const { openDocWithId, openFileWithId } = useEditorManagerContext()
const tabsEnabled =
isInExperiment('editor-tabs') && isSplitTestEnabled('editor-tabs')
const tabsEnabled = isSplitTestEnabled('editor-tabs')
const [openTabs, setOpenTabs] = usePersistedState<PersistedTabInfo[]>(
`open-tabs:${projectId}`,