diff --git a/.env.example b/.env.example index ed25870..5af6bb3 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,4 @@ DATABASE_URL=postgresql://bflr:bflr_dev@localhost:5432/buildfor_life_repair UPLOAD_DIR=static/uploads BASE_URL=http://localhost:5173 +BODY_SIZE_LIMIT=52428800 diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 857dd76..007503f 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,6 +1,20 @@ -import type { Handle } from '@sveltejs/kit'; +import type { Handle, HandleServerError } from '@sveltejs/kit'; import { validateSession, setSessionCookie, deleteSessionCookie } from '$lib/server/auth/index.js'; +export const handleError: HandleServerError = async ({ error }) => { + const message = error instanceof Error ? error.message : 'Unknown error'; + + // Body size limit exceeded + if (message.includes('exceeds limit')) { + return { + message: 'File too large. Maximum upload size is 50MB.' + }; + } + + console.error('Unhandled error:', error); + return { message: 'An unexpected error occurred.' }; +}; + export const handle: Handle = async ({ event, resolve }) => { const token = event.cookies.get('session'); diff --git a/src/routes/(app)/devices/[id]/+page.svelte b/src/routes/(app)/devices/[id]/+page.svelte index 2b0a1a6..8a65e48 100644 --- a/src/routes/(app)/devices/[id]/+page.svelte +++ b/src/routes/(app)/devices/[id]/+page.svelte @@ -139,6 +139,13 @@ {#if showUploadForm}