From 7d1ce5f215e124a315f33046e33eae3a77b3c912 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Tue, 11 Aug 2026 19:26:20 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B(frontend)=20filter=20expected=20us?= =?UTF-8?q?er=20actions=20from=20PiP=20error=20reporting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Picture-in-Picture error handler was reporting every error to PostHog, including the ones triggered when the user intentionally closes or cancels the PiP window. Only report unexpected errors, so PostHog no longer receives noise from normal user interactions. --- .../src/features/pip/hooks/usePictureInPicture.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/features/pip/hooks/usePictureInPicture.ts b/src/frontend/src/features/pip/hooks/usePictureInPicture.ts index bbd454e6..91c546fc 100644 --- a/src/frontend/src/features/pip/hooks/usePictureInPicture.ts +++ b/src/frontend/src/features/pip/hooks/usePictureInPicture.ts @@ -61,14 +61,20 @@ export const usePictureInPicture = () => { if (!IS_PIP_SUPPORTED) return null if (isOpen) return null + let pipWindow: Window try { - const pipWindow = + pipWindow = await // eslint-disable-next-line @typescript-eslint/no-explicit-any (window as any).documentPictureInPicture.requestWindow({ width, height, }) + } catch { + // Avoid unhandled rejections if the user blocks or closes the request. + return null + } + try { initializeTitleAndLanguage(pipWindow, t('title')) initializePortalContainer(pipWindow) syncStyles(pipWindow) @@ -86,10 +92,10 @@ export const usePictureInPicture = () => { }) documentPictureInPictureStore.window = ref(pipWindow) } catch (error) { - // Avoid unhandled rejections if the user blocks or closes the request. reportError('generic_failure', error, { - context: 'Failed to open Picture-in-Picture window', + context: 'pip_init_failure', }) + pipWindow.close() return null } },