-
Notifications
You must be signed in to change notification settings - Fork 9.1k
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: videoCallUrl
not updating when rescheduling with a broken Calendar integration
#11923
fix: videoCallUrl
not updating when rescheduling with a broken Calendar integration
#11923
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Ignored Deployments
|
Thank you for following the naming conventions! 🙏 Feel free to join our discord and post your PR link to collect XP and win prizes! |
if (parsedBody.payload.metadata?.videoCallUrl) { | ||
parsedBody.payload.metadata.videoCallUrl = parsedBody.payload.metadata.videoCallUrl | ||
? parsedBody.payload.metadata.videoCallUrl.replace(/\/video\/[a-zA-Z0-9]{22}/, "/video/DYNAMIC_UID") |
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.
Instead of considering every UID as DYNAMIC_UID, actually test the value as there was a bug that could have found if we were checking that.
8809eb3
to
37f5d42
Compare
📦 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✅ 162 Passing - Run may still be in progress, this comment will be updated as current testing workflow or job completes... (Last updated on 10/17/2023 10:14:04am UTC) Run DetailsRunning Workflow PR Update on Github Actions Commit: 1a0367b Started: 10/17/2023 10:10:21am UTC
|
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
2FA Tests should allow a user to enable 2FA and login using 2FA
Retry 1 • Initial Attempt |
1.75% (5)5 / 286 runsfailed over last 7 days |
30.77% (88)88 / 286 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 Paid booking should be able to be rescheduled
Retry 1 • Initial Attempt |
3.32% (10)10 / 301 runsfailed over last 7 days |
6.31% (19)19 / 301 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/action-based.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 |
---|---|---|
Popup Tests should be able to reschedule
Retry 2 • Retry 1 • Initial Attempt |
9.21% (28)28 / 304 runsfailed over last 7 days |
89.14% (271)271 / 304 runsflaked over last 7 days |
Popup Tests should open embed iframe on click - Configured with light theme
Retry 1 • Initial Attempt |
3.61% (11)11 / 305 runsfailed over last 7 days |
35.74% (109)109 / 305 runsflaked over last 7 days |
📄 apps/web/playwright/onboarding.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Onboarding Onboarding v2 Onboarding Flow
Retry 1 • Initial Attempt |
0% (0)0 / 300 runsfailed over last 7 days |
1% (3)3 / 300 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/preview.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Preview Preview - embed-core should load
Retry 1 • Initial Attempt |
0% (0)0 / 302 runsfailed over last 7 days |
5.30% (16)16 / 302 runsflaked over last 7 days |
📄 apps/web/playwright/teams.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Teams Non admin team members cannot create team in org
Retry 1 • Initial Attempt |
0% (0)0 / 41 runsfailed over last 7 days |
26.83% (11)11 / 41 runsflaked over last 7 days |
📄 packages/embeds/embed-core/playwright/tests/inline.e2e.ts • 1 Flake
Test Case Results
Test Case | Last 7 days Failures | Last 7 days Flakes |
---|---|---|
Inline Iframe Inline Iframe - Configured with Dark Theme
Retry 1 • Initial Attempt |
3.64% (11)11 / 302 runsfailed over last 7 days |
12.25% (37)37 / 302 runsflaked over last 7 days |
37f5d42
to
7152d54
Compare
adc8fbc
to
867e916
Compare
@@ -2134,7 +2133,8 @@ async function handler( | |||
} | |||
return prev; | |||
}, {} as { [key: string]: AppsStatus }); | |||
evt.appsStatus = Object.values(calcAppsStatus); | |||
resultStatus = Object.values(calcAppsStatus); | |||
return resultStatus; |
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.
Return resultStatus
instead of setting it directly on evt in the function. evt isn't an argument passed to the function.
It makes it more clear to understand what handleAppStatus
is doing
cancellationReason: `$RCH$${rescheduleReason ? rescheduleReason : ""}`, // Removable code prefix to differentiate cancellation from rescheduling for email | ||
}); | ||
} | ||
const { metadata, videoCallUrl: _videoCallUrl } = getVideoCallDetails({ |
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.
It's possible that only Calendar Integration may have failed, so we still have a new video URL.
results, | ||
}); | ||
|
||
videoCallUrl = _videoCallUrl; |
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.
Update the out of block scope variable videoCallUrl
}); | ||
|
||
videoCallUrl = _videoCallUrl; | ||
evt.appsStatus = handleAppsStatus(results, booking); |
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.
We should be able to call handleAppsStatus regardless of updateEvent
presence. The function itself checks for results
.
videoCallUrl
not updating when rescheduling with a broken Calendar integration
867e916
to
8215312
Compare
}); | ||
|
||
expectBookingRescheduledWebhookToHaveBeenFired({ | ||
booker, | ||
organizer, | ||
location: BookingLocations.CalVideo, | ||
subscriberUrl: "http://my-webhook.example.com", | ||
videoCallUrl: `${WEBAPP_URL}/video/DYNAMIC_UID`, | ||
videoCallUrl: `${WEBAPP_URL}/video/${createdBooking.uid}`, |
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.
Test the CalVideo URL completely.
@@ -577,16 +592,27 @@ describe("handleNewBooking", () => { | |||
}, | |||
to: { | |||
description: "", | |||
location: "New York", | |||
location: "integrations:daily", |
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.
Updated the test to use DailyVideo has location during reschedule
e1927ed
to
b44ac00
Compare
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.
@hariombalhara so i got the correct meeting link on the booking page but i didn't got any email about rescheduling of meeting or that my integration in broken
Yeah that is a known issue @Udit-takkar. It needs to be tackled separately. In such case a broken integration email should be sent ideally. Also, we have considered even disabling the booking page itself if Google Calendar isn't connected correctly. |
metadata.conferenceData = updatedEvent.conferenceData; | ||
metadata.entryPoints = updatedEvent.entryPoints; | ||
handleAppsStatus(results, booking); | ||
videoCallUrl = metadata.hangoutLink || videoCallUrl || updatedEvent?.url; |
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.
At this moment videoCallUrl is undefined. So, we could just remove the middle videoCallUrl in ORing
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.
LGTM
What does this PR do?
Fixes,
videoCallUrl
not updating when rescheduling with a broken Calendar integrationMore details https://threads.com/34542266165?s=iejN9Cku3XDgLFAaAXrKBo
Type of change
How should this be tested?
Mandatory Tasks