diff --git a/packages/frontend/core/src/modules/peek-view/view/doc-peek-view.tsx b/packages/frontend/core/src/modules/peek-view/view/doc-peek-view.tsx index 20bc02c1d..48e1d6d17 100644 --- a/packages/frontend/core/src/modules/peek-view/view/doc-peek-view.tsx +++ b/packages/frontend/core/src/modules/peek-view/view/doc-peek-view.tsx @@ -72,19 +72,21 @@ export function DocPeekPreview({ const [resolvedMode, setResolvedMode] = useState(mode); useEffect(() => { - if (editor && resolvedMode === 'edgeless') { - editor.host - .closest('[data-testid="peek-view-modal-animation-container"]') - ?.addEventListener( - 'animationend', - () => { - fitViewport(editor, xywh); - }, - { - once: true, - } - ); - } + requestAnimationFrame(() => { + if (editor && editor.host && resolvedMode === 'edgeless') { + editor.host + .closest('[data-testid="peek-view-modal-animation-container"]') + ?.addEventListener( + 'animationend', + () => { + fitViewport(editor, xywh); + }, + { + once: true, + } + ); + } + }); return; }, [editor, resolvedMode, xywh]);