Hosts can optionally cap total attendance (RSVPs + plus-ones) when
creating an event. Capped events require guests to log in via the
existing email code flow; RSVPs are tied to accounts and deduped per
user. The event page shows spots left and replaces the form with a
full notice when the cap is reached; the server rejects over-cap
RSVPs and edits with 409 as a race backstop.
Also threads a safeNext-validated ?next= param through the login and
name-setup flow so guests land back on the event after signing in.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Merge RSVP + slot claim into a single form. Add plus_one field to RSVPs.
Add clickable RSVP names that open a modal to edit name/note/plus_one.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add migration to clean up duplicate RSVPs (keep earliest per event+name).
Add GetRsvpByName and DeleteDuplicateRsvps queries. Tests cover auto-RSVP
creation, duplicate prevention, and case-insensitive matching.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>