* Initial commit
* Adding feature flag
* feat: Orgs Schema Changing `scopedMembers` to `orgUsers` (#9209)
* Change scopedMembers to orgMembers
* Change to orgUsers
* Letting duplicate slugs for teams to support orgs
* Covering null on unique clauses
* Supporting having the orgId in the session cookie
* feat: organization event type filter (#9253)
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
* Missing changes to support orgs schema changes
* feat: Onboarding process to create an organization (#9184)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Making sure we check requestedSlug now
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* feat: [CAL-1816] Organization subdomain support (#9345)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* Covering users and subteams, excluding non-org users
* Unpublished teams shows correctly
* Create subdomain in Vercel
* feedback
* Renaming Vercel env vars
* Vercel domain check before creation
* Supporting cal-staging.com
* Change to have vercel detect it
* vercel domain check data message error
* Remove check domain
* Making sure we check requestedSlug now
* Feedback and unneeded code
* Reverting unneeded changes
* Unneeded changes
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Vercel subdomain creation in PROD only
* Making sure we let localhost still work
* Feedback
* Type check fixes
* feat: Organization branding in side menu (#9279)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Org branding provider used in shell sidebar
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Using org avatar (temp)
* Not showing org logo if not set
* User onboarding with org branding (slug)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Feedback
* Org public profile
* Public profiles for team event types
* Added setup profile alert
* Using org avatar on subteams avatar
* Making sure we show the set up profile on org only
* Profile username availability rely on org hook
* Update apps/web/pages/team/[slug].tsx
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Update apps/web/pages/team/[slug].tsx
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* feat: Organization support for event types page (#9449)
* Desktop first banner, mobile pending
* Removing dead code and img
* WIP
* Adds Email verification template+translations for organizations (#9202)
* First step done
* Merge branch 'feat/organizations-onboarding' of github.com:calcom/cal.com into feat/organizations-onboarding
* Step 2 done, avatar not working
* Covering null on unique clauses
* Onboarding admins step
* Last step to create teams
* Moving change password handler, improving verifying code flow
* Clearing error before submitting
* Reverting email testing api changes
* Reverting having the banner for now
* Consistent exported components
* Remove unneeded files from banner
* Removing uneeded code
* Fixing avatar selector
* Org branding provider used in shell sidebar
* Using meta component for head/descr
* Missing i18n strings
* Feedback
* Making an org avatar (temp)
* Using org avatar (temp)
* Not showing org logo if not set
* User onboarding with org branding (slug)
* Check for subteams slug clashes with usernames
* Fixing create teams onsuccess
* feedback
* Feedback
* Org public profile
* Public profiles for team event types
* Added setup profile alert
* Using org avatar on subteams avatar
* Processing orgs and children as profile options
* Reverting change not belonging to this PR
* Making sure we show the set up profile on org only
* Removing console.log
* Comparing memberships to choose the highest one
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Type errors
* Refactor and type fixes
* Update orgDomains.ts
* Feedback
* Reverting
* NIT
* fix issue getting org slug from domain
* Improving orgDomains util
* Host comes with port
* Update useRouterQuery.ts
* Feedback
* Feedback
* Feedback
* Feedback: SSR for user event-types to have org context
* chore: Cache node_modules (#9492)
* Adding check for cache hit
* Adding a separate install step first
* Put the restore cache steps back
* Revert the uses type for restoring cache
* Added step to restore nm cache
* Removed the cache-hit check
* Comments and naming
* Removed extra install command
* Updated the name of the linting step to be more clear
* Removes the need for useEffect here
* Feedback
* Feedback
* Cookie domain needs a dot
* Type fix
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Omar López <zomars@me.com>
* Update packages/emails/src/templates/OrganizationAccountVerifyEmail.tsx
* Feedback
---------
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* feat: Add shared invite link
* refactor: Rename Invite to Team Invite model
* feat: add admin check for team invite link procedures
* Replace TeamInvite with VerificationToken
* Add team invite null checks
* Migrates tRPC procedures to new format
* Type fixes
* Update common.json
---------
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* WIP for adding booker layout toggle in event settings pages
* Prevent form error from getting form stuck in loading state
* Fixed types for bookerlayouts settings and preselect correct layout in booker
* Added defaultlayout settings to profile too, and use that in booker plus as default for events.
* Made layout settings responsive
* Added feature toggle for new layout settings
* Fixed user builder for tests by adding defaultlyotu
* Show toggles on booker for layout switch based on selected layouts. Also added a small fix for the settings toggles to preselect the correct toggle for defaultlayout when user profile settings are used.
* Used zod parse to fix type errors.
* Fix unit test
* Set selected date to today in datepicker when week or column view is default layout. It uses that date to show in the title bar.
* Moved booker layout settings to event and user meta data instead of new db column.
* Converted booker layout strings into an enum.
* Renamed booker layouts feature flag and deleted unused v2 booker feature flag.
* Update packages/trpc/server/routers/viewer/eventTypes/update.handler.ts
Co-authored-by: Omar López <zomars@me.com>
* Fix import
* Fix lint warnings in EventTypeSingleLayout
* Fixed bug where when selected date was passed via query param page booking form wouldn't automatically show up. It would still serve you the date selection. This should fix e2e tests.
* Fixed layout header.
* Enabled booking layout toggle feature flag.
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Base UI work
* Bulk invite users
* WIP workspace oauth implementation
* Seperate components - add existing gcal check
* Move callback session to getServerSession
* Implementation of state redirect back to teams on login
* Add callback to populate text field
* Change error message
* Redirect from callback and open modal
* Fix bulk translations
* Fix translations for google button
* Delete Query
* Feature flag this
* Update packages/trpc/server/routers/viewer/teams/inviteMember.handler.ts
* Check if Gcal in installed globally
* Add new router
* Add missing [trpc] route
* Feedback
* Update packages/trpc/server/routers/viewer/googleWorkspace/googleWorkspace.handler.ts
* Typefixes
* More typefixes
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* allow event type specific webhooks for all event types
* first version of team webhooks
* add empty view
* design fixes when no teams + invalidate query on delete/update
* linke to new webhooks page with teamId in query
* make one button with dropdown instead of a button for every team
* add subtitle to dropdown
* add avatar fallback
* authorization when editing webhook
* fix event type webhooks
* fix authorization for delete handler
* code clean up
* fix disabled switch
* add migration
* fix subscriberUrlReservered function and fix authorization
* fix type error
* fix type error
* fix switch not updating
* make sure webhooks are triggered for the correct even types
* code clean up
* only show teams were user has write access
* make webhooks read-only for members
* fix comment
* fix type error
* fix webhook tests for team event types
* implement feedback
* code clean up from feedback
* code clean up (feedback)
* throw error if param missing in subscriberUrlReservered
* handle null/undefined values in getWebhooks itself
* better variable naming
* better check if webhook is readonly
* create assertPartOfTeamWithRequiredAccessLevel to remove duplicate code
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Enabling workflows for managed events
* Disabling fields for workflow when readonly
* Disabling event type workflows if readonly
* Installing auth app
* Reverting yarn.lock
* Again reverting yarn
* Showing user workflows in managed event type
* Reusing existing code to show all workflows
* Further extending workflow support
* Added unit test
* Fixing workflow assignment
* Fixing locked workflows for children MET
* Update packages/features/ee/workflows/components/EventWorkflowsTab.tsx
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Personal workflows fix, matching count numbers
* Fixing menu items for managed event types
* Fixing type checks
* Fixing empty activeOn select
* Fixing unit test
* handling active workflows for MET
* Fixing MET slug nit
* Embed option in action restored for non-MET
* Correcting mobile view when hidden
* More adjustments
* fix sms reminder field for children
* remove console.log
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* UI work - WIP scrollable area
* Add translations - refactor some components
* Add installed text
* Disable if there is no currently installed
* Extract loader
* Fix conditional
* Fix E2E
* fix typo
* add switches to advanced even type settings
* only show switches when workflow is enabled
* check in event type update handler if user is allowed to disable standard emails
* don't send emails if disabled
* make sure emails can't be disabled if no workflow exist
* send workflow emails to all attendees
* code clean up
* add translations
* always send to all attendees when scheduling reminders
* change text
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* logo map
* Archimed logo
* usememo
* Subdomain logo logic
* or our logo
* Update packages/features/orgs/SubdomainProvider.tsx
* Provider comments
* Move DB logic to db
* Fix a11y on alt tag
* Added example for dynamic endpoint
* Move to API approach
* Implement Icon logo on subdomain level
---------
Co-authored-by: zomars <zomars@me.com>
* add event end time as variable
* add timezone as new variable
* add first version of template prefill
* set template body when template is updated
* set reminder template body and subject when creating workflow
* set email subject when changes templates
* save emailBody and emailsubject for all templates + fix duplicate template text
* add more flexibility for templates
* remove console.log
* fix {ORAGANIZER} and {ATTENDEE} variable
* make sure to always send reminder body and not default template
* fix import
* remove email body text and match variables in templates
* handle translations of formatted variables
* fix email reminder template
* add cancel and reschedule link as variable
* add cancel and reschedule link for scheduled emails/sms
* make sure empty empty body and subject are set for reminder template
* add info message for testing workflow
* fix typo
* add sms template
* add migration to remove reminderBody and emailSubject
* add branding
* code clean up
* add hide branding everywhere
* fix sms reminder template
* set sms reminder template if sms body is empty
* fix custom inputs variables everywhere
* fix variable translations + other small fixes
* fix some type errors
* fix more type errors
* fix everything missing around cron job scheduling
* make sure to always use custom template for sms messages
* fix type error
* code clean up
* rename link to url
* Add debug logs
* Update handleNewBooking.ts
* Add debug logs
* removed unneded responses
* fix booking questions + UI improvements
* remove html email body when changing to sms action
* code clean up + comments
* code clean up
* code clean up
* remove comment
* more clear info message for timezone variable
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Reserving slot picked up on cache
* change memory-cache to database table to block slots while reservation completes
* remove memory-cache
* update realeaseAt field when same user change te selected Slot
* Change default time to book
Co-authored-by: alannnc <alannnc@gmail.com>
* remove ip field and renews the session when the user remains in the booking form
* Remove duplicate router
* types fixes
* nit picks
* Update turbo.json
* Revert unrelated change
* Uses constant
* Constant already has a fallback
* Update slots.ts
* Unit test fixes
* slot reservation on user level and support seats
* types fixes and reserve slots on click
* Fix nit var name
---------
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add payment option to schema
* Add payment option to Stripe zod
* Set payment option on event type
* Create manual payment intent in Stripe
* Set payment option from Stripe app
* Add payment option to DB
* Pass React.ReactNode to checkbox
* Create uncaptured payment intent
* WIP
* Capture card in setup intent
* Show charge card option
* Charge card from booking page
* Bug fixes
* Clean up
* Clean up app card
* Add no-show fee messaging on booking page
* Send payment email on payment & add price
* Fix messaging
* Create no show fee charged email
* Send charge fee collected email
* Disable submit on card failure
* Clean up
* Serverside prevent charging card again if already charged
* Only confirm booking if paid for
* Type fixes
* More type fixes
* More type fixes
* Type fix
* Type fixes
* UI changes
* Payment component rework
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Update apps/web/components/dialog/ChargeCardDialog.tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Update packages/trpc/server/routers/viewer/payments.tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Revert GTM config
* Adjust payment option dropdown
* Show alert when seats are set
* Small bug fixes
* Create collect card method
* clean up
* Prevent seats & charge no-show fee to be enabled together
* Do not charge no-show fee on unconfirmed bookings
* Add check to collect card method
* Webhook send request emails
* Fix some dark mode colours
* Change awaiting payment language
* Type fixes
* Set height of Select and TextField both to 38px to fix alignment
* Fix message seats & payment error message
* Type fix
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* init page
* init insights frontend
* nit
* nit
* nit
* merge
* fixed icons
* i18n, needs features
* Init insights trpc
* Using trpc on client
* Added events timeline
* Seed analytics script
* connect ui with trpc
* Added and fixed event time lines
* WIP popular days and avg time duration event type
* added new metric graphs
* improved upgrade tip
* always show upgrade screen
* upgrade tremor.so and select inputs for page
* Remove log
* Move everything to components and add context
* Fix select types using calcom ui one
* Adding translations
* Add missing translations
* Add more translations
* min fix
* Fixes for date select
* Prefer early return and mobile design fixes
* Fix style for mobile
* Fix data with userId filter from popular events
* add user id to average time duration
* fix types for select-react
* Removed submodules
* Delete website
* Update yarn.lock
* Code organization and type fixes
* trpc fixes
* Builds are now passing
* Relocates server code
* Add url state in insights
* Update FiltersProvider.tsx
* Cleanup
* Update embed-iframe.ts
* Update FilterType.tsx
* Update seed-app-store.config.json
* Update index.tsx
* Renamed seeder
* Update FiltersProvider.tsx
* Fix for query params
* no wrap on lg screen
* Fix shadow borders from tremor components, fix title font
* Add ring-gray to match filters
* add cursor pointer
* copy improvements
* blue to black
* fixed date select focus
* text right for table
* Adds missing translation strings
* Fix url state for filter type
* more layout improvements
* more padding improvements
* more UI fixes (padding, sizes) requested by ciaran
* Apply suggestions from code review
* WIP user without team metrics
* yarn
* Adds loading state for graphs and tables
* fix average render when no data
* Multiple fixes in insights
* Fix most and least booked members querys
* More fix for clear filters
---------
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Add calendar UID to calendar event
* Add iCalUID to booking event
* On reschedule write to evt the iCalUID
* Add uid to ics file
* Remove console logs
* Pass iCalUID if available
* Remove generated app store files
* Rename product id to calcom
* Add UID to ics on reschedule
* Type fixes
* Type fixes
* Type fixes
* Remove comment
* Remove console.log
* Removed serverConfig block from this branch
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* init page
* init insights frontend
* nit
* nit
* nit
* merge
* fixed icons
* i18n, needs features
* Init insights trpc
* Using trpc on client
* Added events timeline
* Seed analytics script
* connect ui with trpc
* Added and fixed event time lines
* WIP popular days and avg time duration event type
* added new metric graphs
* improved upgrade tip
* always show upgrade screen
* upgrade tremor.so and select inputs for page
* Remove log
* Move everything to components and add context
* Fix select types using calcom ui one
* Adding translations
* Add missing translations
* Add more translations
* min fix
* Fixes for date select
* Prefer early return and mobile design fixes
* Fix style for mobile
* Fix data with userId filter from popular events
* add user id to average time duration
* fix types for select-react
* Removed submodules
* Delete website
* Update yarn.lock
* Code organization and type fixes
* trpc fixes
* Builds are now passing
* Relocates server code
* Add url state in insights
* Update FiltersProvider.tsx
* Cleanup
* Update embed-iframe.ts
* Update FilterType.tsx
* Update seed-app-store.config.json
* Update index.tsx
* Renamed seeder
* Update FiltersProvider.tsx
* Fix for query params
* no wrap on lg screen
* Fix shadow borders from tremor components, fix title font
* Add ring-gray to match filters
* add cursor pointer
* copy improvements
* blue to black
* fixed date select focus
* Adds missing translation strings
* Fix url state for filter type
* Apply suggestions from code review
* Updated yarn lock
* Adds feature flag
* Type fix
---------
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* use sanitize-html instead
* add list formatting
* add lost changes from merging main
* fixes caused by merge
* remove dompurify
* Revert "remove dompurify"
This reverts commit 583bb623c7.
* sanitize already done in editor
* Update yarn.lock
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* init page
* init insights frontend
* nit
* nit
* nit
* merge
* fixed icons
* i18n, needs features
* Init insights trpc
* Using trpc on client
* Added events timeline
* Seed analytics script
* connect ui with trpc
* Added and fixed event time lines
* WIP popular days and avg time duration event type
* added new metric graphs
* improved upgrade tip
* always show upgrade screen
* upgrade tremor.so and select inputs for page
* Remove log
* Move everything to components and add context
* Fix select types using calcom ui one
* Adding translations
* Add missing translations
* Add more translations
* min fix
* Fixes for date select
* Prefer early return and mobile design fixes
* Fix style for mobile
* Fix data with userId filter from popular events
* add user id to average time duration
* Removed submodules
* Delete website
* Update yarn.lock
* Code organization and type fixes
* trpc fixes
* Builds are now passing
* Relocates server code
* Cleanup
* Medium size screen fixes
* Added TODO
---------
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* fix description in email
* add styling for lists
* sanitize editor input before saving
* sanitize eventTypeDescription
* santize html when used dangerouslySetInnerHTML
* fix server side sanitation
* add missing formatting and sanitation
* move @ts-expect-error to correct line
* fix type error and add yarn.lock
* fix build error
* sanitize description for booking page and availability page
* rename to markdownAndSanitize
* always add list formatting
* handle empty description in markdownAndSanitize for cleaner code
* create function for clientside markdown rendering and sanitizing
* fix type error
* code clean up
* Now that eventType.descriptionAsSafeHTML is added at all the missing places, we can do away with ts-ignore and get type safety
* Remove unused variable
* Remove one more ts-expect-error
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* WIP-already-reschedule-success-emails-missing
* WIP now saving bookingSeatsReferences and identifyin on reschedule/book page
* Remove logs and created test
* WIP saving progress
* Select second slot to pass test
* Delete attendee from event
* Clean up
* Update with main changes
* Fix emails not being sent
* Changed test end url from success to booking
* Remove unused pkg
* Fix new booking reschedule
* remove log
* Renable test
* remove unused pkg
* rename table name
* review changes
* Fix and and other test to reschedule with seats
* Fix api for cancel booking
* Typings
* Update [uid].tsx
* Abstracted common pattern
into maybeGetBookingUidFromSeat
* Reverts
* Nitpicks
* Update handleCancelBooking.ts
* Adds missing cascades
* Improve booking seats changes (#6858)
* Create sendCancelledSeatEmails
* Draft attendee cancelled seat email
* Send no longer attendee email to attendee
* Send email to organizer when attendee cancels
* Pass cloned event data to emails
* Send booked email for first seat
* Add seat reference uid from email link
* Query for seatReferenceUId and add to cancel & reschedule links
* WIP
* Display proper attendee when rescheduling seats
* Remove console.logs
* Only check for already invited when not rescheduling
* WIP sending reschedule email to just single attendee and owner
* Merge branch 'main' into send-email-on-seats-attendee-changes
* Remove console.logs
* Add cloned event to seat emails
* Do not show manage link for calendar event
* First seat, have both attendees on calendar
* WIP refactor booking seats reschedule logic
* WIP Refactor handleSeats
* Change relation of attendee & seat reference to a one-to-one
* Migration with relationship change
* Booking page handling unique seat references
* Abstract to handleSeats
* Remove console.logs and clean up
* New migration file, delete on cascade
* Check if attendee is already a part of the booking
* Move deleting booking logic to `handleSeats`
* When owner reschedule, move whole booking
* Prevent owner from rescheduling if not enough seats
* Add owner reschedule
* Send reschedule email when moving to new timeslot
* Add event data to reschedule email for seats
* Remove DB changes from event manager
* When a booking has no attendees then delete
* Update calendar when merging bookings
* Move both attendees and seat references when merging
* Remove guest list from seats booking page
* Update original booking when moving an attendee
* Delete calendar and video events if no more attendees
* Update or delete integrations when attendees cancel
* Show no longer attendee if a single attendee cancels
* Change booking to accepted if an attendee books on an empty booking
* If booking in same slot then just return the booking
* Clean up
* Clean up
* Remove booking select
* Typos
---------
Co-authored-by: zomars <zomars@me.com>
* Fix migration table name
* Add missing trpc import
* Rename bookingSeatReferences to bookingSeat
* Change relationship between Attendee & BookingSeat to one to one
* Fix some merge conflicts
* Minor merge artifact fixup
* Add the right 'Person' type
* Check on email, less (although still) editable than name
* Removed calEvent.attendeeUniqueId
* rename referenceUId -> referenceUid
* Squashes migrations
* Run cached installs
Should still be faster. Ensures prisma client is up to date.
* Solve attendee form on booking page
* Remove unused code
* Some type fixes
* Squash migrations
* Type fixes
* Fix for reschedule/[uid] redirect
* Fix e2e test
* Solve double declaration of host
* Solve lint errors
* Drop constraint only if exists
* Renamed UId to Uid
* Explicit vs. implicit
* Attempt to work around text flakiness by adding a little break between animations
* Various bugfixes
* Persistently apply seatReferenceUid (#7545)
* Persistently apply seatReferenceUid
* Small ts fix
* Setup guards correctly
* Type fixes
* Fix render 0 in conditional
* Test refactoring
* Fix type on handleSeats
* Fix handle seats conditional
* Fix type inference
* Update packages/features/bookings/lib/handleNewBooking.ts
* Update apps/web/components/booking/pages/BookingPage.tsx
* Fix type and missing logic for reschedule
* Fix delete of calendar event and booking
* Add handleSeats return type
* Fix seats booking creation
* Fall through normal booking for initial booking, handleSeats for secondary/reschedule
* Simplification of fetching booking
* Enable seats for round-robin events
* A lot harder than I expected
* ignore-owner-if-seat-reference-given
* Return seatReferenceUid when second seat
* negate userIsOwner
* Fix booking seats with a link without bookingUid
* Needed a time check otherwise the attendee will be in the older booking
* Can't open dialog twice in test..
* Allow passing the booking ID from the server
* Fixed isCancelled check, fixed test
* Delete through cascade instead of multiple deletes
---------
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Localized booking date
* re add space
* Add locale per format call due to lambda dayjs instance share between users
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* feat(web): improve session retrieval performance
Switch to using `getServerSession` which avoids a HTTP round trip to retrieve session details.
Additionally, migrate deprecated `app/lib/auth` calls to to `@calcom/lib` package.
* fix: update failing test and lint
* Consolidates auth code in features
* Update yarn.lock
* Update packages/trpc/server/createContext.ts
* Oopsie
---------
Co-authored-by: zomars <zomars@me.com>
* fix ul and ol in editor
* fix imports
* disable list for team about section
* fix event type description in list
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* add editor for event type description
* enable same things for markdownIt
* show links in blue
* fix placeholder design
* format description for event list
* limit event descript ot 4 lines in list
* shorten event-type description whenever needed
* add editor to create event type dialog
* fix link title in event type list
* Fix overwriting users column when saving event types (#7445)
* Only overwrite user column when present
* Clean up
* Merge branch 'main' into feat/editor-event-type-description
* Merge branch 'main' into feat/editor-event-type-description
# Conflicts:
# apps/web/pages/settings/my-account/profile.tsx
* Linting
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* WIP
* Create Booking Questions builder
* Renaming things
* wip
* wip
* Implement Add Guests and other fixes
* Fixes after testing
* Fix wrong status code 404
* Fixes
* Lint fixes
* Self review comments addressed
* More self review comments addressed
* Feedback from zomars
* BugFixes after testing
* More fixes discovered during review
* Update packages/lib/hooks/useHasPaidPlan.ts
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/ui/components/form/inputs/Input.tsx
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/features/bookings/lib/getBookingFields.ts
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* More PR review fixes
* Hide label using labelSrOnly
* Fix Carinas feedback and implement 2 workflows thingy
* Misc fixes
* Fixes from Loom comments and PR
* Fix a lint errr
* Fix cancellation reason
* Fix regression in edit due to name conflict check
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Fix options not set when default value is used
* Restoring reqBody to avoid uneeded conflicts with main
* Type fix
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* Show fields but mark them disabled
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* More comments
* Fix booking success page crash when a booking doesnt have newly added required fields response
* Dark theme asterisk not visible
* Make location required in zodSchema as was there in production
* Linting
* Remove _metadata.ts files for apps that have config.json
* Revert "Remove _metadata.ts files for apps that have config.json"
This reverts commit d79bdd336c.
* Fix lint error
* Fix missing condition for samlSPConfig
* Delete unexpectedly added file
* yarn.lock change not required
* fix types
* Make checkboxes rounded
* Fix defaultLabel being stored as label due to SSR rendering
* Shaved 16kb from booking page
* Explicit types for profile
* Show payment value only if price is greater than 0
* Fix type error
* Add back inferred types as they are failing
* Fix duplicate label on number
---------
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
* feat(app-store): add facetime app to app-store
Add the facetime app to the app-store allowing for facetime web links and facetime app link schemes.
fixes#6965
* Update packages/app-store/facetime/config.json
* Remove unneeded files and make app follow the new app rules
* fix(app-store): update facetime app config
Update the regex and placeholder for the facetime app to reflect the decisions to only accept https://facetime.apple.com links. This was decided as it means that all participants can join a meeting even in the event that they don't have an Apple device.
---------
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Add queries to fetch metadata and update default
* Add to zod schema
* Change default rules on settings page
* Update query
* Initall override on create event type
* Working default
* Change schema to save locationLink too
* Update default conferncing to include link
* Rename tsx to ts. Fix metadata keys
* WIP on refactoring appstore installed
* Add this to appstore installed apps too
* Display only on conferencing apps
* Add i18n strings
* Change order in dropdown menu so delete is bottom
* Refactor query to not expose all of metadata
* Fix mr type checker
* Possible e2e fix
* Refactor metadata to use ctx
* Refactor back to query cell
* Alias schema
* Adding comment for more info
* Remove constant for clarity
* Update nextjs-bundle-analysis.yml
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: zomars <zomars@me.com>
* Implementation
* Unifying UI to password screen
* Tweaks for session in password section
* Update apps/web/pages/settings/security/password.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/kbar/Kbar.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/settings/layouts/SettingsLayout.tsx
Co-authored-by: Omar López <zomars@me.com>
* Relying on extra db query
* Upgrades typescript
* Update yarn lock
* Typings
* Hotfix: ping,riverside,whereby and around not showing up in list (#6712)
* Hotfix: ping,riverside,whereby and around not showing up in list (#6712) (#6713)
* Adds deployment settings to DB (#6706)
* WIP
* Adds DeploymentTheme
* Add missing migrations
* Adds client extensions for deployment
* Cleanup
* Using same version as other deps
* Reverting prisma changes and fixing things
* Uneeded tx-expect-error
* Fixing default value
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
---------
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Maximum call stack size exceeded fix?
# Conflicts:
# packages/prisma/index.ts
* Prisma client extensions is too much for our TS
* Removed unused Icons
* Type fixes
* Start by moving what we have to _templates
* WIP
* WIP
* Add create/edit/delete template commands
* Type fixes cli
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Save design updates for fixed round robin support
* wip - added Host relation
* DRY hostsFixed select
* Changes to allow isFixed in the Availability page
* Allow booking with fixed hosts
* Replace users with hosts if hosts is set
* Also prefer hosts over users here
* Prevent duplicates when hosts is saved
* Accidental slot duplication
* Attempt at making isFixed optional
* Sydney and Shiraz can live in harmony again
* No fixed hosts causes every to be true..
* Make hosts undefinable
* Small handleNewBooking fixes
* Similar fix to the hosts to check for empty-ness
* Default to isFixed false instead of true
* Fix event type list avatars
* Filter availableTimeSlots, collective ts's wont magically re-enable.
* (Further) Fixes to getAggregateWorkingHours
* Weird userId artifact that preceeds this branch, investigate later
* On user delete, remove host, on event type delete, also remove host
* Dynamic event types were incorrectly marked as isFixed=false
* Fixed notFound error when there are no users (but hosts)
* Fixes userIsOwner
* Oops, fixed isFixed users being included correctly
* Fixed Button styling on secondary darkmode
* Create exclusivity in selectable options
* fix: Location dropdown is overflowing #6376 (#6415)
* add `menuPlacement` react-select's props to `getReactSelectProps` to avoid dropdown overflow on small screen.
By default, set to "auto".
* CALCOM-6362 - [CAL-728] App Sidebar. Child items aren't sized/spaced properly (#6424)
* [CAL-728] App Sidebar. Child items aren't sized/spaced properly
* fix: undo logo size
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
* Fixing colors (#6429)
* Update website
* Update console
* Update yarn.lock
* Uses disable instead of filtering to be more clear
* Update EventTeamTab.tsx
* Merge conflict cleanup
* During test cases the dayjs() utcOffset is local time, this fixes that
Signed-off-by: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Thomas Brodusch <3238312+thomasbrodusch@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: Udit Takkar <udit.07814802719@cse.mait.ac.in>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>