Skip to content

fix: multiple duration getSchedule calls [CAL-2336]#10709

Merged
zomars merged 7 commits intomainfrom
fix/multiple-duration-getSchedule
Aug 10, 2023
Merged

fix: multiple duration getSchedule calls [CAL-2336]#10709
zomars merged 7 commits intomainfrom
fix/multiple-duration-getSchedule

Conversation

@leog
Copy link
Copy Markdown
Contributor

@leog leog commented Aug 10, 2023

What does this PR do?

Due to the nature of multiple duration and recent changes that aimed to call as fast as possible the getSchedule result to populate the available slots, that call was made multiple times, first with an undefined duration and then the selected one.

Now we preemptively get the duration from query param if present, check if it's a possibility within the given event type options and return a valid duration if the event type has multiple duration configuration, either the query parameter value or the default duration if not valid. That duration is then passed down to the getSchedule call to effectively gain the performance optimization that was expected.

Fixes #10707

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How should this be tested?

Go to /pro/multiple-duration event type and check in Dev Tools Network tab that getSchedule is called once when loading the page. Before this change it was called twice.

Mandatory Tasks

  • Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.

@leog leog added the High priority Created by Linear-GitHub Sync label Aug 10, 2023
@leog leog requested review from a team August 10, 2023 19:48
@leog leog self-assigned this Aug 10, 2023
@leog leog requested a review from alannnc August 10, 2023 19:48
@github-actions github-actions bot added Urgent Created by Linear-GitHub Sync 🐛 bug Something isn't working labels Aug 10, 2023
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Aug 10, 2023

Thank you for following the naming conventions! 🙏

@zomars zomars added the core area: core, team members only label Aug 10, 2023
@vercel
Copy link
Copy Markdown

vercel bot commented Aug 10, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
api ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 8:57pm
cal-demo ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 8:57pm
dev ✅ Ready (Inspect) Visit Preview 💬 Add feedback Aug 10, 2023 8:57pm
3 Ignored Deployments
Name Status Preview Comments Updated (UTC)
cal ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 8:57pm
qa ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 8:57pm
ui ⬜️ Ignored (Inspect) Visit Preview Aug 10, 2023 8:57pm

@linear
Copy link
Copy Markdown

linear bot commented Aug 10, 2023

CAL-2336 getSchedule call fires twice

Found a bug? Please fill out the sections below. 👍

As getSchedule is our most resource intensive call we need to fix this urgently.

Additional context: seems to only happen on events with multiple durations

@alwaysmeticulous
Copy link
Copy Markdown

alwaysmeticulous bot commented Aug 10, 2023

🤖 Meticulous spotted visual differences in 17 of 133 screens tested: view and approve differences detected.

Last updated for commit 7eb37e2. This comment will update as new commits are pushed.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Aug 10, 2023

📦 Next.js Bundle Analysis for @calcom/web

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

@deploysentinel
Copy link
Copy Markdown

deploysentinel bot commented Aug 10, 2023

Current Playwright Test Results Summary

✅ 115 Passing - ⚠️ 3 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 08/10/2023 08:59:58pm UTC)

Run Details

Running Workflow PR Update on Github Actions

Commit: 7eb37e2

Started: 08/10/2023 08:57:41pm UTC

⚠️ Flakes

📄   packages/app-store/typeform/playwright/tests/basic.e2e.ts • 2 Flakes

Top 1 Common Error Messages

null

2 Test Cases Affected

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Typeform App Typeform Redirect Link should copy link in editing area
Retry 1Initial Attempt
1.79% (6) 6 / 335 runs
failed over last 7 days
1.19% (4) 4 / 335 runs
flaked over last 7 days
Typeform App Typeform Redirect Link should copy link in RoutingForms list
Retry 1Initial Attempt
1.79% (6) 6 / 335 runs
failed over last 7 days
2.99% (10) 10 / 335 runs
flaked over last 7 days

📄   packages/embeds/embed-core/playwright/tests/action-based.e2e.ts • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Popup Tests should be able to reschedule
Retry 2Retry 1Initial Attempt
5.39% (18) 18 / 334 runs
failed over last 7 days
94.61% (316) 316 / 334 runs
flaked over last 7 days

View Detailed Build Results


