Skip to content

feat(fixed-hosts): pick first host as organizer for collective events or round robbin with fixed hosts#28718

Open
bandhan-majumder wants to merge 2 commits intocalcom:mainfrom
bandhan-majumder:fix-21719
Open

feat(fixed-hosts): pick first host as organizer for collective events or round robbin with fixed hosts#28718
bandhan-majumder wants to merge 2 commits intocalcom:mainfrom
bandhan-majumder:fix-21719

Conversation

@bandhan-majumder
Copy link
Copy Markdown
Contributor

What does this PR do?

For collective events or round robin with fixed hosts, it sets first host is the default organizer. This adds a new attribute isOrganizer for the host entity to which is false by default

Visual Demo (For contributors especially)

Video Demo (if applicable):

organizer.mp4

Image Demo (if applicable):

image

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.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  • Are there environment variables that should be set?
  • What are the minimal test data to have?
  • What is expected (happy path) to have (input and output)?
  • Any other important info that could help to test that PR

Checklist

  • I haven't read the contributing guide
  • My code doesn't follow the style guidelines of this project
  • I haven't commented my code, particularly in hard-to-understand areas
  • I haven't checked if my changes generate no new warnings
  • My PR is too large (>500 lines or >10 files) and should be split into smaller PRs

@bandhan-majumder bandhan-majumder requested a review from a team as a code owner April 3, 2026 02:34
@github-actions github-actions bot added enterprise area: enterprise, audit log, organisation, SAML, SSO Medium priority Created by Linear-GitHub Sync teams area: teams, round robin, collective, managed event-types ✨ feature New feature or request ❗️ migrations contains migration files and removed ✨ feature New feature or request Medium priority Created by Linear-GitHub Sync teams area: teams, round robin, collective, managed event-types enterprise area: enterprise, audit log, organisation, SAML, SSO labels Apr 3, 2026
@github-actions github-actions bot added enterprise area: enterprise, audit log, organisation, SAML, SSO Medium priority Created by Linear-GitHub Sync teams area: teams, round robin, collective, managed event-types ✨ feature New feature or request labels Apr 3, 2026
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 14 files

)}>
{option.label}
{option.isOrganizer && (
<span className="text-subtle ml-1 text-xs">({t("default_organizer")})</span>
Copy link
Copy Markdown
Contributor Author

@bandhan-majumder bandhan-majumder Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

calling this default organizer instead of organizer because of this line

https://github.com/bandhan-majumder/cal.com/blob/aa21d89e8e733f7fe7b2459312d5740869a95fb9/packages/features/bookings/lib/service/RegularBookingService.ts#L1267

this tells that if the request has a teamMemberEmail field, then the exact member will be the organizer. and if not, then we can pick the organizer of the event among the hosts as organizer if exists.

@bandhan-majumder
Copy link
Copy Markdown
Contributor Author

One improvement that can be done is immediately showing the default organizer tag in the UI as soon as the first member gets added or the organizer gets removed (the earliest joiner is the organizer here) and invalidation happens. But here I tried to add form resetting logic but the current logic seem to be a bit complex and throwing type errors even though I regenerated the types.

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

Labels

enterprise area: enterprise, audit log, organisation, SAML, SSO ✨ feature New feature or request Medium priority Created by Linear-GitHub Sync ❗️ migrations contains migration files size/M teams area: teams, round robin, collective, managed event-types

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CAL-5348] Always pick first host as the organizer

1 participant