feat: optimize slot refreshing on timezone change #26432
+27
−25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Description: Optimize Slot Refreshing on Timezone Change
What does this PR do?
This PR optimizes how available slots are refreshed when a booker changes their timezone in the booking interface.
Currently, the application triggers a fresh fetch of available slots from the server whenever the booker's timezone is updated. While this is necessary for events where the schedule is strictly restricted to the booker's timezone (
useBookerTimezone: true), it is redundant for standard events where slots can be converted client-side.Changes:
Updated useScheduleForEvent to accept the
useBookerTimezoneconfiguration.Modified the slot fetching logic to conditionally use the booker's timezone in the query key only when
useBookerTimezoneis enabled.Correctly passed the
useBookerTimezoneflag from BookerWebWrapper and Embed components.Fixes Upon changing timezone, we need to update slots when restrictionSchedule is being used with useBookerTimezone enabled #22319
Fixes CAL-N/A
Visual Demo (For contributors especially)
Image Demo:
A snapshot of a real Cal.com booking page, showing the timezone selector and available slots.
Mandatory Tasks (DO NOT REMOVE)
How should this be tested?
Checklist