- Discard changes
- Field length enforcement
- Fix disabled tests now that Markdown works
- Fix to/from fields not validating together
- Job to delete expired events
- Not found cells
- Not found page
- Prompt on navigate away before destroying changes
- QR code for ICS/GCal links
- Render preview images to S3
- Sample event page
- When date is too far away, use year in preview
- Look into new OG image features
- Notify organizer on cancel?
- "Upgrade" from no RSVP to RSVP
- Allow host to delete RSVPs
- Edge case: what if response edit token is in localstorage, but event owner has deleted the response?
- Allow host to email attendees
- Email attendees on changes
- Email attendees on deletion
- Use background functions for saving event preview image
- Upgrade to Bulma 1.0 (or away)
- Fix hamburger menu not working on mobile
- Why are hamburger items missing on Confirm RSVP page?
- URL builder helpers
- Form to request resend link(s) for email address
- # Add Sentry to frontend
- Diff dates in
notify
so that they are omitted when unchanged - Investigate why some emailed URLs use incorrect hosts for Netlify Deploy Preview
- Stably sort RSVP list
- Allow sorting of RSVP list with UI
- Closely investigate form button spacing (update + cancel, etc.)
- Notify event owner when RSVP details change
- Allow event owner to customize their level of email participation
- Automate flow tests
- Use consistent pattern for "updated" green text across form submit actions
- Make required env vars required with
mustEnv
, etc. (e.g.SITE_HOST
) - Make Sentry DSN optional
- Consensually gather user emails for mailing list
- Redirect old slugs on slug change
- Add sticky bit to "sent you a confirmation email for your RSVP"
- Site-wide announcement feature
- Unify email templates (header, unsub footer, etc.)
- "Serious mode" for LoadingBuddy for e.g. unsubscribe requests
- Notification when target email is denylisted on record creation
- Replace shared API lib dir with Yarn "shared package" workspace
- Add advanced crash logging
- Linter for secrets in build
- Hide captcha in non-prod Netlify contexts
- Unify email and Discord notifications
- Add pretty error messages for 404s (e.g. clicked an expired/tidied link)
- Resend confirmation if an RSVP enters an existing email
- Captcha
- Hold RSVP locally with cookie
- Scheduler engine
- Send reminders
- Delete unconfirmed events
- Delete unconfirmed responses
- Archive completed events
- Add Sentry to frontend
- Add Sentry to Prisma
- Write README
- Clean up relative imports
- Spinners on loading pages with fun text
- Placeholder values for form fields
- Add * asterisk markers to mandatory fields
- Use
navigate
instead ofa href
- Fix formatting in ICS file desc (no HTML)
- Add calendar invite links to RSVP page
- Review all page titles and add contextual data where relevant
- Replace MetaTags with Metadata
- Unify
typ
styles forpageTitle
andhead
- Edit RSVP from confirmation link
- More prominent RSVP button
- Delete RSVP
- Discord webhook notifications
- Show all responses to event owner on edit page regardless of response config
- RSVP
- Location field
- Fix
Test Event
appearing asTest+Event
in the Hooray created confirmation message - Store editor's timezone with each event and use it to generate preview image times
- .ics function + link
- Add To icons
- Base layout
- Buy domain
- CI
- Clean up codebase + tests
- Confirm event on first edit click
- Connect to db
- Create Event Page -> Create Event Form
- Dark mode
- Delete Event button
- Delete reminders
- Deploy to Netlify
- Edit Event Page -> Edit Event Cell -> Edit Event Form
- Edit: expiry, visible field
- Event Created Page
- Favicon
- Fix site host config from env var
- GCal link
- Home Page -> nav, etc.
- Install aggressive docstring linter
- Install Tailwind
- Limit access to fields
- Lint and typecheck
- Navbar
- Open Graph basic data for each page
- Open Graph image generation
- Prerender core routes
- Preview Event Page -> Preview Event Cell -> Show Event Component
- Replace Tailwind with Bulma
- Send email
- Sentry
- Slug field in edit event
- View Event Page -> View Event Cell -> View Event Component