* fix description in email
* add styling for lists
* sanitize editor input before saving
* sanitize eventTypeDescription
* santize html when used dangerouslySetInnerHTML
* fix server side sanitation
* add missing formatting and sanitation
* move @ts-expect-error to correct line
* fix type error and add yarn.lock
* fix build error
* sanitize description for booking page and availability page
* rename to markdownAndSanitize
* always add list formatting
* handle empty description in markdownAndSanitize for cleaner code
* create function for clientside markdown rendering and sanitizing
* fix type error
* code clean up
* Now that eventType.descriptionAsSafeHTML is added at all the missing places, we can do away with ts-ignore and get type safety
* Remove unused variable
* Remove one more ts-expect-error
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* amend logic to calculate DST time on buildSlots
* send start and end date in UTC
* port the logic to calc DST from buildSlots to inWithinAvailableHours
* Fix passThrough console error (passHref is not valid)
* Fix 'use-identity-login' error when logging in with idP
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Make sure that moving up and down doesnt go beyond boundary
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* feat: update badge component
* fix: use the camel cased startIcon prop
* fix: reschedule request badge
* fix: use the camel cased startIcon prop
* fix: remove bold prop
* Removed extra whitespace in HTML
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* WIP-already-reschedule-success-emails-missing
* WIP now saving bookingSeatsReferences and identifyin on reschedule/book page
* Remove logs and created test
* WIP saving progress
* Select second slot to pass test
* Delete attendee from event
* Clean up
* Update with main changes
* Fix emails not being sent
* Changed test end url from success to booking
* Remove unused pkg
* Fix new booking reschedule
* remove log
* Renable test
* remove unused pkg
* rename table name
* review changes
* Fix and and other test to reschedule with seats
* Fix api for cancel booking
* Typings
* Update [uid].tsx
* Abstracted common pattern
into maybeGetBookingUidFromSeat
* Reverts
* Nitpicks
* Update handleCancelBooking.ts
* Adds missing cascades
* Improve booking seats changes (#6858)
* Create sendCancelledSeatEmails
* Draft attendee cancelled seat email
* Send no longer attendee email to attendee
* Send email to organizer when attendee cancels
* Pass cloned event data to emails
* Send booked email for first seat
* Add seat reference uid from email link
* Query for seatReferenceUId and add to cancel & reschedule links
* WIP
* Display proper attendee when rescheduling seats
* Remove console.logs
* Only check for already invited when not rescheduling
* WIP sending reschedule email to just single attendee and owner
* Merge branch 'main' into send-email-on-seats-attendee-changes
* Remove console.logs
* Add cloned event to seat emails
* Do not show manage link for calendar event
* First seat, have both attendees on calendar
* WIP refactor booking seats reschedule logic
* WIP Refactor handleSeats
* Change relation of attendee & seat reference to a one-to-one
* Migration with relationship change
* Booking page handling unique seat references
* Abstract to handleSeats
* Remove console.logs and clean up
* New migration file, delete on cascade
* Check if attendee is already a part of the booking
* Move deleting booking logic to `handleSeats`
* When owner reschedule, move whole booking
* Prevent owner from rescheduling if not enough seats
* Add owner reschedule
* Send reschedule email when moving to new timeslot
* Add event data to reschedule email for seats
* Remove DB changes from event manager
* When a booking has no attendees then delete
* Update calendar when merging bookings
* Move both attendees and seat references when merging
* Remove guest list from seats booking page
* Update original booking when moving an attendee
* Delete calendar and video events if no more attendees
* Update or delete integrations when attendees cancel
* Show no longer attendee if a single attendee cancels
* Change booking to accepted if an attendee books on an empty booking
* If booking in same slot then just return the booking
* Clean up
* Clean up
* Remove booking select
* Typos
---------
Co-authored-by: zomars <zomars@me.com>
* Fix migration table name
* Add missing trpc import
* Rename bookingSeatReferences to bookingSeat
* Change relationship between Attendee & BookingSeat to one to one
* Fix some merge conflicts
* Minor merge artifact fixup
* Add the right 'Person' type
* Check on email, less (although still) editable than name
* Removed calEvent.attendeeUniqueId
* rename referenceUId -> referenceUid
* Squashes migrations
* Run cached installs
Should still be faster. Ensures prisma client is up to date.
* Solve attendee form on booking page
* Remove unused code
* Some type fixes
* Squash migrations
* Type fixes
* Fix for reschedule/[uid] redirect
* Fix e2e test
* Solve double declaration of host
* Solve lint errors
* Drop constraint only if exists
* Renamed UId to Uid
* Explicit vs. implicit
* Attempt to work around text flakiness by adding a little break between animations
* Various bugfixes
* Persistently apply seatReferenceUid (#7545)
* Persistently apply seatReferenceUid
* Small ts fix
* Setup guards correctly
* Type fixes
* Fix render 0 in conditional
* Test refactoring
* Fix type on handleSeats
* Fix handle seats conditional
* Fix type inference
* Update packages/features/bookings/lib/handleNewBooking.ts
* Update apps/web/components/booking/pages/BookingPage.tsx
* Fix type and missing logic for reschedule
* Fix delete of calendar event and booking
* Add handleSeats return type
* Fix seats booking creation
* Fall through normal booking for initial booking, handleSeats for secondary/reschedule
* Simplification of fetching booking
* Enable seats for round-robin events
* A lot harder than I expected
* ignore-owner-if-seat-reference-given
* Return seatReferenceUid when second seat
* negate userIsOwner
* Fix booking seats with a link without bookingUid
* Needed a time check otherwise the attendee will be in the older booking
* Can't open dialog twice in test..
* Allow passing the booking ID from the server
* Fixed isCancelled check, fixed test
* Delete through cascade instead of multiple deletes
---------
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Localized booking date
* re add space
* Add locale per format call due to lambda dayjs instance share between users
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* feat(web): improve session retrieval performance
Switch to using `getServerSession` which avoids a HTTP round trip to retrieve session details.
Additionally, migrate deprecated `app/lib/auth` calls to to `@calcom/lib` package.
* fix: update failing test and lint
* Consolidates auth code in features
* Update yarn.lock
* Update packages/trpc/server/createContext.ts
* Oopsie
---------
Co-authored-by: zomars <zomars@me.com>
* feat(lib): add more tests to lib package
Add more tests to the lib package to make it more robust overall. Additionally, tidy any methods that can be modified without changing behaviour and tighten types where possible.
* fix(lib): update missed imports
* fix: revert stylistic changes
* Update getSchedule.test.ts
---------
Co-authored-by: Omar López <zomars@me.com>
* feat: add custom validate name util
* refactor: separate custom event type modal into a
different component
* feat: add validation to zod
* chore: add i18n key
* feat: add dynamic imports
* fix: padding
* Omit cache-hit exit 1, assuming it'll fail regardless
* allow custom inputs as variables in event name
* fix ui for adding custom inputs
* show edited event name in modal
* code clean up
* merge fixes
* includes new booking fields logic
* fix event name with custom booking fields
* code clean up
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix type error
* remove old reqbody variable
---------
Co-authored-by: nafees nazik <nafeesnazik21@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* chore: add fresh chat configs to env.example
* feat: add fresh chat menu item and render
* refactor: remove some event listeners
* chore: make popover closed after the click
* refactor the code and fix some bugs
* feat: auto open chat
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* wip idp enabled login
* add route to handle callback from IdP
* update the new provider
* cleanup
* fix the type
* add suggested changes
* make the suggested changes
* use client secret verifier
* Make [...nextauth] a little easier to read
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* Show label in email and calendar invite and send label as well as name in webhook
* Make common code reusable
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix ul and ol in editor
* fix imports
* disable list for team about section
* fix event type description in list
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* use the organizer timezone and invitee timezone to show slots
* type fixes
* set start date on selected TZ on booking payload
* add considerations when only the invitee is on DTS
* Apply suggestions from code review
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* fixes typo
* Apply suggestions from code review
Co-authored-by: alannnc <alannnc@gmail.com>
* cleaning
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Removed some of the UTC logic which shouldn't be there
* Upgrade rhf, remove SSR on [schedule] page
* Fix potential bug with date
* Amend schedule trpc call & don't show edit availability if id is undefined
* type fix
* Order date overrides in list by date
* Changed logic to check for unavailable
* Fix bug report spotted by @CarinaWolli
I can save date overrides for march 1st and 2nd (my date/time when saving was march 1st at 11PM GMT-5). It is saved successfully in the database however the date overrides don't show up in the list.
That's why:
- new Date() is utc so it is already march 2nd
- override.date has always timestamp 00:00 so it is also smaller than the utc time which was in my case 2023-03-02T04:00
* Actual fix, gotta remember it's the schedule tz
* add editor for event type description
* enable same things for markdownIt
* show links in blue
* fix placeholder design
* format description for event list
* limit event descript ot 4 lines in list
* shorten event-type description whenever needed
* add editor to create event type dialog
* fix link title in event type list
* Fix overwriting users column when saving event types (#7445)
* Only overwrite user column when present
* Clean up
* Merge branch 'main' into feat/editor-event-type-description
* Merge branch 'main' into feat/editor-event-type-description
# Conflicts:
# apps/web/pages/settings/my-account/profile.tsx
* Linting
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* WIP
* Create Booking Questions builder
* Renaming things
* wip
* wip
* Implement Add Guests and other fixes
* Fixes after testing
* Fix wrong status code 404
* Fixes
* Lint fixes
* Self review comments addressed
* More self review comments addressed
* Feedback from zomars
* BugFixes after testing
* More fixes discovered during review
* Update packages/lib/hooks/useHasPaidPlan.ts
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/ui/components/form/inputs/Input.tsx
Co-authored-by: Omar López <zomars@me.com>
* More fixes discovered during review
* Update packages/features/bookings/lib/getBookingFields.ts
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* More PR review fixes
* Hide label using labelSrOnly
* Fix Carinas feedback and implement 2 workflows thingy
* Misc fixes
* Fixes from Loom comments and PR
* Fix a lint errr
* Fix cancellation reason
* Fix regression in edit due to name conflict check
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* Fix options not set when default value is used
* Restoring reqBody to avoid uneeded conflicts with main
* Type fix
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update packages/features/form-builder/FormBuilder.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/components/booking/pages/BookingPage.tsx
Co-authored-by: Omar López <zomars@me.com>
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* Show fields but mark them disabled
* Apply suggestions from code review
Co-authored-by: Omar López <zomars@me.com>
* More comments
* Fix booking success page crash when a booking doesnt have newly added required fields response
* Dark theme asterisk not visible
* Make location required in zodSchema as was there in production
* Linting
* Remove _metadata.ts files for apps that have config.json
* Revert "Remove _metadata.ts files for apps that have config.json"
This reverts commit d79bdd336c.
* Fix lint error
* Fix missing condition for samlSPConfig
* Delete unexpectedly added file
* yarn.lock change not required
* fix types
* Make checkboxes rounded
* Fix defaultLabel being stored as label due to SSR rendering
* Shaved 16kb from booking page
* Explicit types for profile
* Show payment value only if price is greater than 0
* Fix type error
* Add back inferred types as they are failing
* Fix duplicate label on number
---------
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Efraín Rochín <roae.85@gmail.com>
* On booking add team members & translation
* Add team members to round robin create
* Only update calendars on reschedule if there is a calendar reference
* Send email on reschedules
* Send team email on cancelled event
* Add team members to calendar event description
* Clean up
* Convert other emails to organizer & teams
* Type check fixes
* More type fixes
* Change organizer scheduled input to an object
* early return updateCalendarEvent
* Introduce team member type
* Fix type errors
* Put team members before attendees
* Remove lodash cloneDeep
* Update packages/core/EventManager.ts
Co-authored-by: Omar López <zomars@me.com>
* Remove booking select object
* Revert "Remove booking select object"
This reverts commit 9f121ff4eb.
* Refactor email manager (#7270)
Co-authored-by: zomars <zomars@me.com>
* Type change
* Remove conditional check for updateAllCalendarEvents
---------
Co-authored-by: zomars <zomars@me.com>
* Add destination calendar name
* Type fix
* Search through calendars only for destination calendar credential
* Refactor get connected calendars
* Clean up
---------
Co-authored-by: zomars <zomars@me.com>
* fix(schedule): close on click #7143
* fix(EventSetupTab): validLocations length will always match validLocations length #7138
* fix(SettingsLayout): go back to right route #7379
* fix text-align on team
* more fixes to the length
* use truncate for long text
* Update packages/features/settings/layouts/SettingsLayout.tsx
---------
Co-authored-by: Omar López <zomars@me.com>
* [CAL-1125] Fix app detail page heading size
* [CAL-1125] Fix margin on back button in shell
* [CAL-1125] Fix shell-margin for mobile
---------
Co-authored-by: Levent Deniz <levent.deniz@check24.de>