perf: GCal reduce calendar payload#10853
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Ignored Deployments
|
|
Thank you for following the naming conventions! 🙏 |
📦 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✅ 116 Passing - Run may still be in progress, this comment will be updated as current testing workflow or job completes... (Last updated on 08/19/2023 11:58:03pm UTC) Run DetailsRunning Workflow PR Update on Github Actions Commit: 410cd8a Started: 08/19/2023 11:56:58pm UTC
|
| Test Case | Last 7 days Failures | Last 7 days Flakes |
|---|---|---|
|
Popup Tests should be able to reschedule
Retry 1 • Initial Attempt |
2.61% (7)7 / 268 runsfailed over last 7 days |
97.39% (261)261 / 268 runsflaked over last 7 days |
📄 packages/app-store/typeform/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 Routing Link should validate fields
Retry 1 • Initial Attempt |
0.37% (1)1 / 271 runfailed over last 7 days |
4.06% (11)11 / 271 runsflaked over last 7 days |
hariombalhara
left a comment
There was a problem hiding this comment.
Nice optimization @joeauyeung !!
As a followup, I was thinking how we can prevent having a scenario where we are accessing a field that we didn't fetch. I don't think google calendar types prevent that from happening.
Maybe adding a zod schema would help . It doesn't seem necessary right now as the fields are accessed almost below the place where they are fetched. But it can be problematic if they are accessed somewhere else e.g. in a separate function.
What does this PR do?
Explored reducing the payload size from GCal queries.
Reducing the freebusy query had no difference in payload size.
Reducing the calendar query payload of 4 calendars, the size went from 1895 to 434 bytes.
Fixes # (issue)
Requirement/Documentation
Type of change
How should this be tested?
Mandatory Tasks
Checklist