Skip to content

Commit 151520b

Browse files
author
Ives van Hoorne
committed
Make error overlay remounting more robust
1 parent cdfcea2 commit 151520b

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/sandbox/compile.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import resolveDependency from './eval/loaders/dependency-resolver';
1111

1212
import { resetScreen } from './status-screen';
1313

14-
import { inject, uninject } from './react-error-overlay/overlay';
14+
import { inject, unmount } from './react-error-overlay/overlay';
1515
import handleExternalResources from './external-resources';
1616

1717
import defaultBoilerplates from './boilerplates/default-boilerplates';
@@ -82,6 +82,7 @@ function initializeResizeListener() {
8282
});
8383
initializedResizeListener = true;
8484
}
85+
inject();
8586

8687
async function compile({
8788
sandboxId,
@@ -99,8 +100,7 @@ async function compile({
99100
try {
100101
clearErrorTransformers();
101102
initializeErrorTransformers();
102-
uninject();
103-
inject();
103+
unmount();
104104
} catch (e) {
105105
console.error(e);
106106
}

src/sandbox/react-error-overlay/overlay.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,11 @@ function switchError(offset) {
147147
}
148148

149149
function disposeCurrentView() {
150-
if (iframeReference === null) {
151-
return;
152-
}
153-
window.document.body.removeChild(iframeReference);
150+
// CodeSandbox already resets this
151+
// if (iframeReference === null) {
152+
// return;
153+
// }
154+
// window.document.body.removeChild(iframeReference);
154155
iframeReference = null;
155156
additionalReference = null;
156157
}
@@ -322,4 +323,4 @@ function uninject() {
322323
unmount();
323324
}
324325

325-
export { inject, uninject };
326+
export { inject, uninject, unmount };

0 commit comments

Comments
 (0)