diff --git a/web/app/__tests__/layout.spec.tsx b/web/app/__tests__/layout.spec.tsx index ea56e750817..e2dc1b9d4ef 100644 --- a/web/app/__tests__/layout.spec.tsx +++ b/web/app/__tests__/layout.spec.tsx @@ -1,3 +1,6 @@ +import { readFileSync } from 'node:fs' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' import { QueryClient } from '@tanstack/react-query' let queryClient: QueryClient @@ -130,4 +133,16 @@ describe('Root layout System Features bootstrap', () => { expect(queryClient.getQueryData(['console', 'system-features'])).toBeUndefined() }) + + it('does not inject marketplace PWA chrome or a global ResizeObserver filter', () => { + const source = readFileSync( + resolve(dirname(fileURLToPath(import.meta.url)), '../layout.tsx'), + 'utf8', + ) + + expect(source).not.toContain('manifest.json') + expect(source).not.toContain('apple-touch-icon') + expect(source).not.toContain('browserconfig.xml') + expect(source).not.toContain('ResizeObserver') + }) }) diff --git a/web/app/layout.tsx b/web/app/layout.tsx index 41626fb33a2..4e50f33409e 100644 --- a/web/app/layout.tsx +++ b/web/app/layout.tsx @@ -32,23 +32,6 @@ export const viewport: Viewport = { viewportFit: 'cover', } -const resizeObserverErrorFilterScript = ` -(() => { - const ignoredMessages = new Set([ - 'ResizeObserver loop completed with undelivered notifications.', - 'ResizeObserver loop limit exceeded', - ]); - const ignore = (event) => { - const message = event?.message || event?.reason?.message; - if (!ignoredMessages.has(message)) return; - event.preventDefault(); - event.stopImmediatePropagation(); - }; - window.addEventListener('error', ignore, true); - window.addEventListener('unhandledrejection', ignore, true); -})(); -` - export async function generateMetadata(): Promise { const systemFeatures = await prefetchSystemFeatures() const branding = systemFeatures?.branding @@ -86,23 +69,6 @@ export default async function RootLayout({ children }: { children: React.ReactNo return ( - -