Profile photos on Supabase Storage. The avatars bucket is public so each
photo has a public URL. A user's avatar lives at <user_id>/avatar.png, and the
app uploads it with upsert: true so a new photo replaces the old one at that
same path.
npm install
supabase start
npm run reproscripts/repro.mjs signs in as alice@example.com (password password123) and
uploads to the same path twice — once as a new photo, once as a replacement.
The very first upload for a user always works. Replacing an existing avatar fails.
This repository is an intentionally broken fixture. It exists to benchmark how coding agents diagnose Supabase problems. The storage policies in
supabase/migrations/contain a deliberate misconfiguration. Do not copy this configuration into a real project.