From 29be022933eaa446141e75483030d8cfe7932939 Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Fri, 5 Nov 2021 15:59:35 -0400 Subject: [PATCH] [#1962] make sure startSketch is called in FullView --- client/modules/IDE/pages/FullView.jsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/client/modules/IDE/pages/FullView.jsx b/client/modules/IDE/pages/FullView.jsx index 61c62ee825..e2ddd20b62 100644 --- a/client/modules/IDE/pages/FullView.jsx +++ b/client/modules/IDE/pages/FullView.jsx @@ -17,13 +17,21 @@ import RootPage from '../../../components/RootPage'; function FullView(props) { const dispatch = useDispatch(); const project = useSelector((state) => state.project); + const [isRendered, setIsRendered] = useState(false); useEffect(() => { dispatch(getProject(props.params.project_id, props.params.username)); }, []); + useEffect(() => { + // if (isRendered) prevents startSketch() from being called twice + // this calls startSketch if REGISTER happens before sketch is fetched + if (isRendered) { + dispatch(startSketch()); + } + }, [project.id]); + // send register event until iframe is loaded and sends a message back. - const [isRendered, setIsRendered] = useState(false); const clearInterval = useInterval(() => { dispatchMessage({ type: MessageTypes.REGISTER }); }, 100);