From a6a4a9aa240b3421d9a4b783f966cc027a0b6505 Mon Sep 17 00:00:00 2001 From: Zak Bearman Date: Thu, 17 Sep 2026 22:51:23 +1200 Subject: [PATCH] fix: apply CSP nonce to Next scripts --- frontend/app/globals.css | 2 -- frontend/app/layout.tsx | 5 +++++ frontend/app/ops-redesign.css | 2 -- frontend/next.config.js | 4 ++++ 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/frontend/app/globals.css b/frontend/app/globals.css index 39ee91c..a29f024 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -1,5 +1,3 @@ -@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap'); - * { box-sizing: border-box; margin: 0; diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 37067eb..f542b6b 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -13,8 +13,13 @@ import ApplicationChrome from "./ui/ApplicationChrome"; export const metadata = { title: "Magent", description: "Request timeline and AI triage for media requests", + icons: { icon: "/api/branding/favicon.ico" }, }; +// A request-specific CSP nonce is generated in proxy.ts. Dynamic rendering lets +// Next.js apply that nonce to its framework and hydration scripts. +export const dynamic = "force-dynamic"; + export default function RootLayout({ children }: { children: ReactNode }) { return ( diff --git a/frontend/app/ops-redesign.css b/frontend/app/ops-redesign.css index a52513a..de91888 100644 --- a/frontend/app/ops-redesign.css +++ b/frontend/app/ops-redesign.css @@ -1,5 +1,3 @@ -@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600;700&display=swap'); - /* Stitch production handoff: Media-Ops master system */ * { letter-spacing: 0 !important; diff --git a/frontend/next.config.js b/frontend/next.config.js index 2a60173..833206d 100644 --- a/frontend/next.config.js +++ b/frontend/next.config.js @@ -25,6 +25,10 @@ const nextConfig = { }, async rewrites() { return [ + { + source: "/favicon.ico", + destination: `${backendUrl}/branding/favicon.ico`, + }, { source: "/api/:path*", destination: `${backendUrl}/:path*`,