From 75c2c77e06fb94902b17b6d56e95eefe51a66ea6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 30 May 2026 01:49:22 +0000 Subject: [PATCH 1/9] Add CSP headers and sign-in fallback --- src/hooks.server.ts | 19 ++++++++++++++++++- .../components/sidebar/ConnectPanel.svelte | 8 ++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/hooks.server.ts b/src/hooks.server.ts index c0b865b..38f792e 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1 +1,18 @@ -export { handle } from './lib/auth/authHandler'; +import { sequence } from '@sveltejs/kit/hooks'; +import type { Handle } from '@sveltejs/kit'; +import { handle as authHandle } from './lib/auth/authHandler'; + +const securityHeaders: Handle = async ({ event, resolve }) => { + const response = await resolve(event); + + response.headers.set('X-Content-Type-Options', 'nosniff'); + response.headers.set('X-Frame-Options', 'DENY'); + response.headers.set( + 'Content-Security-Policy', + "default-src 'self' blob: data: https://*.basemaps.cartocdn.com; font-src 'self'; img-src 'self' https://*.basemaps.cartocdn.com data: blob:; object-src 'none'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com blob: data:; style-src 'self' 'unsafe-inline'" + ); + + return response; +}; + +export const handle = sequence(securityHeaders, authHandle); diff --git a/src/lib/components/sidebar/ConnectPanel.svelte b/src/lib/components/sidebar/ConnectPanel.svelte index 811c2f0..67beb0b 100644 --- a/src/lib/components/sidebar/ConnectPanel.svelte +++ b/src/lib/components/sidebar/ConnectPanel.svelte @@ -1,6 +1,5 @@