zomars
zomars previously approved these changes Aug 10, 2023
@zomars zomars merged commit 64e6e1a into main Aug 10, 2023
@zomars zomars deleted the fix/multiple-duration-getSchedule branch August 10, 2023 21:00
sean-brydon pushed a commit that referenced this pull request Aug 14, 2023
Co-authored-by: Omar López <zomars@me.com>
sean-brydon added a commit that referenced this pull request Aug 18, 2023
* Init + get timezone + offset data agh

* Add 12/24h mode - style correctly

* User users timezone + working hours. Still some stuff to figure out

* Multiple working hours

* move calc to once per day

* Demo with two users and differnt timezones

* availabillity control tab via search params

* WIP hover overlay

* THIS WORKS ISH

* fix: multiple duration getSchedule calls [CAL-2336] (#10709)

Co-authored-by: Omar López <zomars@me.com>

* New Crowdin translations by Github Action

* fix: If the input type "Name" is selected, the label can't be changed from our default label "Your Name" (#10618)

Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>

* New Crowdin translations by Github Action

* test: Create unit tests for react components in packages/ui/components/form/step (#10442)

Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>

* feat: element call app added (#10585)

Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>

* New Crowdin translations by Github Action

* New Crowdin translations by Github Action

* fix: e2e test for rescheduling overlapping time (#10721)

Co-authored-by: CarinaWolli <wollencarina@gmail.com>

* feat: mailhog fixture (#10606)

* feat: mailhog fixture

* fix: nodemailer to dispatch emails with e2e env

* fix: remove space from email subject

* feat: fixture getFirstEventAsOwner

* feat: assert email subjects

* fix: and enable dynamic booking test (#10642)

* fix and enable dynamic booking test

* remove page pause

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>

* fix: Broken team events if a user with the same name exists (#10724)

* fix: Broken team events if a user with the same name exists

* Fix tests + fix usernameList optionality

* Try to list calendars, if not continue (#10720)

Co-authored-by: Omar López <zomars@me.com>

* v3.1.9

* link to org settings (#10718)

* feat: app paypal payment (#8797)

Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>

* fix: RTL issues on booking pages + email confirmation (#10526)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* fix: merge conflict

* Fixing org slug (#10538)

* fix: paypal build fixes

* Fix avatar for org in Shell top (#10712)

* feat: add range of dates for availability over-ride (#10462)

* feat: add range of dates for availability over-ride

* chore: changed range select to multiple select

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>

* fix: border issue for time slots (#10577)

Co-authored-by: Raghul D <v-raghuld@microsoft.com>

* style: Fix text wrapping issue in button (#10725)

Co-authored-by: Omar López <zomars@me.com>

* New Crowdin translations by Github Action

* fix: App Install Dropdown Sort Properly [CAL-2285] (#10672)

Co-authored-by: Peer Richelsen <peeroke@gmail.com>

* fix: link escaping in booking page (#10360)

Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>

* chore: fix refund i18n message (#10731)

* chore: remove tailwind-scrollbar warning (#10523)

Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>

* New Crowdin translations by Github Action

* chore: Simplified date overrides (#10728)

* chore: Simplified date overrides

* Fixed a test that had a date override that wasn't at midnight utc

* Wrote test that showed a fixed Europe/Brussels

* Lint fix

* New Crowdin translations by Github Action

* Fix offset time + fetching correct dates

* Deal with awkward minute offsets

* remove store overhead

* Format H based on tz

* Cleanup store logic

* Cleanup

* Remove comments

* Remove comments

* Remove yarn.lock

* Dark mode & v-align text fixes

* Move ButtonGroup to the left to prevent chevron from jumping

* Shift based on timezone (non-hour) and have 15min granularity in hour display background color

---------

Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Zain Gulbaz <zaingulbaz8@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Suyash Srivastava <suyashsrivastava5053@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Pradumn Kumar <pradumn@tealfeed.com>
Co-authored-by: Raghul <123321540+Raghul18@users.noreply.github.com>
Co-authored-by: Raghul D <v-raghuld@microsoft.com>
Co-authored-by: ABDERRAHMANI IDRISSI HAMZA <97639117+idrissi-hamza@users.noreply.github.com>
Co-authored-by: Nafees Nazik <84864519+G3root@users.noreply.github.com>
Co-authored-by: Danila <daniil.demidovich@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🐛 bug Something isn't working core area: core, team members only High priority Created by Linear-GitHub Sync Urgent Created by Linear-GitHub Sync

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CAL-2336] getSchedule call fires twice

2 participants