The thumbnail upload (uploadProjectThumbnail) writes to a
'project-thumbnails' storage bucket, but instrumentation.ts only
bootstrapped the 'avatars' bucket. This caused:
Upload failed: Bucket not found
Add the missing bucket creation with matching constraints (public,
10 MB limit, image/png only). Also refactor the bucket-exists check
to use a Set so it scales cleanly as more buckets are added.
Co-authored-by: Anton Pascal <anton-pascal@users.noreply.github.com>
Uses Next.js instrumentation.ts to ensure the Supabase "avatars"
bucket exists on first boot — no manual setup needed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>