New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Minimum fix for N Calendar Invites #14617
Conversation
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link. |
Graphite Automations"Add consumer team as reviewer" took an action on this PR • (04/16/24)1 reviewer was added to this PR based on Keith Williams's automation. |
@@ -554,6 +555,7 @@ export default class EventManager { | |||
[] as DestinationCalendar[] | |||
); | |||
for (const destination of destinationCalendars) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This for ... of
loop was the cause of creating multiple calendar events.
@@ -554,6 +555,7 @@ export default class EventManager { | |||
[] as DestinationCalendar[] | |||
); | |||
for (const destination of destinationCalendars) { | |||
if (eventCreated) break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If a calendar event was created then set eventCreated
to true
. If the event was created on the first destination calendar then break out of the loop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Way way clearer. Thanks a ton @joeauyeung
📦 Next.js Bundle Analysis for @calcom/webThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
Current Playwright Test Results Summary✅ 302 Passing - Run may still be in progress, this comment will be updated as current testing workflow or job completes... (Last updated on 04/16/2024 08:04:24pm UTC) Run DetailsRunning Workflow PR Update on Github Actions Commit: 1a0707c Started: 04/16/2024 08:00:11pm UTC
|
|
2 Test Cases Affected |
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Event Types tests -- future user Different Locations Tests can add Attendee Phone Number location and book with it
Retry 1 • Initial Attempt |
0.67% (2)2 / 300 runsfailed over last 7 days |
4.67% (14)14 / 300 runsflaked over last 7 days |
Event Types tests -- legacy user can add multiple organizer address
Retry 1 • Initial Attempt |
0% (0)0 / 295 runsfailed over last 7 days |
2.71% (8)8 / 295 runsflaked over last 7 days |
📄 apps/web/playwright/teams.e2e.ts • 2 Flakes
Top 1 Common Error Messages
|
2 Test Cases Affected |
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Teams - NonOrg -- future Team Onboarding Invite Members
Retry 1 • Initial Attempt |
7.74% (24)24 / 310 runsfailed over last 7 days |
37.42% (116)116 / 310 runsflaked over last 7 days |
Teams - NonOrg -- future Can create a booking for Round Robin EventType
Retry 1 • Initial Attempt |
0.96% (3)3 / 311 runsfailed over last 7 days |
1.93% (6)6 / 311 runsflaked over last 7 days |
📄 apps/web/playwright/availability.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Availablity Can manage single schedule
Retry 1 • Initial Attempt |
0.65% (2)2 / 306 runsfailed over last 7 days |
25.82% (79)79 / 306 runsflaked over last 7 days |
📄 apps/web/playwright/organization/organization-invitation.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Organization Email matching orgAutoAcceptEmail and a Verified Organization with DNS Setup Done nonexisting user is invited to Org
Retry 1 • Initial Attempt |
0.34% (1)1 / 297 runfailed over last 7 days |
7.41% (22)22 / 297 runsflaked over last 7 days |
📄 apps/web/playwright/integrations-stripe.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Stripe integration Can book a paid booking
Retry 1 • Initial Attempt |
5.56% (17)17 / 306 runsfailed over last 7 days |
38.56% (118)118 / 306 runsflaked over last 7 days |
📄 apps/web/playwright/organization/booking.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Bookings Team Event Can create a booking for Round Robin EventType
Retry 2 • Retry 1 • Initial Attempt |
0.98% (3)3 / 307 runsfailed over last 7 days |
1.63% (5)5 / 307 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/action-based.e2e.ts • 8 Flakes
Top 1 Common Error Messages
|
8 Test Cases Affected |
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Popup Tests should open embed iframe on click - Configured with light theme
Retry 1 • Initial Attempt |
0.34% (1)1 / 294 runfailed over last 7 days |
64.97% (191)191 / 294 runsflaked over last 7 days |
Popup Tests should be able to reschedule
Retry 1 • Initial Attempt |
-189.11% (-191)-191 / 101 runsfailed over last 7 days |
189.11% (191)191 / 101 runsflaked over last 7 days |
Popup Tests should open Routing Forms embed on click
Retry 1 • Initial Attempt |
-189.11% (-191)-191 / 101 runsfailed over last 7 days |
189.11% (191)191 / 101 runsflaked over last 7 days |
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe according to system theme when no theme is configured through Embed API
Retry 1 • Initial Attempt |
-187.13% (-189)-189 / 101 runsfailed over last 7 days |
188.12% (190)190 / 101 runsflaked over last 7 days |
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe according to system theme when configured with 'auto' theme using Embed API
Retry 1 • Initial Attempt |
-190% (-190)-190 / 100 runsfailed over last 7 days |
190% (190)190 / 100 runsflaked over last 7 days |
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe(Booker Profile Page) with dark theme when configured with dark theme using Embed API
Retry 1 • Initial Attempt |
-190% (-190)-190 / 100 runsfailed over last 7 days |
190% (190)190 / 100 runsflaked over last 7 days |
Popup Tests Floating Button Popup Pro User - Configured in App with default setting of system theme should open embed iframe(Event Booking Page) with dark theme when configured with dark theme using Embed API
Retry 1 • Initial Attempt |
-190% (-190)-190 / 100 runsfailed over last 7 days |
190% (190)190 / 100 runsflaked over last 7 days |
Popup Tests prendered embed should be loaded and apply the config given to it
Retry 1 • Initial Attempt |
-190% (-190)-190 / 100 runsfailed over last 7 days |
190% (190)190 / 100 runsflaked over last 7 days |
📄 packages/app-store/routing-forms/playwright/tests/basic.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Routing Forms Seeded Routing Form Test preview should return correct route
Retry 1 • Initial Attempt |
0.68% (2)2 / 295 runsfailed over last 7 days |
36.27% (107)107 / 295 runsflaked over last 7 days |
What does this PR do?
Right now attendees are being spammed by emails from the calendar provider because we were creating calendar events on EACH team member's calendars. So if we have 4 members in a collective event, we were creating 4 different calendar events and the attendee was receiving an email for each event.
This PR is a minimum fix for this bug by only creating one calendar event on the first destination calendar that appears.
I tested this with a collective event and all team members are still on the single calendar event and is pointing to the member's destination calendar.
We should follow up with the changes found in this PR #14610 once tests are created for the
EventManager
class.Fixes #14580 Fixes CAL-3412 Fixes CAL-3468
Requirement/Documentation
Type of change
How should this be tested?
Mandatory Tasks
Checklist