فهرست منبع

Revert "Writefull refactor bootstrapping (#29306)" (#29542)

This reverts commit 6de05eb695579dc08cb5ee6ddf30c243cc2ff86a.

GitOrigin-RevId: 1fe00bd95b2ce437f91b38667e4d787d49c36902
Borja 11 ماه پیش
والد
کامیت
7f96e9504e

+ 0 - 2
services/web/config/settings.defaults.js

@@ -996,8 +996,6 @@ module.exports = {
     sourceEditorCompletionSources: [],
     sourceEditorSymbolPalette: [],
     sourceEditorToolbarComponents: [],
-    sourceEditorToolbarEndButtons: [],
-    rootContextProviders: [],
     mainEditorLayoutModals: [],
     langFeedbackLinkingWidgets: [],
     labsExperiments: [],

+ 2 - 22
services/web/frontend/js/features/ide-react/context/react-context-root.tsx

@@ -1,4 +1,4 @@
-import React, { ElementType, FC, PropsWithChildren } from 'react'
+import React, { FC, PropsWithChildren } from 'react'
 import { ChatProvider } from '@/features/chat/context/chat-context'
 import { ConnectionProvider } from './connection-context'
 import { DetachCompileProvider } from '@/shared/context/detach-compile-context'
@@ -30,12 +30,6 @@ import { UserFeaturesProvider } from '@/shared/context/user-features-context'
 import { UserSettingsProvider } from '@/shared/context/user-settings-context'
 import { IdeRedesignSwitcherProvider } from './ide-redesign-switcher-context'
 import { CommandRegistryProvider } from './command-registry-context'
-import importOverleafModules from '../../../../macros/import-overleaf-module.macro'
-
-const rootContextProviders = importOverleafModules('rootContextProviders') as {
-  import: { default: ElementType }
-  path: string
-}[]
 
 export const ReactContextRoot: FC<
   React.PropsWithChildren<{
@@ -77,18 +71,6 @@ export const ReactContextRoot: FC<
     ...providers,
   }
 
-  // Extract dynamic providers from modules
-  const dynamicProviders = rootContextProviders.map(
-    module => module.import.default
-  )
-
-  // Wrap children with all dynamic providers from outside to inside
-  const childrenWrappedWithDynamicProviders =
-    dynamicProviders.reduceRight<React.ReactElement>(
-      (acc, Provider) => <Provider>{acc}</Provider>,
-      <>{children}</>
-    )
-
   return (
     <Providers.SplitTestProvider>
       <Providers.ModalsContextProvider>
@@ -121,9 +103,7 @@ export const ReactContextRoot: FC<
                                                             <Providers.OutlineProvider>
                                                               <Providers.IdeRedesignSwitcherProvider>
                                                                 <Providers.CommandRegistryProvider>
-                                                                  {
-                                                                    childrenWrappedWithDynamicProviders
-                                                                  }
+                                                                  {children}
                                                                 </Providers.CommandRegistryProvider>
                                                               </Providers.IdeRedesignSwitcherProvider>
                                                             </Providers.OutlineProvider>

+ 0 - 9
services/web/frontend/js/features/source-editor/components/codemirror-toolbar.tsx

@@ -40,10 +40,6 @@ const sourceEditorToolbarComponents = importOverleafModules(
   'sourceEditorToolbarComponents'
 ) as { import: { default: ElementType }; path: string }[]
 
-const sourceEditorToolbarEndButtons = importOverleafModules(
-  'sourceEditorToolbarEndButtons'
-) as { import: { default: ElementType }; path: string }[]
-
 export const CodeMirrorToolbar = () => {
   const view = useCodeMirrorViewContext()
   const panel = getPanel(view, createToolbarPanel)
@@ -208,11 +204,6 @@ const Toolbar = memo(function Toolbar() {
             className="ol-cm-toolbar-button-group ol-cm-toolbar-end"
             ref={handleButtons}
           >
-            {sourceEditorToolbarEndButtons.map(
-              ({ import: { default: Component }, path }) => (
-                <Component key={path} />
-              )
-            )}
             <ToggleSearchButton state={state} />
             <SwitchToPDFButton />
             <DetacherSynctexControl />

+ 1 - 0
services/web/frontend/js/shared/context/types/writefull-instance.ts

@@ -7,6 +7,7 @@ export interface WritefullEvents {
 }
 
 export interface WritefullAPI {
+  init(): void
   addEventListener<eventName extends keyof WritefullEvents>(
     name: eventName,
     callback: (detail: WritefullEvents[eventName]) => void