diff --git a/packages/webapp/pages/callback.tsx b/packages/webapp/pages/callback.tsx index f38a59d008..9bbf476b45 100644 --- a/packages/webapp/pages/callback.tsx +++ b/packages/webapp/pages/callback.tsx @@ -1,6 +1,7 @@ import { broadcastMessage, postWindowMessage, + isPWA, } from '@dailydotdev/shared/src/lib/func'; import { AuthEvent } from '@dailydotdev/shared/src/lib/kratos'; import type { ReactElement } from 'react'; @@ -66,7 +67,9 @@ function CallbackPage(): ReactElement { postWindowMessage(eventKey, params); } - window.close(); + if (!isPWA()) { + window.close(); + } } catch (err) { const url = `${process.env.NEXT_PUBLIC_WEBAPP_URL}?${search}`; window.location.replace(url); diff --git a/packages/webapp/pages/error.tsx b/packages/webapp/pages/error.tsx index 0f0c93fd14..bbd7481a7b 100644 --- a/packages/webapp/pages/error.tsx +++ b/packages/webapp/pages/error.tsx @@ -1,4 +1,4 @@ -import { postWindowMessage } from '@dailydotdev/shared/src/lib/func'; +import { postWindowMessage, isPWA } from '@dailydotdev/shared/src/lib/func'; import { AuthEvent } from '@dailydotdev/shared/src/lib/kratos'; import type { ReactElement } from 'react'; import { useEffect } from 'react'; @@ -8,7 +8,9 @@ function ErrorPage(): ReactElement { const urlSearchParams = new URLSearchParams(window.location.search); const params = Object.fromEntries(urlSearchParams.entries()); postWindowMessage(AuthEvent.Error, params); - window.close(); + if (!isPWA()) { + window.close(); + } }, []); return null; diff --git a/packages/webapp/pages/popup/notifications/enable.tsx b/packages/webapp/pages/popup/notifications/enable.tsx index 9da45d2fdc..aa9c418b24 100644 --- a/packages/webapp/pages/popup/notifications/enable.tsx +++ b/packages/webapp/pages/popup/notifications/enable.tsx @@ -3,7 +3,7 @@ import React, { useEffect } from 'react'; import classNames from 'classnames'; import NotificationToggleIcon from '@dailydotdev/shared/src/components/icons/NotificationToggle/primary.svg'; import classed from '@dailydotdev/shared/src/lib/classed'; -import { postWindowMessage } from '@dailydotdev/shared/src/lib/func'; +import { postWindowMessage, isPWA } from '@dailydotdev/shared/src/lib/func'; import { ENABLE_NOTIFICATION_WINDOW_KEY } from '@dailydotdev/shared/src/hooks/useNotificationPermissionPopup'; import { useRouter } from 'next/router'; import type { NotificationPromptSource } from '@dailydotdev/shared/src/lib/log'; @@ -52,7 +52,9 @@ function Enable(): React.ReactElement { const checkPermission = async () => { const closeWindow = () => { sendBeacon(); - window.close(); + if (!isPWA()) { + window.close(); + } }; if (isSubscribed) {