Create separate ICS feeds for every person/profile on the site, only including the slots that profile is RSVPed to.
Curated Boat RSVP ICS Calendar MVP Implementation (by Codex) and shipped in one session
Decided I need to block duplicate profiles from being created. Boat RSVP Duplicate Profile Blocking Implementation (by Codex)
Decided
- To allow creation and deletion of the calendar for each profile for a cleaner merge of the old logic and the new logic. Allow for better testing via the UI too
- Considered difference between crew and custom profiles
- Not making the calendar token private
Ran implementation of Boat RSVP ICS Calendar MVP Implementation (by Codex)
Deploying new rules via firebase deploy --only firestore:rules
Deploying new functions via firebase deploy --only functions
- Ran into a timeout error. Ran
$env:FUNCTIONS_DISCOVERY_TIMEOUT="30"first
Clicking the create calendar button on Marissa’s profile. Imported into Outlook but there are no events. Need to populate the profileID into the RSVPs
Ran dry run
$env:FIREBASE_PROJECT_ID="boat-5baa0"
node scripts/backfill-calendar-fields.js --dry-run
- Populated 2 unresolved
- One for Jerry’s own RSVP on the 6/27 slot - somehow not mapping to his crew profile. Patched
backfill-calendar-fields.jsto resolve properly - One for “Alyssa” that doesn’t have an RSVP profile somehow. Updated the associated RSVP names in firestone to “Alyssa Kipnis”
- One for Jerry’s own RSVP on the 6/27 slot - somehow not mapping to his crew profile. Patched
Ran the real script node scripts/backfill-calendar-fields.js. Updated 242 documents. rsvpSummaries and rsvps have profileID now
Now Marissa’s calendar profile shows the appropriate slots.
Evening slots go to the next day. Updated the app.js and functions\index.js to end evening slots at 11pm. Ran firebase deploy --only functions
Confirmed slot events in the calendar refresh automatically based on updates to profile RSVPs