* fix: Implement new avatars in insights
* fix: Exposed type errors, previously hidden by any,any type
---------
Co-authored-by: Omar López <zomars@me.com>
* added new .env for script tags
* Update turbo.json
* removed meticulous
* added body script .env
* nit
* fixed injection
* Update apps/web/app/layout.tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Ensure NEXT_PUBLIC_BODY_SCRIPTS is casted to bool
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* add the X-Cal-Signature-256 header to MEETING_ENDED webhook requests
* take care of null value for appId
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* fix: team event when when no one is assigned
* chore: test
* chore: unfo
* chore: remove host while creating
* fix: unit tests
* fix: event in booking form
* chore: undo tests
* fix: type
* fix: move it inside
* Check for migrated username
* Add e2e for reserved username due to migration
* Add username change test
* Update username.ts
* fixed type checks
* Refactor to use isOrganization
* Typing
* Typing
* Removed the isOrganization function
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Rename .env variables
* Remove instances of old variable names
* Add credential sync secret to request for new token
* Update invalid secret message
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Implement secondary email
* Fix already existing tests failing
* Added tests for secondary email feature
* Skip email verification if user is changing the primary email to a verified secondary email
* Fix type errors in tests
* Fix email becoming unverified when switched between primary and secondary email
* Added a check to prevent prisma error from throwing up due to duplicate records
* Improved error handling when adding a secondary email
* Add test for resend verification email flow for secondary emails and validation of invite link
* Add a new column to link secondary emails with verification tokens
* Fix failing to update email to an unverified secondary email of the same user
* Fix failing tests
* Change text of resend verification email
* Add ability to use the verified secondary emails to get the event details to
* Fix type errors
* Fix failing e2e tests
* Fix failing unit tests
* Fix failing type checks
* Fix secondary verification email subject
* Fix failing e2e tests
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: Test flakiness due to unfilled name/email
* Better toast-success checks
* Revert "test: Create E2E tests for bookings with custom/required Phone + other questions (#11502)"
This reverts commit 614741d207.
* Revert "test: Create E2E tests for bookings with custom/required Multiple Emails + other questions (teste2e-multipleEmailQuestion) (#11565)"
This reverts commit d1d50b0d91.
* Revert "test: Create E2E tests for bookings with custom/required Long Text + other questions (teste2e-longTextQuestion) (#11559)"
This reverts commit 96810b5ba1.
* Revert "test: Check the webhook event tab and your funtionalities (#12433)"
This reverts commit 9db9204088.
* Re-instate regularBookings
* Fixtures used by other tests
* Removed dead code from regularBookings.ts
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* Fix calendar event included in the workflow, doesn't show the meeting link
* Fix type error
* fix public video call url
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* fix: Prevent duplicate bookings with idempotency key
* Add idempotencyKey to builder.ts type fix
* Add tests for new idempotency key (booking create)
* Add endTime to idempotency key, it should be possible to book different durations
* Move reschedule before the create so the idempotency key is unset
* feat:redirect - if signup url has url to goto
* fix: dont throw if url is invalid - just dont set
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat(db): add new col: user appTheme
* feat(event-types page): apply appTheme color
* add appTheme for trpc
* feat: mutate main page theme
* feat: add english translation for app theme update section
* modify keys in common (en)
* add woring
* Revert yarn.lock to its state before unintended changes
* feat(i18n): add back the i18n string (for dark/light mode switching)
* refactor: refactor ThemeLabel
* fix: add new user field "appTheme" to test files
* chore: modify TODO comment
* chore: update common.json (en) for "theme"
since we had appTheme now, I think it's better to update the wording here to avoid confusion
* fix: update button's data-testid to fix e2e test error
* chore: remove comment
* fix: fix brand-color-not-apply bug
* solve type error
* fix: fix type error
* fix: use correct storageKey for booker / dashboard
* fix: tidy up
* fix: skeleton
---------
Co-authored-by: swh00tw <a6140000@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* fix: No available users found
* Update getUserAvailability.ts
* Update getUserAvailability.ts
* Update handleNewBooking.ts
* Reusing the parsed dates throughout the full stack
* Fixed typo
* Added unit tests for stringToDayjs
* Fixing types
* Reverted the getSchedule utc change since that endpoint takes in UTC formatted dates but with a given timezone
* chore: Add test replicating 'no available users' error
* Test is passing
* Name clarifications
* Test clean up
* Update packages/features/bookings/lib/handleNewBooking.ts
Co-authored-by: Omar López <zomars@me.com>
* Update handleNewBooking.ts
* Fixed issue where date overrides ending at midnight don't allow bookings
* Removed comment
---------
Co-authored-by: Omar López <zomars@me.com>
* feat: Implement orgs/teams logoUrls
* Use getAvatarUrl in team/[slug]
* Extract uploadLogo to standalone file for reuse
* Allow removing the team/organisation logo
* fix: API build fail due to server-only, removed
* init
* typefix maybe
* fix type
* fix e2e
* Extract delete dialog to its own function to optimise rerender
* wip
* Delete isEqual
* adds eslint tsignore comment
* only update changed fields
* fix type err
* --WIP
* fix type err isLoading—>isPending
* isLoading—>isPending
* post conflict resoution fix
* shouldDirty minimumBookingNotice
* adds shouldDirty to setValues
* reset form to ensure updated default values
* shouldDirty changes and fixed deep check of dirty
* --WIP
* should dirty recurring
* shouldDirty team tab
* multiple-fixes
* adding console log to test something in e2e
* shouldDirty apps tab
* fixes managed event type children association
* fixed managed events update
* dirty managed fix
* fixes some onChange versus setValue and periodCountCalendarDays
* Seeing different behaviour explicitly unwrapping formState
* only mutate if at least 1 field dirty
* fix type error
* bunch of fixes
* --WIP
* update only dirtyFields for Managed Events existing children
* Fixes update old managed event type tests --WIP
* Fix unit tests
A bunch of unit test fixes which started failing
due to update fields only requiring actual updated
fields. some other small fixes also included
* type fix
* remove unnecessary comment
* Adds dirtyField to instant event
* fix: add shouldDirty
* fixes availability and team tabs, and disable save button unless dirty
* fix for hosts and bookerLayout
* add shouldDirty when resetting hosts after changing schedulingType
* add missing shouldDirty to useEventTypeDestinationCalendarEmail
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* Updated useTypedQuery to store values to localstorage
* removed the redundant function params
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* rule for Prisma that includes using only "true" and not a field selector
* Removed Skiff from the app store
* Apply suggestions from code review
* Delete packages/eslint-plugin/src/rules/disallow-prisma-include-only-true-not-field-selector.ts
---------
Co-authored-by: Peer Richelsen <peer@cal.com>
* set the selectedDuration in store to duration passed in query
* Pass durationConfig prop to Booker component in /team/[slig]/[type] pages
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: prevent signing up multiple times from same account
* revert: lark calendar changes
* credential clean up if duplicate
* fix code duplication and check before credential creation
* feat: useRouterQuery allow unset queryParam
* feat: showToast on account duplication attempt
* Small tweak to copy
* Updated other calendars not to use checkDuplicateCalendar
* Add account already linked to apps/installed/calendar
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* fix: filtering events bug in bookings page
* fix: handle edge case if we change hosts in event-settings/assignment
* update: handled edge case
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix: Ensure event type duplication respects private link setting
* chode refactor
* Fix: Handler throwing error on creating duplicate of a collective event having private-link switched on.
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* perf: Don't process date overrides outside of requested boundaries
* Added ability to skip override calculations when not used
* Only instantiating utc date for overrides once
* Removed performance tracing
* Cleanup
* Fixed broken tests
* Fix type
* In process of fixing types
* Types
* Fixed types
* Removed unnecessary performance.now() call
* Changed override date check to use isBetween
* Attempting to fix availability test
* Put code back to test availability
* Put back isBetween because confirmed it wasn't triggering the new test failures
* Removed date check to see if this is breaking it
* Put the code back since the test failed without it too
* Skipping test to unblock pipeline unless research is done
* Removed steps to test
* Removing the piece around the troubleshooter
* 1 more try
* Adding an extra wait
* Took out the boolean check to see if that's the issue
* Put back the check
* Trying to isolate the problem
* Changed how the test loads the troubleshooter
* Changed to OR to capture range better
* Using the proper date instead of 1/1/1970
* Update availability.e2e.ts
* use same lucky user + check availability
* add tests for recurring round robin events
* only use luckyUsers for recurring bookings
* don't check availability for all recurring dates
* code clean up
* pass schedulingType
* fix type error
* add availability check for fixed hosts + test
* fix type error
* implement feedback
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* fix#13507 'Invalid event length' when creating dynamic events with a 1 hour duration
* Fix failing e2e tests by dynamically injecting lengths for dynamic events
--amend 1: misc indentation cleanup
--amend 2: Added condition to only update event metadata when slug is dynamic and multipleDuration is empty
* Override the multipleDuration property while constructing the dynamicEvent object itself
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* fix: payload cleanup
* Update eventType.ts
* Send whitelisted fields everywhere
* Removed a user select
* Removed extra usage of users
* Put back user field with fewer selects
* Added user pick
* Removed more users selects
* Another select removal
---------
Co-authored-by: Hariom <hariombalhara@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix: don't display setup page icon for these apps
* chore: make it optional
* chore: feedback
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Fix event-type listing not working
* Automatic reload of the app when being added to a different organization
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* chore: uses safeGet to be more explicit
* Update apps/web/middleware.ts
* Update apps/web/middleware.ts
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Fix routing-form access restrictions
* Update packages/app-store/routing-forms/pages/routing-link/[...appPages].tsx
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Fix routing form access issue for users who are never migrated
* Improve comment
* wip
* Fix event-type listing not working
* Automatic reload of the app when being added to a different organization
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add profile table
Copy to profile table
Update schema
Migrations
* wip
* Get switcher working
* Add organization seeder
* wip
* Remove dead code
* Fix unit tests
* relevantProfile -> profile
* cache bust
* One more comment
* Squash migrations
* Copy to profile table
* Update schema
* Fix existing user invite flow
* Add profile table
* Copy to profile table
* Update schema
* Format
* Add profile table
Copy to profile table
Update schema
Migrations
* Format
* wip
Get switcher working
Add organization seeder
wip
Remove dead code
Fix unit tests
relevantProfile -> profile
cache bust
One more comment
Squash migrations
Copy to profile table
Update schema
Fix existing user invite flow
Add profile table
Copy to profile table
Update schema
chore: small improvements to signup (#13227)
* removed features on mobile, better background color
* nit
* dark mode nits
New Crowdin translations by Github Action
fix: event reschedule workflow trigger (#13122)
* fix event reschedule workflow trigger
* uncomment previously failed test
* review fix
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
chore: added community support to help (#13213)
refactor: Abstract `handleSeats` from `handleNewBooking` (#12062)
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Erik <erik@erosemberg.com>
fix: Dynamic group booking org-migration redirect (#13223)
* fix: Dynamic group booking redirect
* Fix flaky private team test
test: Check availability tab and all your functions (teste2e-availability) (#12434)
* add changes
* add changes
* add changes
* add changes
* Requested changes
* Change way to grab element
---------
Co-authored-by: gitstart-calcom <gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
fix: Reschedule a cancelled booking (#13170)
* fix: Reschedule a cancelled booking
* canceled instead of cancelled
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
v3.7.0
test: In Team Event type when location is Organizer Default App and U… (#12939)
* test: In Team Event type when location is Organizer Default App and User Metadata is emoty
* chore: use variable
* fix: type error
test: add test for invalid cal video (#13103)
* test: add test for invalid cal video
* chore: add confirm
* chore: fix type error
* chore: update code
* test: add unit test
* chore: type error
* chore
* chore: type
* chore: fix test
* chore
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
chore: add error message for no availability (#13230)
* chore: add error message for no default user availability
* chore: check only availability
* chore: change message
* chore: add eventType
fix: Team revert with members (#13228)
refactor: Refactor seats logic (#12905)
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
* Move handleSeats
* Abstract lastAttendeeDeleteBooking
* Create function for rescheduling seated events
* Fix imports on reschedule seats function
* Fix imports
* Import handleSeats function
* Fix rescheduleUid type
* Refactor owner reschedule to new time slot
* Refactor combine two booking times together
* Reschedule as an attendee
* Refactor createNewSeat
* Remove old handleSeats
* Remove lastAttendeeDeleteBooking from handleNewBooking
* Test for new attendee right params are passed
* Unit test params for reschedule
* Typo fix
* Clean up
* Create new seat test
* Test when attendee already signs up for booking
* Type fix
* Test reschedule move attendee to existing booking
* On reschedule create new booking
* Test on last attendee cancel booking
* Owner reschedule to new time slot
* Owner rescheduling, merge two bookings together
* Test: when merging more than available seats, then fail
* Test: fail when event is full
* Remove duplicate E2E tests
* Clean up
* Rename `addVideoCallDataToEvt` to `addVideoCallDataToEvent`
* Refactor `calcAppsStatus`
* Assign `evt` to resutl of `addVideoCallDataToEvent`
* Use prisma.transaction when moving attendees
* Clean create seat call
* Use ErrorCode enum
* Use attendeeRescheduledSeatedBooking function
* Await function
* Prevent double triggering of workflows
* Use inviteeToAdd in createNewSeat
* Remove unused error code
* Remove old handleSeats file
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Erik <erik@erosemberg.com>
feat: Allow admins to filter bookings only by attendee emails (#13236)
* chore: Allow admins to filter bookings only by attendee emails
* Fix type error
Fixed [CAL-2930] Org branding isnt centered in shell #13225 (#13237)
Add profile table
Copy to profile table
Update schema
Migrations
Format
* wip
* Add profile relation everywhere
* Fix schema
* Fix invite handler
* Add profileId during eventTypec reation
* Get dashboard working with profile relatioon
* Add workflow create repository
* Add profileId to host
* Add profileId to credential table
* Add destinationCalendar repository
* Add profileId to membership
* Revert all profile related changes
* Add acme and dunder
* Fix membership profileId usgae
* Various fixes
* Some renaming
* Fix failing tests
* Debugging next-aut
* Consolidate migrations
* Testing fixes
* Fix unit tests
* Self review feedback
* PR feedback
* Fix orgMigration as well
* Add profile schema and copy users to it
* Remove migrations from here
* Fix type issues
* Fix type error after main merge
* Remove movedFromUserId
* Add missing migration file
* Self review addressed
* Joe's review addressed
* Fix profile switcher
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* Get `onErrorReturnTo` URL
* If no code return to previous page
* On invalid permissions, return to previous page
* When not enough permissions given, invalidate the credential created
* Type fix
* Stripe go back to previous page on cancel
* Clean up console.logs
* Add early returns when redirecting
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat: Disallow next month prefetching in booker
* renamed to include NEXT_PUBLIC
* fixed boolean expression
* Now using a variable length of days to load
* Type fixes
* Now opening all dates to be clickable
* Added turbo.json var and updated example env
* Fixed issue with selectedDate being null when first loading the page
* Updated description of variable
* Made constant for the booking days
* Type fix
* Setting the days to load for weekly view to 7
* feat: add ui and ability to fetch more on click
* feat: add ui and ability to fetch more on click
* fix: loader
* fix: banner detection
* Update packages/features/bookings/Booker/Booker.tsx
* fix: types
* Not showing HavingTroubleFindingTime component when the schedule is loading
* Only enabled on monthly view
* Correctly load initial date
* Type fix
* Fixed bugs around triggering multiple requests
* Added case for when there is no selectedDate but the month has been specified
* Types
* More types
* Check for undefined
* More typing
* More typing
---------
Co-authored-by: sean-brydon <sean@cal.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* add tests for responsive layout
* test: Create E2E tests to check the responsive design for a regular booking and edit a regular event type
* test: Create E2E tests to check the responsive design for a regular booking and edit a regular event type
* test: Create E2E tests to check the responsive design for a regular booking and edit a regular event type
* Create tests
* Create tests
* Create tests
* add changes
---------
Co-authored-by: gitstart-calcom <gitstart-calcom@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* feat: make org members list private
* fix: add isOrg to MakeTeamPrivateSwitch in other-team-members-view
---------
Co-authored-by: supalarry <lauris.skraucis@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: event api accepts invalid start & end values
* fix: unit tests
* test: added 'event length check during booking'
* test: fix unit test
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fixed some of the terms language
* minor changes
* Update apps/web/pages/settings/organizations/[id]/onboard-admins.tsx
* fixed yarn
* nit
* fix: trans
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
## What does this PR do?
- This PR migrates the `/auth/sso/*` page group to the app directory (which runs under the App Router).
- The migrated page exists under `/future/auth/sso/*` and is accessible at all times.
## Requirement/Documentation
- If there is a requirement document, please, share it here.
- If there is ab UI/UX design document, please, share it here.
## Type of change
- [x] Chore (refactoring code, technical debt, workflow improvements)
- [x] New feature (non-breaking change which adds functionality)
## How should this be tested?
There should be no changes between the old sso and new sso routes in terms of content and no downgrading in terms of performance.
The pages were not tested due to being unable to reproduce the flow locally.
## Mandatory Tasks
- [x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
## What does this PR do?
- This PR migrates the `/auth/logout` and `/auth/signin` pages to the app directory (which runs under the App Router).
- Using `/future/auth/logout` is available at all times and is supposed to log the user out as `/auth/logout` page does.
- However `signin` page (or fragment) was used before should behave the same using the `/future/auth/signin` route.
## Requirement/Documentation
- If there is a requirement document, please, share it here.
- If there is ab UI/UX design document, please, share it here.
## Type of change
- [x] Chore (refactoring code, technical debt, workflow improvements)
- [x] New feature (non-breaking change which adds functionality)
## How should this be tested?
- Using `/future/auth/logout` is available at all times and is supposed to log the user out as `/auth/logout` page does.
- However `signin` page (or fragment) was used before should behave the same using the `/future/auth/signin` route. It was not tested locally.
## Mandatory Tasks
- [x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
## What does this PR do?
- This PR migrates the `/auth/verify` and `/auth/verify-email` pages to the app directory (which runs under the App Router).
- The migrated pages exist under `/future/auth/verify` and `/future/auth/verify-email` and are accessible at all times.
## Requirement/Documentation
- If there is a requirement document, please, share it here.
- If there is ab UI/UX design document, please, share it here.
## Type of change
- [x] Chore (refactoring code, technical debt, workflow improvements)
- [x] New feature (non-breaking change which adds functionality)
## How should this be tested?
There should be no changes between the old verify and new verify routes in terms of content and no downgrading in terms of performance.
The pages were not tested due to being unable to reproduce the flow locally.
## Mandatory Tasks
- [x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
> I'm in the core Team of inlang
## Fix inlang's configuration file
We changed the `project.inlang.json` to a `settings.json` in a `project.inlang` dir. This enables the inlang project to store app information or metadata in a dir that is not relevant to you as an end user.
#### Old
```tree
├── project.inlang.json
```
#### New
```tree
├── project.inlang
│ ├── settings.json
```
* add impersonation in the dropdown menu
* add logo
* fix another minor issue
* Update UsersTable.tsx
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
This adds tests for the following utils found in `core`:
- event utils
- getAggregateWorkingHours
- getCalendarsEvents
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
## 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 # (issue)
<!-- Please provide a loom video for visual changes to speed up reviews
Loom Video: https://www.loom.com/
-->
## Requirement/Documentation
<!-- Please provide all documents that are important to understand the reason of that PR. -->
- If there is a requirement document, please, share it here.
- If there is ab UI/UX design document, please, share it here.
## Type of change
<!-- Please delete bullets that are not relevant. -->
- Bug fix (non-breaking change which fixes an issue)
- Chore (refactoring code, technical debt, workflow improvements)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Tests (Unit/Integration/E2E or any other test)
- This change requires a documentation update
## 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
## Mandatory Tasks
- [ ] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
## 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 PR needs changes to the documentation
- I haven't checked if my changes generate no new warnings
- I haven't added tests that prove my fix is effective or that my feature works
- I haven't checked if new and existing unit tests pass locally with my changes
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
* Move handleSeats
* Abstract lastAttendeeDeleteBooking
* Create function for rescheduling seated events
* Fix imports on reschedule seats function
* Fix imports
* Import handleSeats function
* Fix rescheduleUid type
* Refactor owner reschedule to new time slot
* Refactor combine two booking times together
* Reschedule as an attendee
* Refactor createNewSeat
* Remove old handleSeats
* Remove lastAttendeeDeleteBooking from handleNewBooking
* Test for new attendee right params are passed
* Unit test params for reschedule
* Typo fix
* Clean up
* Create new seat test
* Test when attendee already signs up for booking
* Type fix
* Test reschedule move attendee to existing booking
* On reschedule create new booking
* Test on last attendee cancel booking
* Owner reschedule to new time slot
* Owner rescheduling, merge two bookings together
* Test: when merging more than available seats, then fail
* Test: fail when event is full
* Remove duplicate E2E tests
* Clean up
* Rename `addVideoCallDataToEvt` to `addVideoCallDataToEvent`
* Refactor `calcAppsStatus`
* Assign `evt` to resutl of `addVideoCallDataToEvent`
* Use prisma.transaction when moving attendees
* Clean create seat call
* Use ErrorCode enum
* Use attendeeRescheduledSeatedBooking function
* Await function
* Prevent double triggering of workflows
* Use inviteeToAdd in createNewSeat
* Remove unused error code
* Remove old handleSeats file
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Erik <erik@erosemberg.com>
* test: add test for invalid cal video
* chore: add confirm
* chore: fix type error
* chore: update code
* test: add unit test
* chore: type error
* chore
* chore: type
* chore: fix test
* chore
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Erik <erik@erosemberg.com>
* don't allow uid update in bookings update api
* omit uid from schemaBookingEditBodyParams instead of updating schemaBookingBaseBodyParams
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* manual: app-directory-boilerplate-calcom
* manual: import components directly
* manual: move files to correct route groups and add metadata
* manual: Change structure & Refactor to make code up to date
* manual: refactors
* Fix
* manual: fix type of arg of getData
* manual: fix type error
* fix type bugs
* fix
* fixing the build
* wip
---------
Co-authored-by: Greg Pabian <35925521+grzpab@users.noreply.github.com>
* add check for already used slug
* Update _patch.ts
Removed comment that added no value based on the code. Renamed const
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fix the fluctuations in sidebar when we scroll main content
* fix: reduced vertical padding instead of
TOP_BANNER_HEIGHT
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* add utcOffset in webhook
* add utcOffset in webhook
* fix type
* fix type
* fix function error
* fix: UTCOffset DST
* getUTCOffsetByTimezone support date param
* add startTime in `getUTCOffsetByTimezone` func
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* intuita codemod: remove-get-static-props
* intuita codemod: app-directory-boilerplate-calcom
* manual: refactor and add metadata title/description
* manual: Change structure & Refactor to make code up to date
* intuita codemod: app-directory-boilerplate-calcom
* manual: move folders to (settings-layout) route group
* manual: add title/description metadata
* manual: Change structure & Refactor to make code up to date
* intuita codemod: app-directory-boilerplate-codemod
* manual: move to (settings-layout) route group
* manual: add title/description metadata
* manual: Change structure & Refactor to make code up to date
* feat-profile-forwarding
* fix for promises of handling
* fix badge success color
* clean up
* fix suggested changes
* Changed design on booking-forward pages and moar test
* taking care of suggested changes, trpc errors and code cleaning
* improve text
* fix conflicting data-testid
* fix unique data-testid
* fix error css-global, email button styles, error conditional
* rename files to match functionality, remove away ui
* Add translations and migration
* remove log
* small fixes + improvements
* fix styles to match new design
* merge fixes
* Fix styles dark mode
* Solving merge conflicts from earlier
* Fix/change test to match new elements
* use trash icon button insted of dots (design issues)
* only send email if toUserId is set
* Fix date picker dark mode
* merge with remote
* removed status field from table and email its now for notify
* small text improvement in email
* check for team plan not paid plan
* fixes and clean up due to removing status
* fix old send request name to new behaviour
* more naming improvements and text
* remove status from handle-type
* code clean up
* fix type error
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
@@ -448,7 +448,7 @@ Don't code but still want to contribute? Join our [discord](https://go.cal.com/d
3. Enable the selected API.
4. Next, go to the [OAuth consent screen](https://console.cloud.google.com/apis/credentials/consent) from the side pane. Select the app type (Internal or External) and enter the basic app details on the first page.
5. In the second page on Scopes, select Add or Remove Scopes. Search for Calendar.event and select the scope with scope value `.../auth/calendar.events`, `.../auth/calendar.readonly` and select Update.
6. In the third page (Test Users), add the Google account(s) you'll using. Make sure the details are correct on the last page of the wizard and your consent screen will be configured.
6. In the third page (Test Users), add the Google account(s) you'll be using. Make sure the details are correct on the last page of the wizard and your consent screen will be configured.
7. Now select [Credentials](https://console.cloud.google.com/apis/credentials) from the side pane and then select Create Credentials. Select the OAuth Client ID option.
8. Select Web Application as the Application Type.
9. Under Authorized redirect URI's, select Add URI and then add the URI `<Cal.com URL>/api/integrations/googlecalendar/callback` and `<Cal.com URL>/api/auth/callback/google` replacing Cal.com URL with the URI at which your application runs.
prefix:`You are Cal.ai - a bleeding edge scheduling assistant that interfaces via email.
Make sure your final answers are definitive, complete and well formatted.
Sometimes, tools return errors. In this case, try to handle the error intelligently or ask the user for more information.
Tools will always handle times in UTC, but times sent to users should be formatted per that user's timezone.
In responses to users, always summarize necessary context and open the door to follow ups. For example "I have booked your chat with @username for 3pm on Wednesday, December 20th, 2023 EST. Please let me know if you need to reschedule."
If you can't find a referenced user, ask the user for their email or @username. Make sure to specify that usernames require the @username format. Users don't know other users' userIds.
constprompt=
ChatPromptTemplate.fromTemplate(`You are Cal.ai - a bleeding edge scheduling assistant that interfaces via email.
Make sure your final answers are definitive, complete and well formatted.
Sometimes, tools return errors. In this case, try to handle the error intelligently or ask the user for more information.
Tools will always handle times in UTC, but times sent to users should be formatted per that user's timezone.
In responses to users, always summarize necessary context and open the door to follow ups. For example "I have booked your chat with @username for 3pm on Wednesday, December 20th, 2023 EST. Please let me know if you need to reschedule."
If you can't find a referenced user, ask the user for their email or @username. Make sure to specify that usernames require the @username format. Users don't know other users' userIds.
The primary user's id is: ${userId}
The primary user's username is: ${user.username}
The current time in the primary user's timezone is: ${now(user.timeZone,{
weekday:"long",
year:"numeric",
month:"long",
day:"numeric",
hour:"numeric",
minute:"numeric",
})}
The primary user's time zone is: ${user.timeZone}
The primary user's event types are: ${user.eventTypes
// @ts-expect-error Argument of type '{ query: Params; params: Params; req: { headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }; }' is not assignable to parameter of type 'GetServerSidePropsContext'.
constssr=awaitssrInit(ctx);
// @ts-expect-error Type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to type 'NextApiRequest | IncomingMessage
// @ts-expect-error Argument of type '{ query: Params; params: Params; req: { headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }; }' is not assignable to parameter of type 'GetServerSidePropsContext'.
constssr=awaitssrInit(ctx);
// @ts-expect-error Type '{ headers: ReadonlyHeaders; cookies: ReadonlyRequestCookies; }' is not assignable to type 'NextApiRequest
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.