diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index d991814d4f..dc9d26efeb 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -2594,6 +2594,9 @@ class App extends React.Component { ), addEventListener(window, EVENT.FOCUS, () => { this.maybeCleanupAfterMissingPointerUp(null); + // browsers (chrome?) tend to free up memory a lot, which results + // in canvas context being cleared. Thus re-render on focus. + this.triggerRender(true); }), ); @@ -3729,8 +3732,15 @@ class App extends React.Component { }, ); - private triggerRender = () => { - this.setState({}); + private triggerRender = ( + /** force always re-renders canvas even if no change */ + force?: boolean, + ) => { + if (force === true) { + this.scene.triggerUpdate(); + } else { + this.setState({}); + } }; /**