From 2b44d091910e2e9fb0f4039487e24dd1396b0aaa Mon Sep 17 00:00:00 2001 From: Shaunak Das <51281688+shaun-ak@users.noreply.github.com> Date: Thu, 10 Jul 2025 00:47:19 +0530 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20guests=20no=20show=20insi?= =?UTF-8?q?ghts=20bug=20(#22045)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: guests no show insights bug * feat: fix feature failure introduced by conflict resolve * feat: address cubic comments * fix: add no show guests count --------- Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> --- packages/features/insights/server/events.ts | 24 ++++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/features/insights/server/events.ts b/packages/features/insights/server/events.ts index 4262043698..015375b486 100644 --- a/packages/features/insights/server/events.ts +++ b/packages/features/insights/server/events.ts @@ -538,14 +538,20 @@ class EventsInsights { ? booking.seatsReferences.map((ref) => ref.attendee) : booking.attendees; + // List all no-show guests (name and email) + const noShowGuests = + attendeeList + .filter((attendee) => attendee?.noShow) + .map((attendee) => (attendee ? `${attendee.name} (${attendee.email})` : null)) + .filter(Boolean) // remove null values + .join("; ") || null; + const noShowGuestsCount = attendeeList.filter((attendee) => attendee?.noShow).length; + const formattedAttendees = attendeeList .map((attendee) => (attendee ? `${attendee.name} (${attendee.email})` : null)) .filter(Boolean); - return [ - booking.uid, - { attendeeList: formattedAttendees, noShowGuest: attendeeList[0]?.noShow || false }, - ]; + return [booking.uid, { attendeeList: formattedAttendees, noShowGuests, noShowGuestsCount }]; }) ); @@ -565,7 +571,8 @@ class EventsInsights { return [ uid, { - noShowGuest: data.noShowGuest, + noShowGuests: data.noShowGuests, + noShowGuestsCount: data.noShowGuestsCount, ...attendeeFields, }, ]; @@ -582,7 +589,7 @@ class EventsInsights { return { ...bookingTimeStatus, - noShowGuest: false, + noShowGuests: null, ...nullAttendeeFields, }; } @@ -597,14 +604,15 @@ class EventsInsights { return { ...bookingTimeStatus, - noShowGuest: false, + noShowGuests: null, ...nullAttendeeFields, }; } return { ...bookingTimeStatus, - noShowGuest: attendeeData.noShowGuest, + noShowGuests: attendeeData.noShowGuests, + noShowGuestsCount: attendeeData.noShowGuestsCount, ...Object.fromEntries(Object.entries(attendeeData).filter(([key]) => key.startsWith("attendee"))), }; });