Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@joeauyeung
Copy link
Contributor

@joeauyeung joeauyeung commented Nov 13, 2025

What does this PR do?

Fixes a UI bug where rescheduled round robin bookings display an incorrect video provider label on the booking success page. When a round robin event is rescheduled and the new host lacks the original video provider credentials (e.g., Google Meet), the system correctly falls back to Cal Video for the actual meeting link, but the UI was still showing the original provider name.

Root Cause: The provider label (providerName and rescheduleProviderName) was derived from booking.location (which stores the original location selection) instead of from the actual video call URL being used (booking.metadata.videoCallUrl).

The Fix: Updated the booking success page to derive provider names from the effective location with proper fallback chain:

  • providerName: Uses videoCallUrl ?? location
  • rescheduleProviderName: Uses videoCallUrl ?? rescheduleLocation ?? location

This ensures the displayed label matches the actual meeting link being used.


Link to Devin run: https://app.devin.ai/sessions/fd6c8502fffa4b469af5fd0bfab61263
Requested by: [email protected] (@joeauyeung)

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox. N/A - This is a bug fix that doesn't change any APIs or user-facing features requiring documentation.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works. Note: No automated tests were added for this specific scenario. Manual testing recommended.

How should this be tested?

Scenario to reproduce the original issue:

  1. Create a round robin event type with multiple hosts
  2. Ensure the first host has Google Meet connected, but the second host does not
  3. Book a meeting that gets assigned to the first host (should show Google Meet)
  4. Reschedule the meeting to a time when only the second host is available
  5. System should fall back to Cal Video for the actual meeting link
  6. Before this fix: Success page would show "Google Meet" label but link to Cal Video
  7. After this fix: Success page should show "Cal Video" label matching the actual link

Environment variables: None required beyond standard Cal.com setup

Test data needed:

  • Two users in a round robin event type
  • First user with Google Calendar + Google Meet integration
  • Second user without Google Meet (will trigger Cal Video fallback)

Expected behavior:

  • The provider label on the booking success page should always match the actual video meeting link
  • For rescheduled bookings, if the video provider changes due to host reassignment, the label should reflect the new provider

Important Review Points

⚠️ Key areas to review:

  1. Fallback logic correctness: Verify that videoCallUrl ?? rescheduleLocation ?? location makes sense for all reschedule scenarios. Does this handle cases where:

    • Attendee changes location during reschedule?
    • Video provider changes due to host reassignment?
    • Original booking had no video but reschedule adds one?
  2. guessEventLocationType compatibility: This function needs to correctly identify provider names from video call URLs. Reviewers should verify it handles:

    • Cal Video URLs (e.g., https://cal.com/video/...)
    • Google Meet URLs (e.g., https://meet.google.com/...)
    • Other video provider URLs (Zoom, Daily.co, etc.)
    • If it doesn't recognize a URL, does it gracefully degrade to "Link"?
  3. Edge cases: Consider scenarios like:

    • Instant meetings
    • Seated events with multiple attendees
    • Recurring events
    • Bookings with custom locations (phone, in-person)
  4. No test coverage: This PR doesn't include automated tests. Consider whether a regression test should be added before merging.

Checklist

  • I have read the contributing guide
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas (N/A - change is self-explanatory)
  • I have checked if my changes generate no new warnings

When a round robin event is rescheduled and the host changes to someone
without the original video provider credentials (e.g., Google Meet), the
system falls back to Cal Video. However, the UI was still showing the
original provider name (Google Meet) while linking to Cal Video.

This fix ensures the provider label is derived from the actual video call
URL being used (locationVideoCallUrl) rather than the booking.location
field, making the displayed label consistent with the actual meeting link.

Fixes the issue where frontend shows 'Google Meet' but link leads to Cal Video.

Co-Authored-By: [email protected] <[email protected]>
@devin-ai-integration
Copy link
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR that start with 'DevinAI' or '@devin'.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Contributor

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

Details:

No release type found in pull request title "Fix location label mismatch in round robin rescheduled bookings". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

@keithwillcode keithwillcode added core area: core, team members only enterprise area: enterprise, audit log, organisation, SAML, SSO labels Nov 13, 2025
@devin-ai-integration devin-ai-integration bot changed the title Fix location label mismatch in round robin rescheduled bookings fix: location label mismatch in round robin rescheduled bookings Nov 13, 2025
Ensures both providerName and rescheduleProviderName use the actual
video call URL when available, with proper fallback chain:
- rescheduleEffectiveLocation = videoCallUrl ?? rescheduleLocation ?? location

This handles cases where attendee changes location during reschedule.

Co-Authored-By: [email protected] <[email protected]>
@vercel
Copy link

vercel bot commented Nov 13, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
cal Ignored Ignored Nov 13, 2025 10:29pm
cal-eu Ignored Ignored Nov 13, 2025 10:29pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core area: core, team members only enterprise area: enterprise, audit log, organisation, SAML, SSO size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants