Просмотр исходного кода

Call MathJax.typesetClear after typesetting a table cell (#22604)

GitOrigin-RevId: d36236a47815841ee3662f1b9121b4a224d3dada
Alf Eaton 1 год назад
Родитель
Сommit
45facc0f78

+ 8 - 2
services/web/frontend/js/features/chat/components/message-content.tsx

@@ -18,9 +18,15 @@ const MessageContent: FC<{ content: string }> = ({ content }) => {
 
       // MathJax v3 typesetting
       loadMathJax()
-        .then(MathJax => {
+        .then(async MathJax => {
           if (mounted.current) {
-            MathJax.typesetPromise([root.current]).catch(debugConsole.error)
+            const element = root.current
+            try {
+              await MathJax.typesetPromise([element])
+              MathJax.typesetClear([element])
+            } catch (error) {
+              debugConsole.error(error)
+            }
           }
         })
         .catch(debugConsole.error)

+ 4 - 2
services/web/frontend/js/features/source-editor/components/table-generator/cell.tsx

@@ -164,9 +164,11 @@ export const Cell: FC<{
       )
       loadMathJax()
         .then(async MathJax => {
-          if (renderDiv.current) {
-            await MathJax.typesetPromise([renderDiv.current])
+          const element = renderDiv.current
+          if (element) {
+            await MathJax.typesetPromise([element])
             view.requestMeasure()
+            MathJax.typesetClear([element])
           }
         })
         .catch(() => {})

+ 1 - 0
services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/begin-theorem.ts

@@ -49,6 +49,7 @@ export class BeginTheoremWidget extends BeginWidget {
           if (!this.destroyed) {
             await MathJax.typesetPromise([nameElement])
             view.requestMeasure()
+            MathJax.typesetClear([nameElement])
           }
         })
         .catch(() => {

+ 1 - 0
services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/frame.ts

@@ -51,6 +51,7 @@ export class FrameWidget extends WidgetType {
         if (!this.destroyed) {
           await MathJax.typesetPromise([element])
           view.requestMeasure()
+          MathJax.typesetClear([element])
         }
       })
       .catch(() => {

+ 1 - 0
services/web/frontend/js/features/source-editor/extensions/visual/visual-widgets/maketitle.ts

@@ -74,6 +74,7 @@ export class MakeTitleWidget extends WidgetType {
           if (!this.destroyed) {
             await MathJax.typesetPromise([element])
             view.requestMeasure()
+            MathJax.typesetClear([element])
           }
         })
         .catch(() => {