* fix paths in packages/config/tailwind preset
* ignore node_modules in platform tailwind preset
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix: support more className-related props at DataTable
* update style
* fix type error
* use relative import
---------
Co-authored-by: Benny Joo <sldisek783@gmail.com>
* fix: Do not self import @calcom/ui
* Make translations optional
* Fix mocking implementation of Button (never worked)
* Ensure other libraries can resolve AppListCard
* create seed for org upgrade
* migrate about/new pages
* pages refactor + use persistant zustand store
* invited members view + confirm button
* add check to org slug
* check reserved subdomain
* remove quotes from subdomain env var
* intro to creation + billing
* create price
* fix types
* createWithPaymentIntent + permission check on teams
* open stripe link in popup
* intro to tests
* organization price and seat override tests
* move permissions to a new permission service
* update env and permission check
* intro to paid invoice trigger
* dont use subId
* wip
* Get e2e working with migration of teams and members
* fix ts errors
* Get flow working again
* Fix various issues and refactor
* Some more fixes
* Fix wrong page route link
* Platform onboarding fix and moving members of team to org rix
* Platform onboarding fix and moving members of team to org rix
* Fix tests, found a bug
* Get custom price flow working
* Get admin impersonation flow working for a non-existent user
* Fix unit test
* Admin onboarding handover
* fix admin onboarding tests
* fix ts error
* Get updateQuantity working
* More fixes
* fix test
* fix schema name
* Add tests
* Add missing file
* More tests
* Add more tests
* fix mt-2 moving down input into overflow
* fix handover layout removing HOC
* Update PR_TODO.md
* fix ts error due to merge conflict
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* teamMates OOO is visible for teamMember
* Update packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx
Co-authored-by: Omar López <zomars@me.com>
* nit
* fixed tests, admin chk reqd for forMembers only
* check reqd in case of teamOOO only
* datefilter with default and improved search filter
* fix preset options
* fix ooo tests, due to default date filter
* ensure ooo test's wont fail when run on different dates of the month, due to default filter
* improvement: instead of 'Date to Year' safer is customRange
* added test for non-admin team ooo
* show disabled icons instead of notshowing
* tests for dateRangeFilters
* some more daterangefilter tests
* nit
* include only fetch prev records in this pr
* nit
* chore
* chore
* review comments
* chore
* update to fix tests
* nit
* nit
* update pagination mode
* removed unrelated changes
* remove unrelated changes
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* refactor: allow metadata to also receive numbers and booleans
* refactor: Team metadata
* refactor: Managed orgs metadata
* refactor: Team metadata
* test: organizations teams create team with metadata
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* feat: v2 get managed users by email
* docs
* fix: offset query param not showing up in docs
* finish merge main
* fix: check if each email in emails query param is email
* refactor: Remove intervalLimits from @calcom/lib and export directly (#19710)
* refactor: Remove intervalLimits from @calcom/lib and export directly
* Tackle other places that use parseBookingLimit/parseDurationLimit
* More type fixups that were hidden by previous fails
* Fixed up booking-limits file
* Remove server-only
## What does this PR do?
<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. -->
- Fixes #XXXX (GitHub issue number)
- Fixes CAL-XXXX (Linear issue number - should be visible at the bottom of the GitHub issue description)
## Visual Demo (For contributors especially)
A visual demonstration is strongly recommended, for both the original and new change **(video / image - any one)**.
#### Video Demo (if applicable):
- Show screen recordings of the issue or feature.
- Demonstrate how to reproduce the issue, the behavior before and after the change.
#### Image Demo (if applicable):
- Add side-by-side screenshots of the original and updated change.
- Highlight any significant change(s).
## 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](https://cal.com/docs). 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?
<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. Write details that help to start the tests -->
- 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
<!-- Remove bullet points below that don't apply to you -->
- I haven't read the [contributing guide](https://github.com/calcom/cal.com/blob/main/CONTRIBUTING.md)
- 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
* Add unit tests and e2e
* fix ts errors
* Add comment
* bump platform libs
* fix: yarn-lock
* fix yarn.lock
* doc update
* Add isString
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* feat: implement standard pagination for org member list
* fix type error
* i18n for pagination
* add paginationMode
* apply the change to PlatformManagedUsersTable
* replace useInfiniteQuery with useQuery
* fix type error
* fix type error
* fix type error
* fix type error
* update comment
* remove optimistic update
* minor changes
* update usage on nuqs
---------
Co-authored-by: Benny Joo <sldisek783@gmail.com>
* fix: duplicate value found in common.json error
* Remove subteam invitation translation from locales
* verify_email_email_button to verify_email_button
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* add component to set interval
* fix variable namings
* fetch data for given interval
* migration
* fix type errors in test
* test correct filtering for interval
* fix start end end times to interval
* fix type error
* pass rrResetInterval to getOrderedListOfLuckyUsers
* fix imports
* add translations
* add missing translation
* code clean up
* fix type errors
* fix type error
* fix import
* add translation
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* chore: Fix build failure due to trpc inference depth
* Also bump platform libraries typescript version
* fix: e2e test using unassigned variable
* chore: bump libraries to 0.0.142
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* update images
* restructure getting started for platform
* add steps on setting up a platform account
* PR feedback
* fixup
* add setup page
* move over setup to a separate page
* update images
Found via `codespell -q 3 -S "*.svg,./apps/web/public/static/locales,./packages/app-store/stripepayment/lib/currencyOptions.ts,./packages/lib/freeEmailDomainCheck/freeEmailDomains.ts" -L afterall,atleast,datea,fo,incase,ist,nam,noone,notin,optionel,perview,pris,reccuring`
* version and verify-booking-token
* username route
* api/me
* logo route
* render email in dev
* link route
* future
* nope and geo location
* referal link and daily
* intercom route and dynamic variables
* intercom route and dynamic variables
* scim 2.0 and helpscout route
* app credentials
* api/book events
* fix daily import path in tests
* fix buildLegacyRequest generation
* fix type errors
* migrate the /teams/ routes
* move cron jobs
* fix daily import path in tests
* fix buildLegacyRequest generation
* fix type errors
* migrate the /teams/ routes
* move cron jobs
* Revert "api/book events"
This reverts commit 607a32fb5b754cad090c2d0cbf64a68f990e220e.
* mock next server NextResponse to fix daily video
* add default responder to teams api
* fix search params
* uses nextUrl.searchParams instead of new url
* uses nextUrl.searchParams instead of new url
* remove outdated api config
* remove app dir version of inbound dynamic variables
* restore pages version of inbound variables
* fix missing code from stupid cursor
---------
Co-authored-by: Benny Joo <sldisek783@gmail.com>
* chore: update robots.txt to disallow /settings and /my-account
* Update robots.txt
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* add dry run param for v2 getSlots
* fixup
* revert changes
* dont reserve a slot for booking dry run
* accept dry run prop as a parameter instead of computing
* fix merge conflicts
* fixup
* dont reserve slots for booking dry run
* refactor: Remove intervalLimits from @calcom/lib and export directly
* Tackle other places that use parseBookingLimit/parseDurationLimit
* More type fixups that were hidden by previous fails
* Fixed up booking-limits file
* Remove server-only
* remove create button for teams from calcom ui
* migrate timezone select to features
* remove trpc from phone and storybook provider
* new-yarn.lock
* fix imports + test file for select
* fix platform timezone select to use Raw timezone select
* fix timezone type import
* use correct select in timezone-select.tsx - needs trpc version
* fix lock and remove test-utils
* fix log file
* Updated yarn.lock
* Fixed types
* Fixed tests
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Revert "Revert "chore: rename DWD to DelegationCredential (#19703)" (#19734)"
This reverts commit 340b5ab061.
* chore: fix schema and types for now
* fix: domainWideDelegationCredentialId error type
* fix: open cal video url on new page when ready
* fix: open on new tab
* chore: change logic
* chore: add condition for embed
* chore: simplify the code
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Typescript fixes and updates for bumping ts version to 5.8.2
* Different TS versions do see an error, so @ts-ignore'ing
* Attempt this fix for ignoring createDecipher/createCipher fns
* Remove @ts-expect-error
* feat: add hitpay embed feature for cal embed
feat: update hitpay app description
fix: fixed customers being able to exceed bookings in the same timeslot when using HitPay
fix: fixed callback issue in cal.com using hitpay app when not receiving payment responses
* fix: fixed type-check error
* fix: don't POST to cal.com/[user]/[type]
* fix: return html with cal calendar embed
* fix: intercom app team events types
* feat: improve Intercom UX integration
* Merge branch 'main' of https://github.com/calcom/cal.com
* remove barrel export for client
* fix more imports
* remove server barrel
* remove more barrel exporst and fix tssconfig
* fix types
* fix imports for removed barrels
* fig ssg createserverside helpers
* restore lock
* new yarn lock
* remove barel exports
* remove barrel
* replace client with react in tsconfig
* fix yarn lock
* Update exports for trpc to not be types
* add ENDPOINTS export to the correct location
* other exports fixes lost due to barrel
* fix client error export
* more imports
---------
Co-authored-by: hbjORbj <sldisek783@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix: cancelledby to work on api v1
* fix: scheduleId to work with hosts in eventtype api v1
* Update event-type.ts
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
* feat: booking redirect page is now w UID
* refactor: use getBookingRedirectExtraParams
* refactor: remove uncessary const result
* uid isnt the first param anymore
* fix: show selected filter values first in single- & multi-select filters
* fix type errors
* fix type error
* fix type error
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat: added Ability to set organizer's default app as a valid input location in api/v2
* only allow organizers default for team events
* fixed for atoms and added unit and e2e tests
* Update organizations-event-types.e2e-spec.ts
* Update transformApiEventTypeForAtom.ts
* published platform-libraries@0.0.124
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: remove ‘add guests’ from the dropdown if it’s disabled in the booking questions
* fix: remove dd guests' from the dropdown if it's
disabled in the booking questions
* fix: Re-instate new slot logic now it's well tested
* Fixup getAggregatedAvailability
* Changes to code-owners to reflect removed/moved code
* Move more files around.
* Fix failed type
---------
Co-authored-by: Omar López <zomars@me.com>
* Add endpoints for testing the flow
* Add MVP
* new route
* Fixes
* Fixes
* Remove enable toggle support from domainWideDelegation
* Fixes
* Revert "Remove enable toggle support from domainWideDelegation"
This reverts commit c29e729206cd1fa063f9c9ce0cf148ef1577d60b.
* Revert yarn.lock
* More fixes
* Fix new workspace platform add
* refactor: improvements
* refactor: bug fixes and improvements
* fix: type errors
* fix: conflicts
* chore: update test
* fix: logic
* chore: improvements
* fix: toglle
* fix: bugs
* fix: type err
* chore: check number type
* fix: after conflicts
* chore: fix type err
* fix: type errors and tests
* fix: tets
* test
* chore: remove unused
* fix: google meet url on booking page and secondary calendar
* fix: add property
* fix: type err
* fix: re assingment bug
* fix: use getAllCredentials
* chore: fix import
* fix: installed count
* fix: pass event type
* fix: import
* fix: [Stacked PR] Review fixes (#17958)
* Review fixes
* fix: destination calendar bug
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* refactor: use repository
* chore: remove duplicate
* fix: More review fixes for domain wide delegation (#17969)
* Reuse buildCredentialPayloadForCalendar
* fixes
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* fix ts error
* Fix getSchedule not using dwd credentials (#17995)
* fix: Remove direct DWD table access from google-calendar and remove delegatedToId column from Credential (#18015)
* Remove fn rename to reduce number of files changed
* chore: check feature globally
* test: add unit tests
* chore: move function
* test: add booking test
* wip
* Remove domain-wide-delegation team feature flag
* Make sure duplicate calendars are not shown due to DWD. Show DWD when there is conflict
* Fix tests and their ts errors
* Fix more tests
* Move findUsersForAvailabilityCheck to separate file as it has AppStore dependency causing problem with Routing Forms. Build crashes
* fix: Multiple calendar connections from Google not showing up in apps/installed
* DestinationCalendar must have either credentialId or domainWideDeelgationId. Also handle the case when DWD is disabled and there was a non-dwd credential that could be used
* Disable deletetion of DWD as it is destructive and prefer disabling instead
* Show DWD credential calendars at the top
* Fixed tests
* Calendar Cache DWD support
* Self-Review: Verify email required and add more selectedCalendar tests
* Self Review: shorten names
* Self ReviewL Dead code removal
* Revert "Calendar Cache DWD support"
This reverts commit 009f236470fa21eba5986117d4f6e4d4c5e38c34.
* Some misc fixes
* fixes
* Performance improvememt in slots loading and booking
* More cases for handling dwd credentials
* simplify the logic. Ensure that EventManager and the modules below it in the flow have CredentialForCalendarService available
* Fix tests
* Fix installed/conferencing not showing gogole meet
* Shorten name
* Fix ApI v2 tests
* Add some more tests
* add getSchedule tests
* Improve tests
* Make Google Meet default when DWD for google is enabled
* Enable feature flagging for DWD
* chore: bump libraries
* Encrypt serviceaccount private key
* Fix ts errors
* bump platform libraries
* org add dwd
* org add dwd
* bump platform libraries
* fix selected calendars
* fix remove selected dwd calendar
* remove oauthclient id aliad in authedCalendar
* remove oauthclient id aliad in authedCalendar
* refactor: OrganizationsDwdController
* chore: export toggleDwdEnabled from platform-libraries
* feat: v2 update (enable / disable) dwd
* refactor: SelectedCalendarsController check if user belongs to dwd org & for not dwd use previous logic
* wip: DestinationCalendar send domainWideDelegationCredentialId from frontend to api
* try fix set destination calendar api v2
* fixup! try fix set destination calendar api v2
* setting google meet as default location working for dwd
* bump platform libraries version
* allow office 365 workspace slug
* allow office 365 workspace slug
* chore: v2 create dwd MS and Google service keys input
* fix: CreateDwdInput serviceAccountKey
* fix: CredentialForCalendarService type
* fix: check workspace slug
* feat: update serviceAccessKey of DWD
* testing
* fixup! testing
* fix: getAuthUtl bug
* fix: unit tests
* fix: type err and unit test
* fix: e2e test
* fix: credentials bug and failing unit tests
* Update CalendarService.ts
* chore: refactor office365 calendar service and add testDomainWideDelegationSetup
* fix: office365Calendar use correct clientId/Secret for DWD
* fix: office365Calendar dwd no need refresh token
* test: add unit test for outlook dwd and setup
* feat: added dwd support for office365 calendar
* feat: added dwd support for office365 video
* test: finish test for outlook dwd
* fix: create dialog bug
* chore: remove console logs
* fix: refreshToken bug
* bump version libraries
* refactor: fetch dwd credentials only in findQualifiedHosts
* fixup! refactor: fetch dwd credentials only in findQualifiedHosts
* fix: type err
* fix: type err
* fix: getUserDisplayName
* fix: unit test
* chore: bump platform lib
---------
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: supalarry <laurisskraucis@gmail.com>
Co-authored-by: Somay Chauhan <somaychauhan98@gmail.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* update profile instead of username. Display p.username
* Update packages/trpc/server/routers/viewer/organizations/listMembers.handler.ts
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Update packages/trpc/server/routers/viewer/organizations/getUser.handler.ts
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Do not import stripe lib in getServerErrorFromUnknown
* address comment
* remove comment
* add url
* keep the location
* remove space
* add unit test for getServerErrorFromUnknown
* improve
* fix: enable event-type booking field url with api v2
* fixup! fix: enable event-type booking field url with api v2
* fixup! fixup! fix: enable event-type booking field url with api v2
* fixup! fixup! fixup! fix: enable event-type booking field url with api v2
* feat: add areDefaultEventTypesEnabled to PlatformOAuthClient
* feat: specify areDefaultEventTypesEnabled when creating OAuth client
* feat: specify areDefaultEventTypesEnabled when updating OAuth client
* feat: display areDefaultEventTypesEnabled in OAuth clients list
* refactor: set areDefaultEventTypesEnabled by default to false on API level
* feat: v2 API CREATE managed user toggle default event types
* refactor: centralize OAuth inputs and outputs in platform/types
* fix: correct response types for OAuth hooks
* refactor: web/lib/hooks/settings/platform/oauth-clients/useOAuthClients.ts
* refactor: web/lib/hooks/settings/platform/oauth-clients/useOAuthClients.ts
* refactor: split web OAuth hooks into separate files
* refactor: split web OAuth hooks into separate files
* docs: v2 OAuth client inputs and outputs
* refactor: update and create oauth client inputs
* feat: Don't allow unavailable slot's booking form to be visible - Send back to slots listing
* Improvements
* feat: Add env variables and strategies to prevent booking failures
- Added new environment variables for configuring slot reservation and availability checks
- Implemented strategies to handle concurrent bookings and slot availability
- Updated Booker component and related files to support new reservation and slot checking mechanisms
- Added README with detailed explanation of booking prevention strategies
- Configured dynamic intervals for slot and reservation queries
* docs: Update Booker README with detailed slot reservation and availability explanation
- Clarified slot reservation behavior when multiple users access the same booking page
- Added details about `getSchedule` refetching strategies and timing
- Explained how slot availability is detected and communicated to users
* Support for skip confirmation form flow
* feat: Enhance slot availability and reservation mechanism
- Refactored slot availability checking to support multiple slots
- Added tentative selected timeslots to improve booking UX
- Updated trpc handler to check availability for multiple slots
- Introduced new store methods for managing tentative slot selections
- Improved slot reservation and availability status tracking
* refactor: Improve slot availability quick check mechanism
- Renamed and restructured slot availability check parameters
- Extracted quick availability checks into a separate hook
- Updated type definitions for slot status and availability checks
- Simplified slot availability logic in Booker and related components
- Maintained cached state for quick availability checks
* Support minimu booking check too
* change data-testid
* Rneame
* Fix race condition with uid cookie not set
* fix tests
* Remove unsded variable
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feature for team ooo crud and past records
* added tests for ooo handler, combined list components for mine,team
* nit: removed commented code
* added current-previous tab , not to show TeamOOO tab for nonadmin
* update for type checks
* updated tests after merge
* updated outofoffice handler after merge
* for alignment with outofoffice header column
* update after resolving merge conflicts
* nit/chore: spacing
* update after changes in router migration
* ui improvements rounded corner
* updated props
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* updated dialog subtitles, review comments
* Update packages/features/settings/outOfOffice/CreateOrEditOutOfOfficeModal.tsx
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
* Update packages/trpc/server/routers/loggedInViewer/outOfOffice.schema.ts
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
* refactored to split ooo handlers, review comments
* updated test.utils
* chore
* chore: unrelated changes may be merge
* optimized query
* update due to latest changes and merge conflicts
* updates to changes in people filter
* chore
* as now taken care in DataTable
* updates after merge
* updates after merge due tp changes in datatable and others
* update import due to file splitting and new name
* update for typecheck
* update for new add button when empty entries
* nit
* replace tests with e2e tests
* chore
* include only manage team ooo
* fix type check
* Update safe-parse.ts
* use invalidate instead of props, leaving main server components as it is
* nit
* update forMember div ht in edit mode
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* add user pages to config.matcher in middleware
* add app router user booking pages
* remove HeadSeo from users-public-view component
* remove pages router user booking pages
* fix type check
* fix embed
* fix test
* chore: remove BookerSEO from users-type-public-view
* fix
* migrate all /user embed pages to app router
* remove /future routes
* fix prefill not working with preload
* move to (booking-page-wrapper) route group
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Reapply "fix: replace filter implementations on bookings (#19445)" (#19506)
This reverts commit f6af6e34bd.
* force custom date range selector for bookings except for Past tab
* fix e2e test
* add e2e tests
* fix e2e test
* fix: No option to install/disconnect app from app detail page
* Fix types
* fix: Install button showing up even after it is installed for all targers
* chore: Simplified installOrDisconnectAppButton making it easy to read
---------
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* perf: Cache app store imports
* Added a console log to see when imports happen
* Discard changes to yarn.lock
---------
Co-authored-by: Omar López <zomars@me.com>
* update to consider sendToAll
* added tests for team routingForms selectAllMembers cases
* chore
* chore
* chore
* updated test case in case of toggle off
* tweak
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: unknown <adhabal2002@gmail.com>
* fix: replace react-hot-toast with sonner for toast notifications
* feat: add country code (#19264)
* perf: Move PlainChat up the hierarchy to remove rerenders (#19255)
* perf: Move PlainChat up the hierarchy to remove rerenders
* rmeove yarn lock
---------
Co-authored-by: Nizzy <nizabizaher@gmail.com>
Co-authored-by: nizzy <140507264+nizzyabi@users.noreply.github.com>
* hotfix (#19266)
* chore: release v4.9.11
* Handle cancelled status (#19272)
* feat: Use new /routing URL for routing forms (#19235)
* feat: Use new /routing URL for routing forms
* Fixes
* Fix bug
* precent crash
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
* fix: remove section on /bookings if no data exists (#19261)
* feat: v2 slots new version (#18758)
* refactor: version old slots
* feat: init new slots endpoints
* chore: range format
* fix: duratin
* fix: duratin
* test: slot releaseAt
* refactor: reserve slot response
* refactor variable name
* docs: have new slots controller in docs
* feat: crud for slots reservations
* refactor: use exclude all for response
* docs
* chore: slots input service
* refactor mini
* refactor: remove unused imports
* docs
* handle orgSlug for dynamic events
* refactor: correct name
* docs
* add optional organizationSlug to BySlug search
* refactor: slot output format
* refactor: return seated slot info
* docs
* rename functions
* refactor: slots seated response
* fix: handle same username in org and non org
* refactor: test format
* fix: allow reservationDuration only for authed requests
* chore: check if auth user has permissions to define custom reservation duration
* refactor: split e2e test files
* refactor: invalid request exception codes
* chore: old slots controller uses all old versions
* refactor: remove depreceated fields (#19279)
* refactor: remove depreceated fields
* chore: use v2 endpoint
* chore: update V2 Api type
* chore
* chore: Refactor to remove `getServerSideProps` for /teams route (#19286)
* remove getServerSideProps
* refactor teams route
* chore: release v4.9.12
* fix: Salesforce - if no contact throw Error (#19271)
* Throw error if no contact is passed to createEvent
* chore: update error message
* chore
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* fix: missing await router controller (#19276)
* fix: Default people filter in bookings list for admin (#18035)
* default people filter for admin
* chore
* type check
* added test case
* made test concise to reduce flakiness
* add timeout to wait for second get response before counting
* update timeout
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* feat: add CSAT to V2 bookings return (#19278)
* init
* test: v2 bookings returns rating
---------
Co-authored-by: supalarry <laurisskraucis@gmail.com>
Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
* chore: disable v2 booking seats safe parse error logs (#19292)
* revert: Reapply "fix: Multiple rr-hosts combine to create erroneous availabil… (#19263)
* Reapply "fix: Multiple rr-hosts combine to create erroneous availability (#18772)"
This reverts commit 5dbc6d9ca6.
* Only thing left is a diff to show which slots are removed
* Add logging around time slot results
* Setup logging through axiom
* .... forgot
* fix: type errors
* Only log when there are differences
* Updated from old which had a failing test to new logic
* chore: release v4.9.13
* fix: flaky test (#19294)
* fix: flaky test
* fix another test
* update
---------
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
Co-authored-by: unknown <adhabal2002@gmail.com>
* chore: calendars controller v2 docs (#19291)
Co-authored-by: Bailey Pumfleet <bailey@pumfleet.co.uk>
* Merge branch 'main' into replace-toaster-with-sonner
* add ireland country code (#19117)
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* perf: separate client vs server code from insights layout (#19285)
* add UpgradeTipWrapper
* refactor insights/layout.tsx
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
* feat: Use Folders to organize SMS links on Dub (#19248)
* feat: Use Folders to organize SMS links on Dub
* Update yarn.lock
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Bailey Pumfleet <bailey@pumfleet.co.uk>
* fix: removing-all-members-toggle-for-fh (#19277)
* fix : removing all members toggle for fh
* ux enhancements
* adding placeholder
* chore: release v5.0.0
* fix flake (#19306)
* chore: migrate `/apps/routing-forms/[...pages]` to App Router (#18956)
* wip
* fix
* fix
* refactor
* rename to routingServerSidePropsConfig
* refactor
* refactor
* add routing-link to useIsBookingPage hook
* remove Head component
* fix
* redirect user to apps/routing-forms/forms if user goes to apps/routing-forms
* refactor
* remove log
* remove client component not needed
* clean up code
* remove unneeded metadata
* clean up further
* clean up further 2
* fix type check
* routing-link does not need shell
* Fix title for Routing Form public link and also remove any
* Remove ; in HTML
* Remove unnecessary page reload
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
* chore: migrate api for team upgrade to App Router (#19100)
* remove old pages router api
* add new app router api
* fix
* fix redirect
* refactor
* fix: cut off and alignment bug (#19317)
* fix: assignment label cut-off
* fix: add all team members label is vertically aligned
* fix: nested scrolls on /bookings (#19284)
* fix: Can't change availability for managed event type (#19006)
* fix: flaky test organization.spec
* fix
* fix: bulk-update-in-scheduleId-in-detailed-view (#19295)
* fix: bulk-update-in-scheduleId-in-detailed-view
* minor-change
---------
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
* feat: prevent automatic query parameters when opening booking page (#18132)
- Resolve the user hindrance where the event's booking page should not have search parameters such as date and month in the initial page load
- Contains changes for the fix of issue #18094 as well as it is needed
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* feat: atoms adjustments with ui v3 styles (#19320)
* refactor: Clean out old code, no longer needed (#19323)
* refactor: Clean out old code, no longer needed
* Removed a sneaky one keen to stay behind
* chore: release v5.0.1
* feat: Create `UserCreationService` and use in API V1 create user endpoint (#19150)
* Create `createUser` method in `userCreationService`
* Refactor `UserRepository` create method to accept prisma input and remove business logic
* API use `UserCreationService`
* Move slugify to service
* Use hashPassword instead
* Type fixes in `UserCreationService`
* Add `userCreationService` tests
* API accept data object
* Type fixes
* Add user _post test
* Add test for locked user
* Add locked param to log
* Add user repository tests
* Do not return locked status
* Explicitly pass `locked` prop
* Fix tests when locked isn't returned
* Fix tests
* Pass locked prop
* Edit test name
* Use logger
* Fix passing hashed password
* fix (#19298)
* fix: timezone input text is now visible in dark mode (#19325)
* feat: make first tab active by default (#19315)
* feat: make first tab active by default
* perf: optimize event types tabs rendering with useMemo
---------
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* perf: Use one PageWrapper instance for all settings pages (#18752)
* add a layoutfile to use-page-wrapper route group
* refactor and move bookings status page to route group
* improve logic in pagesAndRewritePaths
* fix
* add use client directive
* move /403 and /500
* move /auth/error
* move /connect-and-join
* move /enterprise
* move /maintenance
* move /more
* move /upgrade
* chore: remove WithLayout from 8 low-risk single pages (#18745)
* move /403 and /500
* move /auth/error
* move /connect-and-join
* move /enterprise
* move /maintenance
* move /more
* move /upgrade
* move /availability pages
* move /event-types pages
* move /insights pages
* move /apps to use-page-wrapper group
* move /getting-started to use-page-wrapper group
* move /signup to use-page-wrapper group
* move /workflows to use-page-wrapper group
* move /video pages to use-page-wrapper group
* pass dehydratedState in layout
* pass dehydratedState in layout
* move settings/(settings-layout) to use-page-wrapper
* move settings/(admin-layout) to use-page-wrapper
* move remaining settings pages to (use-page-wrapper)
* fix test
* remove unused code
* remove unused files
* fix type check
* remove test tag
* remove page
* RSC should not default export client components
* fix: Can't use unsaved booking question as variable in event name (#18604)
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* chore: remove WithLayout from not-found.tsx (#19331)
* fix: redirect logic in /settings/admin/apps (#19332)
* chore: v3 fixed filters, new profile view (#19312)
* fixed filters with badge
* aligned recurrence in bookings
* removed new badge
* new profile view
* fixed try for free button
* fixed form input
* fix: Issues with date changes in column view (#19258)
* fix: coulmn view date change
* Update store.ts
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* chore: fixed tooltip position for routing form (#19267)
* fixed tooltip position for routing form
* fixed offset
* fix: Fairness when routing (#18550)
* Partial push of new filters
* Let's always return the passed host array when a filter doesn't need to be applied
* fix: isFixed typing in same round robin host check
* Add main bulk of rewritten logic for routed fairness support
* Remove console.log
* Add getAttributeWithEnabledWeights to AttributeRepository
* Add OOO entry repository
* Use getOrderedListOfLuckyUsers in lead threshold filtering
* Shortfall already includes weight
* test against minShortfall
* first attempt to fix fallbacks
* Added testcase updates
* Partially fix filterHosts test
* Some test updates
* Removed email field from normalization
* fix no available users found error
* fix unit test
* remove fallback from same host reschedule return
* fixes and improvements for findQualifiedHosts
* include fallback logic in handleNewBooking
* use fallback in handleNewBooking
* fix for contact owner in handleNewBooking
* WIP - comment
* pass routingFormResponseId
* fix type error
* pass routingFormResponse
* fixes in treshold logic
* remove reason
* merge qualified and fallback availabilities
* fix type error
* add and fix tests
* clean up test file
* fix filterHostsBySameRoundRobinHost tests
* fix findQualifiedHosts.test.ts
* fix getRoutedUsers.test.ts
* fix tests
* fix isRerouting check
* fix start time for two weeks check
* fix fallback hosts
* fix test
* fallback hosts should also include qualified hosts
* fix type error
* fix typos
* add contact owner to fallbacks
* fix typo
* fix qualifiedRRUsers
* set fixed users when no hosts
* add tets + code clean up
* add test for reschedule with same host
* fix typo
* add more tests for findQualifiedHosts
* remove skip from test
* add comment
* remove unused code
* fix fallback users in loadAndValidateUsers
* improve naming for fallback
* rename missed fallback variable
* fix reschedule with same rr host in handleNewBooking
* fixes for fallback slots
* add more tests + small fixes for contact owner
* fix tests and type errors
* add logs for fallback
* add type:json to logger
* Fix small merge issue
* fix end time if two weeks are cut off
* add more tests for contact owner availability check
* add new logic for two weeks fallback
* fix reschedule same RR host test
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* fix: EditLocationDialog footer positioning and structure (#19335)
* fix: EditLocationDialog footer positioning and structure
* fix: make RescheduleDialog footer layout and button structure right
* fix: input dialogue glitch now works great
* made tests happy
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Merge branch 'main' into replace-toaster-with-sonner
* chore: remove DefaultToast from toast.stories.mdx
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Benny Joo <sldisek783@gmail.com>
Co-authored-by: Nizzy <nizabizaher@gmail.com>
Co-authored-by: nizzy <140507264+nizzyabi@users.noreply.github.com>
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: GitHub Actions <github-actions@github.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Vijay <vijayraghav22@gmail.com>
Co-authored-by: supalarry <laurisskraucis@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: unknown <adhabal2002@gmail.com>
Co-authored-by: Bailey Pumfleet <bailey@pumfleet.co.uk>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Steven Tey <stevensteel97@gmail.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
Co-authored-by: amrit <iamamrit27@gmail.com>
Co-authored-by: Sanchit Tewari <46245135+sanchitttt@users.noreply.github.com>
Co-authored-by: Rajiv Sahal <sahalrajiv-extc@atharvacoe.ac.in>
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
Found via `codespell -q 3 -S "*.svg,./apps/web/public/static/locales,./packages/app-store/stripepayment/lib/currencyOptions.ts,./packages/lib/freeEmailDomainCheck/freeEmailDomains.ts" -L afterall,atleast,datea,fo,incase,ist,nam,notin,optionel,perview,reccuring`
Found via `codespell -q 3 -S "*.svg,./apps/web/public/static/locales,./packages/app-store/stripepayment/lib/currencyOptions.ts,./packages/lib/freeEmailDomainCheck/freeEmailDomains.ts" -L afterall,atleast,datea,fo,incase,ist,nam,notin,optionel,perview,reccuring`
* Fix: Resolved double-click issue on timeSlot in Booker Atom
* fix: show toast on booking error
* fix: type error
* Prevent the automatic change of bookerState when all fields are filled.
* fix: when a user clicks on a new timeslot, any previously displayed "Confirm" button should be hidden
* Update useSkipConfirmStep.ts
* fix: remove 2 states for slots
* Update useSlotsForDate.ts
* fix types
* use common types
* fix: show VerifyCodeDialog and RedirectToInstantMeetingModal when skiping confirm step
* fix for instant bookings
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* Refactors related to enabling typescript 5.3.3 in @calcom/trpc
* Also skip respective tests (obviously logic is broken)
* This causes problems for some reason, revert
* Bring back QueryCell as it's used by atoms
Found via `codespell -q 3 -S "*.svg,./apps/web/public/static/locales,./packages/app-store/stripepayment/lib/currencyOptions.ts,./packages/lib/freeEmailDomainCheck/freeEmailDomains.ts" -L afterall,atleast,datea,fo,incase,ist,nam,notin,optionel,perview,reccuring`
Closes#19219
* chore: block POST requests to next.js routes except a whitelist
* update config.matcher
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix: Issues with scheduling timezone change without end time
* test: remove DatePicker component tests
* feat: implement DatePicker component with tests and update button data-testid
* fix: shadow after email and before the primary label
* fix: autofill input shadow in impersonation view
* fix: improve spacing and layout in EditUserForm
* fix: error due to getRight
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: EditLocationDialog footer positioning and structure
* fix: make RescheduleDialog footer layout and button structure right
* fix: input dialogue glitch now works great
* made tests happy
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Partial push of new filters
* Let's always return the passed host array when a filter doesn't need to be applied
* fix: isFixed typing in same round robin host check
* Add main bulk of rewritten logic for routed fairness support
* Remove console.log
* Add getAttributeWithEnabledWeights to AttributeRepository
* Add OOO entry repository
* Use getOrderedListOfLuckyUsers in lead threshold filtering
* Shortfall already includes weight
* test against minShortfall
* first attempt to fix fallbacks
* Added testcase updates
* Partially fix filterHosts test
* Some test updates
* Removed email field from normalization
* fix no available users found error
* fix unit test
* remove fallback from same host reschedule return
* fixes and improvements for findQualifiedHosts
* include fallback logic in handleNewBooking
* use fallback in handleNewBooking
* fix for contact owner in handleNewBooking
* WIP - comment
* pass routingFormResponseId
* fix type error
* pass routingFormResponse
* fixes in treshold logic
* remove reason
* merge qualified and fallback availabilities
* fix type error
* add and fix tests
* clean up test file
* fix filterHostsBySameRoundRobinHost tests
* fix findQualifiedHosts.test.ts
* fix getRoutedUsers.test.ts
* fix tests
* fix isRerouting check
* fix start time for two weeks check
* fix fallback hosts
* fix test
* fallback hosts should also include qualified hosts
* fix type error
* fix typos
* add contact owner to fallbacks
* fix typo
* fix qualifiedRRUsers
* set fixed users when no hosts
* add tets + code clean up
* add test for reschedule with same host
* fix typo
* add more tests for findQualifiedHosts
* remove skip from test
* add comment
* remove unused code
* fix fallback users in loadAndValidateUsers
* improve naming for fallback
* rename missed fallback variable
* fix reschedule with same rr host in handleNewBooking
* fixes for fallback slots
* add more tests + small fixes for contact owner
* fix tests and type errors
* add logs for fallback
* add type:json to logger
* Fix small merge issue
* fix end time if two weeks are cut off
* add more tests for contact owner availability check
* add new logic for two weeks fallback
* fix reschedule same RR host test
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* feat: make first tab active by default
* perf: optimize event types tabs rendering with useMemo
---------
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* Create `createUser` method in `userCreationService`
* Refactor `UserRepository` create method to accept prisma input and remove business logic
* API use `UserCreationService`
* Move slugify to service
* Use hashPassword instead
* Type fixes in `UserCreationService`
* Add `userCreationService` tests
* API accept data object
* Type fixes
* Add user _post test
* Add test for locked user
* Add locked param to log
* Add user repository tests
* Do not return locked status
* Explicitly pass `locked` prop
* Fix tests when locked isn't returned
* Fix tests
* Pass locked prop
* Edit test name
* Use logger
* Fix passing hashed password
- Resolve the user hindrance where the event's booking page should not have search parameters such as date and month in the initial page load
- Contains changes for the fix of issue #18094 as well as it is needed
Co-authored-by: Tushar Bhatt <95581504+TusharBhatt1@users.noreply.github.com>
* wip
* fix
* fix
* refactor
* rename to routingServerSidePropsConfig
* refactor
* refactor
* add routing-link to useIsBookingPage hook
* remove Head component
* fix
* redirect user to apps/routing-forms/forms if user goes to apps/routing-forms
* refactor
* remove log
* remove client component not needed
* clean up code
* remove unneeded metadata
* clean up further
* clean up further 2
* fix type check
* routing-link does not need shell
* Fix title for Routing Form public link and also remove any
* Remove ; in HTML
* Remove unnecessary page reload
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
* ui playground
* add types to ui
* push avatar ignore ts and eslint errors
* feat: V3 UI avatar (#18997)
* avatar playground
* add overflow-hidden back for loading indicator
* update lock
* feat: v3/badge (#18999)
* badge intro
* fix text on small badge
* add dark mode warning
* feat: v3/button (#19014)
* TOC
* wip buttons
* shadows
* secondary
* semantic colours
* minimal buttons
* update disabled states
* checkbox
* dropdown v3
* load icons
* fix design sections
* fix icon gap
* fix
* remove client component from rsc
* use peer as avatar
* gif
* fix button gap - dropdown iocn
* support start icon in dropdowns
* add alert demo + v3 component + darken semantic text
* base inputs and text field
* wip input
* input field addon/suffix
* toast page
* wip select
* match designs for input and select rounded
* fix
* fix select isloading transform
* fix multi icons transition rotation
* fix group heading
* range slider demo + range slider
* range slider popover design
* v3 dialog
* fix slider thumb size
* wrap in suspense for useSearchParam difference in next14+
* base of tabs + horizontal tabs
* fix select sizing to match input 36px
* fix dark mode hover on button
* target domState class for light/dark so we work on portal elements
* fix default bg on popover
* lightmode toasts + eleveation token
* empty screen
* intro to split button concept
* mass colour updates
* intro to themes
* remove i18n from label with name
* bouncy buttons
* feat: small select
* nav item dumb component
* full demo
* settings demo
* fix tabs
* fix mt
* fix dropdown feedback from loom
* alert fixes mentioned in loom
* push font-cal
* move to fumadocs
* fix avatar
* colors table
* add typeography
* icon + spacing guide
* add border radius and shadow tables
* fix colours and border radius
* remove prose undline via fumas fork
* fix icon buttons sizes
* button group component
* fix horizontal tabs
* tab fixes
* switches
* pagination component
* show toasts components raw
* sync with airtable
* add use client
* 10px on input again
* 10px in select also
* fix input height
* fix files merge
* fix loading state for icon buttons
* fix button fab
* Enable addon to now overflow to next line in DS
* use cal font for dialog text
* add avatar square variant
* fix select padding and menu size
* fix type errors
* fix type errors
* add switch small size and fix type errors
* fix ref types on input
* update web styles
* remove addonFilled to fix type errors
* push dialog fixes
* fix checkbox display
* remove prose from alert examples
* remove prose from all our component examples
* badge rounded-lg on lg size
* update colors
* force w/h on icon buttons instead of inheriting
* remove border-focus
* remove border-focus from tailwind config
* update tokens to match new colours
* add new border subtle tokens and add to toasts
* fix lg button padding
* fix and drastically improve rtl rests
* multi select use badges
* use badge design for select pills
* fix avatar alignment
* fix tests and remove redudant ones
* fix tests and remove redudant ones
* update atoms globals css
* extract tokens.css
* extract app.css
* force flex for atoms
* add @calcom/ui/css
* revert ui playground styles abstraction
* fix input focus states
* fix focus states for buttons
* feat: v3/app work (#19233)
* globals.css for app + event types listing search
* few app wide NITS
* fix select foucs within styling
* fix formbuilder switch styles
* fix disabled state of nested inputs
* workflow fixes
* webhook form fixes
* i18n on tabs info
* booking filters + tab
* fix filters spacing
* make first item so we get correct border radius if not default
* round radio group in create event types + make button small
* profile page
* update editor br
* button nits in existing places in the app
* fix timezone select and multilist in guest form
* fix text area on public booking page
* size small event types create
* margin on routing filter
* filters improvments
* routing insights fixes
* fix date filter range
* ooo fixes
* fix teams/members bulk actions
* create team UI
* i18n in useTabs instead of in tab component now
* Add event type setup border to availability
* fix bulk actions on org members table
* onboarding fixes
* fix input types with ref stripe comparision
* i18n fixes for platform
* update globals of atoms
* fix form builder firstname/lastname switch + correct footer useage
* fix select
* Revert "add @calcom/ui/css"
This reverts commit 0dd8f9012907a278cfede4a98f289cb0744c9244.
* revert tokens css
* Revert "extract app.css"
This reverts commit 10b998604816ad3310c24b36a02a638dabc5be24.
* linear nits
* workflow dropdown
* fix page theme heading sizes to match cards
* fix stepper for team creation
* adjust margin to FilterSearchField
* fix ooo icon
* fix booker and dark mode due to darkgray 50
* more dark mode fixes
* add size prop
---------
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* remove ui-playground
* fix grow missing from merge
* add search icon data-test-id back to search
* fix FormAction style
* fix datatestid for apps and tabs
* change selector for team invitation e2e
* fix use data-testid from item instaed of using names
* rename upper case O
* fix unit tests data-testid
* fix unit tests data-testid
* more data-testid changes
* add data-testid to apps tab
* data-testid to installed appPage
* fix embed tests
* fix filter-popover-trigger
* use text-error and use dataId for locator
* more e2e improvment
* pass in single testId as button is now duplicate
* show field-error instead
* add test to eventtype tabs
* Add css vars to embed too\
* add scrollbar and change dialog overlay colour
* fix type
* use attribute instead of class for tab detection
* await promise
* use new tokens for sprite generation
* add correct testing Ids to e2e instead of button:text
* use testIds for creation of orgs
* Webhook receiver wait for 10 seconds
---------
Co-authored-by: Eunjae Lee <hey@eunjae.dev>
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* Reapply "fix: Multiple rr-hosts combine to create erroneous availability (#18772)"
This reverts commit 5dbc6d9ca6.
* Only thing left is a diff to show which slots are removed
* Add logging around time slot results
* Setup logging through axiom
* .... forgot
* fix: type errors
* Only log when there are differences
* Updated from old which had a failing test to new logic
* default people filter for admin
* chore
* type check
* added test case
* made test concise to reduce flakiness
* add timeout to wait for second get response before counting
* update timeout
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* refactor: version old slots
* feat: init new slots endpoints
* chore: range format
* fix: duratin
* fix: duratin
* test: slot releaseAt
* refactor: reserve slot response
* refactor variable name
* docs: have new slots controller in docs
* feat: crud for slots reservations
* refactor: use exclude all for response
* docs
* chore: slots input service
* refactor mini
* refactor: remove unused imports
* docs
* handle orgSlug for dynamic events
* refactor: correct name
* docs
* add optional organizationSlug to BySlug search
* refactor: slot output format
* refactor: return seated slot info
* docs
* rename functions
* refactor: slots seated response
* fix: handle same username in org and non org
* refactor: test format
* fix: allow reservationDuration only for authed requests
* chore: check if auth user has permissions to define custom reservation duration
* refactor: split e2e test files
* refactor: invalid request exception codes
* chore: old slots controller uses all old versions
* incompleteBooking only search for leads if contact is not found
* Fix logic
* Abstract to functions
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* wip: Open draft PR with passing test (should fail)
* Fix aggregatedAvailability by not merging rr host availability
* Added test for validating fixed host behaviour
* Add test for combined rr and fixed hosts
* Check date-ranges arent returned multiple times when offered by multiple rr hosts
* Also sort date ranges
* Adding failing test that should result in 5 slots, but returns 7 as it returns the same slots twice.
* Slots returns duplicate slots for overlapping date ranges
* As mergeOverlappingDateRanges enabled the unified start time, we need to reproduce this
* Do not 'prettify' slots to the same degree if they fall on different days
* Added test to prove an end date before start also works
* Use a string instead of number as key
* chore: Deprecate organizerTimeZone, effectively unused
* Adjust all dateRanges similarly
* Bring back eventTimeZone
* Remove adjustDateRanges in favour of slot generation changes
* Convert to tz after all logic is finished.
* clearer code flow
* Remove console.log + add failing test due to inverse order
* Address issue with inversion when date ranges are given out of order
* perf: Avoid leading wildcard for Salesforce
* use limit of 1 since we need 1 record
* use LOWER to check exact website match
* Revert the usage of LOWER since we need wider searches
* Add limits to queries
* Update packages/app-store/salesforce/lib/CrmService.ts
* Remove unneeded LIMIT statements
* Update packages/app-store/salesforce/lib/CrmService.ts
* Apply suggestions from code review
* Update packages/app-store/salesforce/lib/CrmService.ts
---------
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
* hide docs for old google connect endpoint
* update docs for atoms
* fix css styles for week view
* update v2 reference
* add dutch translations in cal provider
* fix: add nl i18n in BaseCalProvider
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* If booking is routed from form, disable round robin reassign
* Pass `bookingFromRoutingForm` prop from `BookingListItem`
* Add `ReassignType` enum
* Refactor `isBookingReroutable`
Found via `codespell -q 3 -S "*.svg,./apps/web/public/static/locales,./packages/app-store/stripepayment/lib/currencyOptions.ts,./packages/lib/freeEmailDomainCheck/freeEmailDomains.ts" -L afterall,atleast,datea,fo,incase,ist,nam,notin,optionel,perview,reccuring`
Closes#19193
* Remove BookerSeo from instant-meeting-view
* remove route from pages router
* make eventData passed from getServerSideProps
* refactor route in app router and move it outside of /future
* feat: add option to disable sending transcription emails
* fix: types and tests
* fix: type error
* fix: type err
* fix: type err
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Add a case that crashes
* Add proper crash test case
---------
Co-authored-by: Hariom Balhara <hariombalhara@gmgmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Updated the query parameter handling logic to properly format the 'date' param
as 'YYYY-MM' in case month param is missing. This resolves an issue where previous slots were not appearing.
Co-authored-by: amrit <iamamrit27@gmail.com>
# To enable enterprise-only features please add your environment variable to the .env file then make your way to /auth/setup to select your license and follow instructions.
CALCOM_LICENSE_KEY=
# Signature token for the Cal.com License API (used for self-hosted integrations)
# We will give you a token when we provide you with a license key this ensure you and only you can communicate with the Cal.com License API for your license key
# Used to use Replexica SDK, a tool for real-time AI-powered localization
REPLEXICA_API_KEY=
@@ -406,3 +421,15 @@ DIRECTORY_IDS_TO_LOG=
# Set this when Cal.com is used to serve only one organization's booking pages
# Read more about it in the README.md
NEXT_PUBLIC_SINGLE_ORG_SLUG=
## Env variables related to avoiding booking failures
# Request for checking reservation would be attempted to send every these seconds if the request is stale at that time
NEXT_PUBLIC_QUERY_RESERVATION_INTERVAL_SECONDS=
# Request for checking reservation of same slot would be sent only after this time has passed. It must be lower than PUBLIC_QUERY_RESERVATION_INTERVAL_SECONDS
NEXT_PUBLIC_QUERY_RESERVATION_STALE_TIME_SECONDS=
# Query available slots interval - Should be kept high in minutes as it could cause significant load on the system
1. Add `export NODE_OPTIONS=“--max-old-space-size=16384”` to your shell script to increase the memory limit for the node process. Alternatively, you can run this in your terminal before running the app. Replace 16384 with the amount of RAM you want to allocate to the node process.
Add `NEXT_PUBLIC_LOGGER_LEVEL={level}` to your .env file to control the logging verbosity for all tRPC queries and mutations.\
Where {level} can be one of the following:
2. Add `NEXT_PUBLIC_LOGGER_LEVEL={level}` to your .env file to control the logging verbosity for all tRPC queries and mutations.\
Where {level} can be one of the following:
`0` for silly \
`1` for trace \
`2` for debug \
`3` for info \
`4` for warn \
`5` for error \
`6` for fatal
`0` for silly \
`1` for trace \
`2` for debug \
`3` for info \
`4` for warn \
`5` for error \
`6` for fatal
When you set `NEXT_PUBLIC_LOGGER_LEVEL={level}` in your .env file, it enables logging at that level and higher. Here's how it works:
When you set `NEXT_PUBLIC_LOGGER_LEVEL={level}` in your .env file, it enables logging at that level and higher. Here's how it works:
The logger will include all logs that are at the specified level or higher. For example: \
The logger will include all logs that are at the specified level or higher. For example: \
- If you set `NEXT_PUBLIC_LOGGER_LEVEL=2`, it will log from level 2 (debug) upwards, meaning levels 2 (debug), 3 (info), 4 (warn), 5 (error), and (fatal) will be logged. \
- If you set `NEXT_PUBLIC_LOGGER_LEVEL=3`, it will log from level 3 (info) upwards, meaning levels 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged, but level 2 (debug) and level 1 (trace) will be ignored. \
- If you set `NEXT_PUBLIC_LOGGER_LEVEL=2`, it will log from level 2 (debug) upwards, meaning levels 2 (debug), 3 (info), 4 (warn), 5 (error), and (fatal) will be logged. \
- If you set `NEXT_PUBLIC_LOGGER_LEVEL=3`, it will log from level 3 (info) upwards, meaning levels 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged, but level 2 (debug) and level 1 (trace) will be ignored. \
@@ -113,7 +113,7 @@ We use it in several ways, but mainly, we first import the auto-generated schema
We have some shared validations which several resources require, like baseApiParams which parses apiKey in all requests, or querIdAsString or TransformParseInt which deal with the id's coming from req.query.
- **[*]BaseBodyParams** that omits any values from the model that are too sensitive or we don't want to pick when creating a new resource like id, userId, etc.. (those are gotten from context or elswhere)
- **[*]BaseBodyParams** that omits any values from the model that are too sensitive or we don't want to pick when creating a new resource like id, userId, etc.. (those are gotten from context or elsewhere)
- **[*]Public** that also omits any values that we don't want to expose when returning the model as a response, which we parse against before returning all resources.
@@ -190,16 +190,6 @@ We make sure of this by not using next in dev, but next build && next start, if
See <https://github.com/vercel/next.js/blob/canary/packages/next/server/dev/hot-reloader.ts#L79>. Here in dev mode OPTIONS method is hardcoded to return only GET and OPTIONS as allowed method. Running in Production mode would cause this file to be not used. This is hot-reloading logic only.
To remove this limitation, we need to ensure that on local endpoints are requested by swagger at /api/v1 and not /v1
## Hosted api through cal.com
> _❗ WARNING: This is still experimental and not fully implemented yet❗_
Go to console.cal.com
Add a deployment or go to an existing one.
Activate API or Admin addon
Provide your `DATABASE_URL`
Now you can call api.cal.com?key=CALCOM_LICENSE_KEY, which will connect to your own databaseUrl.
## How to deploy
We recommend deploying API in vercel.
@@ -218,7 +208,7 @@ Add this command: `./scripts/vercel-deploy.sh`
See `scripts/vercel-deploy.sh` for more info on how the deployment is done.
> _❗ IMORTANT: If you're forking the API repo you will need to update the URLs in both the main repo [`.gitmodules`](https://github.com/calcom/cal.com/blob/main/.gitmodules#L7) and this repo [`./scripts/vercel-deploy.sh`](https://github.com/calcom/api/blob/main/scripts/vercel-deploy.sh#L3) ❗_
> _❗ IMPORTANT: If you're forking the API repo you will need to update the URLs in both the main repo [`.gitmodules`](https://github.com/calcom/cal.com/blob/main/.gitmodules#L7) and this repo [`./scripts/vercel-deploy.sh`](https://github.com/calcom/api/blob/main/scripts/vercel-deploy.sh#L3) ❗_
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.