diff --git a/e2e/playwright/flow-tests.spec.ts b/e2e/playwright/flow-tests.spec.ts index dbca47d38..d2abafb40 100644 --- a/e2e/playwright/flow-tests.spec.ts +++ b/e2e/playwright/flow-tests.spec.ts @@ -7221,6 +7221,7 @@ test.describe('Test network and connection issues', () => { // Expect the network to be up await expect(page.getByText('Network Health (Connected)')).toBeVisible() + await expect(page.getByTestId('loading-stream')).not.toBeAttached() // Click off the code pane. await page.mouse.click(100, 100) diff --git a/e2e/playwright/test-utils.ts b/e2e/playwright/test-utils.ts index cdcf36dc1..55909c2fa 100644 --- a/e2e/playwright/test-utils.ts +++ b/e2e/playwright/test-utils.ts @@ -16,14 +16,14 @@ export const TEST_COLORS = { } as const async function waitForPageLoad(page: Page) { - // wait for 'Loading stream...' spinner - await page.getByTestId('loading-stream').waitFor() // wait for all spinners to be gone - await page - .getByTestId('loading') - .waitFor({ state: 'detached', timeout: 20_000 }) + await expect(page.getByTestId('loading')).not.toBeAttached({ + timeout: 20_000, + }) - await page.getByTestId('start-sketch').waitFor() + await expect(page.getByTestId('start-sketch')).toBeEnabled({ + timeout: 20_000, + }) } async function removeCurrentCode(page: Page) { diff --git a/src/components/Stream.tsx b/src/components/Stream.tsx index a10416d06..786a16560 100644 --- a/src/components/Stream.tsx +++ b/src/components/Stream.tsx @@ -157,6 +157,7 @@ export const Stream = () => { useEffect(() => { setIsFirstRender(kclManager.isFirstRender) if (!kclManager.isFirstRender) videoRef.current?.play() + setIsFreezeFrame(!kclManager.isFirstRender) }, [kclManager.isFirstRender]) useEffect(() => { diff --git a/src/hooks/useSetupEngineManager.ts b/src/hooks/useSetupEngineManager.ts index 66a7dc95b..868c61acf 100644 --- a/src/hooks/useSetupEngineManager.ts +++ b/src/hooks/useSetupEngineManager.ts @@ -45,9 +45,6 @@ export function useSetupEngineManager( streamRef?.current?.offsetWidth ?? 0, streamRef?.current?.offsetHeight ?? 0 ) - if (restart) { - kclManager.isFirstRender = false - } engineCommandManager.start({ restart, setMediaStream: (mediaStream) => setMediaStream(mediaStream),