* perf: don't fetch all the hosts
* fix: type err
* use appschema only when necessary
* Variable casing change and type fixes
* Another missing ts fix
* chore: update variable name
* chore: remove from personal event types
* chore: remove limitHostsToThree
* chore: make it a variable
* chore: move it below
* chore: change name to firstThreeHosts
* chore: update to first three users
* fix: type error
* chore: add firstThreeHosts
* fix: type error
* fix: type error
* fix: support users
* chore: update metadata
* fix: API v2 build error
* chore: change var name
* chore: remove cursorrules
* chore: undo API v2 changes
* chore: add type
---------
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix err msg and add more description
* improvements
* fix cause
* add warn logs for when failing to specific limit checks
* typefix
* safestringify log
* improve error
* test fix and log min booking notice
* adds out of bounds error code
* test fix
* fix
* update booker atom for routing form
* remove logs
* hide routing form properties from docs
* fixup
* add comments to explain why certain fields are not defined for routing forms in v2
* chore: routing for handler return team and org id
* bump libraries platform
* fixup! bump libraries platform
* chore: get routing form params to embed
* logs to remove
* fix import path
* chore: handle routing form params in booker embed
* wip need router api v2 endpoint
* resolve merge conflicts
* fixup
* fixup! Merge branch 'main' into remove-redirect-on-success-for-platform
* fixup! fixup! Merge branch 'main' into remove-redirect-on-success-for-platform
* router atom
* fix libraries version
* cleanup
* remove console logs
* bump libraries
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* migration and init to accept creationSource for new bookings
* V1 create booking
* V1 user creation
* webapp booking + V1 user
* user creation in V1, V2 and webapp
* booking source V2 and fix for v1 user
* fit type
* --fix type
* add test -- WIP
* fix type
* fix type
* ^
* Need more sleep zzz
* -_-
* bump libraries platform
* adds for v2 recurring booking
* fix lint
* instant meetings
* fix: api v2 creation source
* fixup! fix: api v2 creation source
* bump libraries
* add user
* fix test
* fixup! fix test
* add more source
* more source...
* fix type & test --1
* fix type & test --2
* typefix
* fixup test
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* migration + migrate booking limit page to team settings
* new pages
* use settings toggle for displaying content
* get current team presets
* update mutation
* i18n for settings page
* remove redudant await
* cancelation UI for select
* handle other selection
* extract into a util
* inital cancelation reason flow
* fix i18n to be more readable
* add cancel reason logic
* nits
* improve copy
* ensure is teamMember and not isAdmin for getting internalNotes
* improvie spacing between elements
* fix types
* more type fixes
* correct types
* Update packages/features/bookings/lib/handleNewBooking/getEventTypesFromDB.ts
* use input component and remove mb-2 to allign with icon button
* Update packages/trpc/server/routers/viewer/teams/updateInternalNotesPresets.handler.ts
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
* nits
* type fixs
* fix type
* fix type
* fix nullable option lost in merge
---------
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
* handle cancelation reason when user is host
* add attendee reason warning
* add cancellation reason to tests when we are the host
* req.body and not req
* fix: isloggedIn logic
* use new isLoggedInUser from ssr instead of client
* update e2e tests to fill in reason when hosts
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* chore: save progress
* feat: support phone based booking using API v2
* chore: change name of the variable
* fix: update event types and booking fields for improved validation and new properties
- Updated imports in input and output event types services to use the correct library version.
- Added new `avatarUrl` and `successRedirectUrl` properties to the Swagger documentation for user and booking schemas.
- Enhanced booking fields validation by changing the `required` property to a boolean type.
- Improved descriptions and examples in the OpenAPI specifications for better clarity.
- Refactored booking fields input and output classes to include new properties and ensure proper validation.
* fix: booking with phone number
* test: add event type update test
* test: add test for creating booking
* chore: update unit test
* fix: tests
* fix: add turbo
* chore: remove emial
* refactor: make email optional and move it to service
* fix: test
* chore: bump platform-libraries
* fix: e2e test
---------
Co-authored-by: supalarry <laurisskraucis@gmail.com>
* update env vars
* update middleware
* remove pages router and move pages to /app
* move to /team
* update imports
* fix
* remove pages router and move org pages to /app
* wip
* fix orgSlug/user pages
* fix orgSlug/user/type pages
* remove generateMetadata from embed pages
* fix
* remove pages router for /user pages
* generateMetadata is not needed in embed pages
* remove future/org
* no layout in [user] page
* simplify
* fix
* fix OG image for [user]
* fix OG images for org/user and team/slug
* fix OG images for booking page
* fix all metadata
* use isBrandingHidden
* remove BookerSeo and its usages
* rename excludeAppNameFromTitle -> hideBranding
* remove logic for meeting type in HeadSeo
* remove BookerSeo instances from team-view and users-public-view
* create generateMeetingMetadata util and use it to reduce duplicate code
* remove BookerSeo imports
* fix spacing
* remove constructMeetingImage mock from head-seo.test
* fetch avatarUrl using user id for user page metadata
* fix test
* remove unused test cases
* index and follow must be true by default
* invert noindex/nofollow flags
* remove HeadSeo for already migrated pages and refactor prepareMetadata
* fix organization-settings.e2e.ts
* fix order
* enable parallel test execution for dynamic-booking e2e test
* fix
* + could be %2B in app router
* refactor handling logic for embeds in app router
* fix isEmbed
* fix embed-core
* remove dead code
* move embed pages back to /future
* add back embed pages in pages router
* revert some changes
* fix import type checks
* simplify
* fix
* feat: Implement generateBookingPageMetadata function for improved SEO and metadata handling across user and event pages (#18440)
- Added a new utility function `generateBookingPageMetadata` to streamline the generation of metadata for booking and user profile pages.
- Updated multiple page components to utilize the new function, enhancing SEO indexing and metadata consistency.
- Removed redundant code related to previous metadata generation methods, improving code clarity and maintainability.
* fix dirs
* Pr-review-fixes-app-router-team-pages (#18450)
* Remove unnecessary getPublicEvent call
* Remove unused variable
* Fix 404 for team page (#18451)
* Remove console log
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
- Introduced a new `DryRunMessage` component to inform users when in dry run mode.
- Implemented utility function `isBookingDryRun` to check for dry run status based on URL search parameters.
- Updated the `Booker` component to conditionally render the dry run message.
- Adjusted booking mutation input mapping to reuse the utility
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* Add email domain array
* Create numbered email domain object
* Check email domain
* Rename function
* Add tests
* Frontend enable skip ownership check if free email domain
* Backend ignore adding ownership to return records if free email domain check is enabled
* feat: Only require confirmation for free email domains (#17917)
* Add requiresConfirmationForFreeEmail to db
* Add option to event type settings
* Get requiresConfirmationForFreeEmail for event type page
* Include requiresConfirmationForFreeEmail in fetching event type
* Pass bookerEmail to `getRequiresConfirmationFlags`
* Add free email domain check to `determineRequiresConfirmation`
* Add `requiresConfirmationForFreeEmail` to types
* Add severity to Watchlist table
* Add migration for watchlist severity
* Add `getEmailDomainInWatchlist` method to watchlist repository
* Use watchlist repository to check for free email domain
* Mock watchlist repository in test
* Update test
* Rename method
* Add severity to blocked list
* Move check free email domain to async
* Type checks
* Adjust for promise returned
* Fix tests
* Fix
* Fix tests
* chore: Add perf tracing for handleNewBooking
* Added a few more to the event manager
* Added the sentry wrapper that enables perf tracing
* Revert "Added a few more to the event manager"
This reverts commit ccf3ee5200466b8b1d51f5663363fbb9dfd9a06f.
* Fixed where we wrap sentry
* Reverse sentry wrapper
* feat: AI description - DB model + frontend + backend (fetch only)
* fix types and add validation to backend
* improve log
* improve
* import type
* add EventTypeTranslationRepository
* fix replexica error
* fix replexica error
* fix
* fix test
* wip
* wip
* add createManyDescriptionTranslations method
* improve logic
* refactor
* update replexica type
* improve typing
* Renamed descriptionTranslations to fieldTranslations
* log errors in replexica service
* handle translations in background
* don't create, upsert instead
* make sure that description is updated
* simplify
* fix
* Update packages/trpc/server/routers/viewer/eventTypes/update.handler.ts
* improve filter logic in frontend
* implement background job using Tasker
* update schema
* update schema again
* rename
* rename id to uid
* add migration
* fix type
* update
* update schema and migration sql
* fix migration
* fix type check
* fix type check 2
* improve find logic in EventMeta
* add more validation
* add logger
* rename
* upgrade replexica/sdk to 0.7.0
* upgrade replexica to 0.7.0
* use batchLocalizeText
* add comments
* override browser locale if user is a signed in calcom user
* fix type in replexica
* fix migration sql
* fix type
* use dynamic import
* do not use batchLocalizeText
* chore: drop sourceLang, targetLang and id columns
* fix
* wip
* add more validations
* fix type error
* address comment
* refactor
* update booking page to use translated title
* fix type error
* fix
* revert yarn.lock changes
* remove unused import
* remove duplication migrate.sql file
* fix test
* remove test tags
* fix function name
* refactor
* fix type check
* use Promise.all
* remove unneeded code
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* feat: fetch public event data for booking pages server-side
* fix types
* refactor
* Replace the getPublicEvent with other smaller calls
* Change username to teamSlug
* Fixing types
* Type checks
* Pushing latest for Benny - this still has type errors
* fix type checks
* fill data for team pages too
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>