Skip to content

Commit 8c86b7a

Browse files
authored
ENG-1687 Memory leak: Unmounting the DiscourseContext Overlay leaves it dangling in Roam components (#992)
1 parent e52fddb commit 8c86b7a

1 file changed

Lines changed: 3 additions & 7 deletions

File tree

apps/roam/src/components/DiscourseContextOverlay.tsx

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {
88
} from "@blueprintjs/core";
99
import React, { useCallback, useEffect, useMemo, useState } from "react";
1010
import ReactDOM from "react-dom";
11+
import renderWithUnmount from "roamjs-components/util/renderWithUnmount";
1112
import { ContextContent } from "./DiscourseContext";
1213
import useInViewport from "react-in-viewport/dist/es/lib/useInViewport";
1314
import normalizePageTitle from "roamjs-components/queries/normalizePageTitle";
@@ -374,15 +375,10 @@ export const render = ({
374375
tag: string;
375376
parent: HTMLElement;
376377
onloadArgs: OnloadArgs;
377-
}) => {
378+
}): void => {
378379
parent.style.margin = "0 8px";
379380
parent.onmousedown = (e) => e.stopPropagation();
380-
ReactDOM.render(
381-
<ExtensionApiContextProvider {...onloadArgs}>
382-
<Wrapper tag={tag} parent={parent} />
383-
</ExtensionApiContextProvider>,
384-
parent,
385-
);
381+
renderWithUnmount(<Wrapper tag={tag} parent={parent} />, parent, onloadArgs);
386382
};
387383

388384
export default DiscourseContextPopupOverlay;

0 commit comments

Comments
 (0)