* Fix error message
* Only apply buffer limits to That event type
* Correctly get eventtypeId in source
* Add comment
* Move to i188n strings
* Wrap string to be translated
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* enable team billing when `HOSTED_CAL_FEATURES` isset
* changed comment above of `IS_TEAM_BILLING_ENABLED` in constants.ts
Co-authored-by: René Müller <rene.mueller@clicksports.de>
* Booking succes query refactor
The query is now using the uid as its main identifier for the success page
* Minor changes to the succes.tsx and tests
* Convert eventtype dates to string, and only select eventtype slug from db to have a smaller query (we don't need more data, and this way we don't need to convert the dates in here to smaller strings either.)
* In the payment component get the bookingUid from props instead of the query
* design fixes
* fix UI for recurring bookings
* fix success page for recurring events
* fix cancelling recurring events
* fix design of successful cancellation page
* fix email redirect + design fixes
* remove old cancel page
* fix v2 design for text area
* Changed the recurringMutation to use the uid for the success booking page
* redirect form old to new cancel page
* fix success page for recurring events
* rename to allRemainingbookings
* fix old cancel redirect
* fix recurring cancel link in email
* fix redirect when cancelling one recurring booking
* remove reschedule for recurring events in email
* create queryschema for cancel success page
* scroll down to bottom if cancel
* add cancellation reason
* fix tests
* fix old /cancel component
* code clean up
* Uses URL query as cancellation state
Also fixes string to boolean inference
Co-authored-by: Mischa Rouleaux <mischa-rouleaux@live.nl>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Display team slug on form when saved on metadata
* remove button disabled prop
* update mutation to latest trcp style
* Update packages/trpc/server/routers/viewer/teams.tsx
Co-authored-by: Omar López <zomars@me.com>
* WIP teams billing page
* WIP
* Create settings page
* Remove unused imports
* Create stripe customer on team creation
* Add Stripe ids to team record
* Add Stripe price ids for team to .env
* Create & delete Stripe customers
* Add string
* Merge branch 'main' into v2/teams-billing
* Create checkout session when creating team
* Create webhook to update team with Stripe ids
* Add Stripe migration files
* Move deleting team from Stripe under ee
* Some cleanup
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Small clean up
* Link to team's portal page
* Fix types
* Fix type errors
* Fix type errors
* Fix type error
* Delete old files & type fixes
* Address feedback
* Fix type errors
* Removes team creation modal
* WIP
* Removed billing frequency from team creation
* Add Stripe check for delete team customer
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Add high level form to create new team
* WIP
* Add new team to form
* Validate for invited members
* Add translations
* WIP
* Add validation for team name
* Add validation to team slug
* Clean up
* Fix type error
* Fix type errors
* WIP
* Abstract invite members function
* Add subscription status column
* Hide pending teams from settings
* Send email on paid subscription
* WIP
* Sync packages
* Add team subscription cols to schema
* WIP
* Matches locks vite version to <3
* Removed subscriptionStatus
* WIP
* Fix warning
* Query optimizations
* WIP
* Cleanup
* Wip
* WIP
* Runtime error fixes
* Cancellation fixes
* Delete team fixes
* Cleanup
* Type fixes
* Allows to check memebership in getTeamWithMembers
* Adds team creation tests
* Cleanup
* Cleanup
* Restored change
* Updated copy
* Moved component
* Cleanup
* Fix team members view
* Cleanup
* Adds failsafe for skipping publishing on update
* Cleanup
* Feedback
* More feedback
* Cleanup
* Cleanup
* Feedback
* Feedback
* Feedback
* Adds edge-case for slug conflicts
* Feedback
* e2e fixes
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Sendgrid app and code simplification
* Applying app-store-cli + impl
* Fixing types
* Adding features to readme
* Fixing unit tests
* A few last tweaks regarding UX and env vars
* Applying feedback
* Using calcom icons
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* use LOGO constant instead of fixed string in OgImages
* fixed linting error
Co-authored-by: René Müller <rene.mueller@clicksports.de>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Improving recurring info in bookings
* Adding fixes to success page, it was invalid on custom tz
* Remove dead code
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Fixes the localisation issue with recurring events
* Implement DST as Dayjs doesn't
* Fixed generated booking URL when different TZ is set
* manually apply DST offset to times
* Fix type error
* Added generic image variant for og images.
* Made og and meta descriptions longer, removed difference between longer and shorter descriptions now we only have one variant.
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Fixing types from handleErrorJson usage and Credential
* Replace credential prisma type for a better suitable
* Improvements on zoom video adapter
* Renamed extendedCredentialType and put it in a best suited file
* Frontend display invalid credential
* Fix styles and text
* Fix type required for fake daily credentials
* fixed reschedule icalstring and json error
* logging update
* code quality changes
* removed unnecessary comment
* removes console log remnants
* fix for checktype
* Take care of all OK status response codes
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Add relevant comment in code
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Aded new togglegroup component.
* Make 12/24h time format toggle functional and store value in localstorage.
* Responsive tweaks
* Added translations
* Added 12/24h timeformat hint on profile page.
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Omar López <zomars@me.com>
* adds support to timezone change using tzid
* code improvement with math absolute
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* wip reintroduce SAML SSO
* Fix the imports
* wip
* Some tweaks
* Fix the type
* Reduce the textarea height
* Cleanup
* Fix the access issues
* Make the SAML SSO active on the sidebar
* Add SP's instructions
* Remove the console.log
* Add the condition to check SAML SSO is enabled
* Replace SAML SSO with Single Sign-On
* Update to SAML feature
* Upgrade the @boxyhq/saml-jackson
* Fix the SAML part and other cleanup
* Tweaks to SAML SSO setup
* Fix the type
* Fix the import path
* Remove samlLoginUrl
* Import fixes
* Simplifies endpoints
Co-authored-by: zomars <zomars@me.com>
* Add seatsHideAttendees to schema
* Add migration
* Add frontend option to hide attendees
* Pass hide attendees to email
* Hide attendee names on success email
* Add types for existing attendees
* Hide other attendees if hidden
* Pass seatsHideAttendees to Google Cal
* Add translation
* Reduce redundancy
* Fix type error
* Change toggle to show attendee information
* Minor text change
* Fix type errors
* Update snapshots
* Merge branch 'main' into seats-hide-attendees
* Add back email
* Add close.com specific types
* Add eslint ignore comments
* Merge branch 'seats-hide-attendees' of https://github.com/calcom/cal.com into seats-hide-attendees
* Simplify tests
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* #4252 Use vercel og to generate og images for meetings and apps.
* Removed duplication.
* Added new design for og images (wip).
* Implemented og image design for meeting image, including support for all variants.
* Implemented design for app og images.
* clenaup
* Fixed types
* Added the option to not render headseo in main shell in order to render your own.
* Added comments.
* fix
* Small tweaks.
* Fixed lock file.
* Fixed types
* Optimized svg's so vercel og supports them.
* Fixed og image on user page.
* Added truncate utils.
* Small style tweaks
* App og image alignment.
* Added og image to team/slug pages.
* Added correct variable to og image path constant.
* Add OmniInstall button
* Make AppCards configurable by the app itself
* Make OmniInstallAppButton not redirect
* Fixes
* Add extendsFeature support to CLI
* Move to automatic file generation approach as dynamic import checking doesnt work correctly
* Use zod everywhere consistenly for metadata and fix all TS issues
* Fix viewer.eventTypes endpoint. Make prisma base select and _ prefixed models consistent in expecting scalars only
* Remove unnecessary zod parsing of event-types as it is making the scope of the PR huge
* Fix UI TS errors
* wip
* Add zod types support in EventTypeAppCard.tsx
* Fixes during PR review and other failing tests
* Remove unused app
* Fix stripe installation flow
* More fixes
* Fix apps and active apps count
* self review
* Add loading attribute to OmniInsall button
* Handle empty state
* Improve types
* Fix stripe app installation bug
* added fathom app (#4804)
* added fathom app wrapper, needs script injection to public booking page
* new logo
* Add Fathom script support on booking pages and add it as an eventTypeapp
* Add automation and analytics apps
* Add missing pieces for analytics category
* Rename BookingPageScripts to BookingPageTagManager
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Fix lint error
* Fix runtime error with legayAppData being undefined
* Remove duplicate automation key
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Moved booking logic to calcom/features
Needed to reuse on public API
* Type fixes
* Cleanup
* Cleanup
* Cleanup
* Restored still needed V1 pages
This reverts commit 790a304a6a.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Add db relevant stuff
* Basic UI there still buggy
* This UI is hard - some progress
* Fix awful state mangament
* Fix re-ordering
* Working UI logic!
* Partical working minMax function
* Fix min max
* bookingLImits api + tests
* Moved checkBookingLimits to backend only code
* Fix httperror import
* Return busy times
* Remove avaliablity calc
* Working for everything but year
* Remove redundant + fix async forloop
* Add compatible type
* Future proof with evenTypeId filter
* Fix commonjson
* Sorting + validation + tests + passing
* Add empty test
* Move validation check to backend
* Add bookinglimits in trpc
* Add test for undefined
* Apply suggestions from code review
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Update apps/web/components/v2/eventtype/EventLimitsTab.tsx
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Rename value for eligiability
* Rename keyof type
* status code
* Fix toggle not toggling off
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Change back to undefined as it is working for sean. See if it fails on testapp
* Fixing test builder
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* #4533: Store timeformat preferences in localstorage when changing profile. This way you see the correct format on the booking page. Also abstracted the reuse of the localstorage key for timeformat into a small util function, to prevent typos in the future.
* Update apps/web/components/booking/pages/AvailabilityPage.tsx
* 4533: Changed 24hfromlocalstorage values from strings to real booleans for better DX.
* Update apps/web/lib/clock.ts
Co-authored-by: alannnc <alannnc@gmail.com>
* Make code shorter by only handling remaining cases
Co-authored-by: alannnc <alannnc@gmail.com>
* Remove unnecessary boolean check
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Animate fields list and routes list
* Rename routing_forms slug to routing-forms
* Add comments
* Fixtypo
* Add dropdown separator for consistency
* Fix missing occurences of routing_forms and improve types for webhooks
* Fix weird error about title child is an array
* Fix webhook issues
* Fix webhook tests and issues found during fixing them
* Fix lint errors and warnings
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* add team profile
* first version for team members page
* finish up design of member list item
* fix dialog buttons
* add missing seats and upgrading information
* add v2 dialog for changing role
* finish basic version of member's schedule
* remove modalContainer
* design fixes team profile page
* show only team info to non admins
* allow all member to check availabilities
* make time available heading sticky
* add dropdown for mobile view
* create team appearance view
* finish appearance page
* use settings layout and add danger zone for member
* add fallback logo
* Add teams to sidebar and fix UI
* add team invitations
* Clean up
* code clean up
* add impersontation and disable autofocus on calendar
* improve team info
* refactor teaminvitelist code and fix leaving a team
* add team pages to settings shell
* add link to create new team
* small fixes
* clean up comments
* V2 Multi-select (Team Select) (#4324)
* --init
* design improved
* further fine tuning
* more fixes
* removed extra JSX tag
* added story
* NIT
* revert to use of CheckedTeamSelect
* Removes comments
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: toggle alligment (#4361)
* fix: add checked tranform for switch (#4357)
* fixed input size on mobile, fixed settings (#4360)
* fix image uploader button in safari
* code clean up
* fixing type errors
* Moved v2 team components to features
Adds deprecation notices
* Update SettingsLayout.tsx
* Migrated to features and build fixes
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* WIP
* Consolidates jest deps
* Test fixes
* Moves jest to root
* Test fixes
* Update CalendarService.test.ts
* Cleanup
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* WIP
* Fix for team availability with time offsets
* Prevent empty schedule from opening up everything
* When no utcOffset or timeZone's are given, default to 0 utcOffset (UTC)
* timeZone should not be part of getUserAvailability
* Prevents {days:[X],startTime:0,endTime:0} error entry
* Added getAggregateWorkingHours() (#3913)
* Added test for getAggregateWorkingHours
* Timezone isn't used here anymore
* fix: developer docs url (#3914)
* fix: developer docs url added
* chore : remove /
* chore : import url
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Test fixes
* Reinstate prisma (generate only) and few comments
* Test fixes
* Skipping getSchedule again
* Added await to expect() as it involves async logic causing the promise to timeout
* Test cleanup
* Update jest.config.ts
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Zach Waterfield <zlwaterfield@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Fixes issue when sessionStorage is not accessible in privacy focussed modes in various browsers
* Fix eslint errors
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* add new trigger with first simple job scheduling
* fix DB update
* use array to save scheduled jobs in booking
* cancel scheduled jobs when zap disabled or zapier disconnected
* schedule jobs only for confirmed bookings
* schedule jobs for already existing bookings
* fix bug to create workflow reminders when confirming recurring events
* delete remove all zapier webhooks when api key is deleted
* schedule job for all confirmed recurring bookings
* fix zapier trigger and workflow reminders when cancelling recurring events
* code clean up
* code clean up
* add migration
* add type package for node-schedule
* remove nodescheduler
* add updated nodescheduler
* move code to app-store
* add meeting ended to webhook constants
* udpate zapier README.md
* implement QA suggestions
* add default handler and fix imports
* Type fix
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
* wip commit
* Finished new algorithm for fetching the least recently booked user
* ROUND_ROBIN fix
* Removed redundant import
* Prisma dependency turned getLuckyUser into a server-only function
* DRY avatars
* Properly passThrough
* name can be undefined.
* Remove debug artefact
* Add Embed ModalBox for routing forms
* Add duplicate form support
* Fix duplication logic
* Change to feathericons everywhere and other fixes
* Dont allow routes for fallback route
* Fix all TS issues
* Fix tests
* Support routing using query params
* Support multiselect in router endpoint
* Fix the issue where app goes in embed mode after viewing embed once
* Add router url tests
* Add Responses download and form toggling tests
* Add required validation test
* Change Icons everywhere
* App typeform app
* Improvements in cli
* Add typeform how-to-use page
* Add typeform how-to-use page and screenshots
* Fix TS error
* Add missing image
* Update CliApp.tsx
* Revert unexpected zapier change
* Revert yarn.lock, not sure why it was modified
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* -re init dynamic links
* typing fix 001
* added missing div closing tag
* added necessary DB column pull to satisfy Type errors
* further type fixes
* WIP
* removed console logs
* some revert
* WIP
* another approach
* enabled dynamic links availability fetch
* Added users to eventTypeObject for consistency
* WIP: Moving user and changing map item name
* Fix user list call
* Removed explicit User type in map
* modify default user attributes
* adds explicit users to EventTypeObject in teams
* Updated availability page
* Updates Availability
* Futher availability change
* Remove explicit user type from slot router
* more fixes
* more fixes WIP
* cleaning up more errors WIP
* object assign used for typesafety
* added check if dynamic booking is allowed by all users
* cleaned up console logs
* clean up
* Improvement
* resolving suggestions by alex
* changes requested by Omar
* Filter out empty usernames instead of accepting null
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* refactor: use BookingReference instead of DailyEventReference
* refactor: migrate DailyEventReference records to BookingReference
* refactor: drop DailyEventReference table
* fix linting
* Daily Video API adapter fixes
Co-authored-by: zomars <zomars@me.com>
* added a few desktop only improvements
* added horizontal line
* fixed icon
* hide download button when already in desktop app
* codacy fixes
Co-authored-by: zomars <zomars@me.com>
* WIP fixes for handling office365 api call
* First working version microsoft api call handling
* Remove logs
* Clean up and improve function names
* Clean up
* Remove log
* Fix function missing its correct name
* Fix direct return of statement
* Cleanup
* Simplify with private fetcher
* Update CalendarService.ts
* Update getOfficeAppKeys.ts
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add Routing logic to Query builder
* Make a working redirect
* Make it an app
* Move pages and components to App
* Integrate all pages in the app
* Integrate prisma everywhere
* Fix Routing Link
* Add routing preview
* Fixes
* Get deplouyed on preview with ts disabled
* Fix case
* add reordering for routes
* Move away from react DnD
* Add sidebar
* Add sidebar support and select support
* Various fixes and improvements
* Ignore eslint temporarly
* Route might be falsy
* Make CalNumber support required validation
* Loader improvements
* Add SSR support
* Fix few typescript issues
* More typesafety, download csv, bug fiees
* Add seo friendly link
* Avoid seding credebtials to frontend
* Self review fixes
* Improvements in app-store
* Cahnge Form layout
* Add scaffolding for app tests
* Add playwright tests and add user check in serving data
* Add CI tests
* Add route builder test
* Styling
* Apply suggestions from code review
Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
* Changes as per loom feedback
* Increase time for tests
* Fix PR suggestions
* Import CSS only in the module
* Fix codacy issues
* Move the codebbase to ee and add PRO and license check
* Add Badge
* Avoid lodash import
* Fix TS error
* Fix lint errors
* Fix bug to merge conflicts resolution - me query shouldnt cause the Shell to go in loading state
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
* init
* action function added
* kbar trigger placed
* UI improvements to KBar, added command + K tooltip
* renamed quick find to commandbar
* replaced window router with nextjs router
* keyboard up n down nav shows up
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* build basic database structure and basic design
* create simple workflow list
* add editing dots to list
* add mutation to create workflows
* add createMutation on submit + redirect to editing page
* redirect to edit page when clicking on row
* add functionality to delete workflow
* add timeUnit + input validation
* add empty screen view
* add time before it triggers to description
* add multi select with checkboxes
* remove getServerSideProps
* set default time period to 24
* fetch eventypes and display in dropdown
* add functionality to update workflows + many-to-many relationship
* fix all checked event types
* add SMS reminders
* fix bug with trigger + relocate sms template
* clean code
* add model for unscheduled reminders
* fix selected eventTypes
* fixing value to show how many event types selected
* fix plural of event types in select
* add onDelete cascade for all relations
* fix errors
* add functionality to send SMS to specific number
* fix type error for timeUnit
* set default value for time unit + fix type issues
* remove console.logs
* fix error in checking if scheduled date is more than 1h in advance
* fix build errors
* add migration for workflows
* add basic UI for editing workflow steps
* add formSchema
* improve functionality to update a step
* remove console logs
* fix issue with active event types
* allow null value for time and timeUnit
* sort steps asc step number
* add action to workflow (frontend)
* add phone number input for SMS to specific number
* use PhoneInput for number input + input validation
* improve invalid input for phone number
* improve UI of phoneInput
* Improve design and validation
* fix undefined error
* set default action when adding action
* include all team event types
* fix phone number input for editing steps
* fix update muation to add steps
* remove console logs
* fix order of steps
* functionality to delete steps
* add trigger when event is cancelled
* add custom email body
* sms and email reminder updates
* add custom emails
* add custom email subject
* send reminder email to all attendees
* update migration
* fix default value for time and timeUnit
* save email reminders to database
* clean code
* add custom template to SMS actions
* schedule emails with sendgrid
* clean code
* add workflow templates
* keep custom template saved when changing templates
* create reminder template for email
* add dot at the end of sentace for email template
* fix merge error
* fix issue that template was not saved
* include sending emails for when event is cancelled
* fix bug that email was always sent
* add templates to sms reminders
* add info that sending sms to attendees won't trigger for already exisitng bookings
* only schedule sms for attendees when smsReminderNumber exists
* only schedule sms for attendees when smsReminderNumber exists
* set scheduled of workflow reminder to false when longer than 72 hours
* add cron for email scheduling + fixes for for sms an email scheduling
* adjust step number when deleting a step
* cast to boolean with !!
* update cron job for email reminders
* update sms template
* send reminder email not to guests
* remove sendTo from workflow reminder
* fixes sending sms without name + removing sendTo everywhere
* fix undefined name in sms template
* set user name to undefined for sending sms to a specific number
* fix singular and plural for time unit
* set to edit mode when changing action and custom template is selected
* delete reminders when booking cancelled or not active anymore
* fix type errors
* fix error that deleted reminders twice
* create booking reminders for existing bookings when eventType is set active
* improve email and sms templates
* use BookingInfo type instead of calendarEvent for reminder emails
* schedule emails for already existing bookings
* add and remove reminders for new active event types and cancelled events
* connect add action button with last step
* fix step container width for mobile view
* helper functions that return options for select
* fix typo and remove comment
* clean code
* add/improve error messages for forms
* fix typo
* clean code
* improve email template
* clean code
* fix missing prop
* save reference id when scheduling reminder
* fix step not added because of changed id for new steps
* small fixes + code cleanup
* code cleanup
* show error message when number is invalid
* fix typo
* fix phone number input when location is already phone
* set multi select checkbox to read only
* change email scheduling in cron job from 7 days to 72 hours
* show active event types in workflow list
* fix trigger information for workflow list
* improve layout for small screens in workflow list
* remove optional from zod type for workflow name
* order workflows by id
* use link icon to show active event types
* fix plural and add translation for showing nr of active eventtypes
* fix text for sms reminder template
* add reminders for added steps
* remove optional for activeOn
* improve reminder templates
* improve design of custom input fields
* set edit mode to false when phone number isn't needed anymore
* set sendTo in workflow step only for SMS_NUMBER action
* set email body and subject only when custom template
* only delete reminders that belong to workflow steps
* improve text for new event book trigger
* move reminders folder to workflows
* fix issue that save button was sometimes enabled in edit mode
* fix form issues for send to
* delete all scheduled reminders when workflow is deleted
* use enum for method
* fix imports for workflow methods
* add missing import
* fix edit mode
* create reminders when event is confirmed
* add reminderScheduler to reduce duplicate code
* make workflow enterprise and pro only feature
* move all files to /ee/ folder
* move package.json change to /ee/ folder
* add pro badge to shell
* set to edit mode to true if email subject is missing when action changes
* fix loading bug
* add migration
* fix old imports
* don't schedule reminders for opt-ins
* fix style of email body
* code clean up
* Update yarn.lock
* fix isLoading for active on dropdown
* update import for prisma
Co-authored-by: Omar López <zomars@me.com>
* update imports
* remove console
* use session to check if user has valid license
* use defaultHandler
* clean up code
* Create db-staging-snapshot.yml
* move LisenceRequired inside shell
* update import for FormValues
* fix phone input design
* fix disabled save button for edit mode
* squah all migration into a single one
* use isAfter and isBefore instead of isBetween
* import dayjs from @calcom
* validate phone number for sms reminders when booking event
* Allows auto approvals for crowdin
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* WIP feature/settings-username-update
* WIP username change
* WIP downgrade stripe
* stripe downgrade and prorate preview
* new UI for username premium component
* Fix server side props
* Remove migration, changed field to metadata user
* WIP for update subscriptions
* WIP intent username table
* WIP saving and updating username via hooks
* WIP saving working username sub update
* WIP, update html to work with tests
* Added stripe test for username update go to stripe
* WIP username change test
* Working test for username change
* Fix timeout for flaky test
* Review changes, remove logs
* Move input username as a self contained component
* Self review changes
* Removing unnecesary arrow function
* Removed intentUsername table and now using user metadata
* Update website
* Update turbo.json
* Update e2e.yml
* Update yarn.lock
* Fixes for self host username update
* Revert yarn lock from main branch
* E2E fixes
* Centralizes username check
* Improvements
* WIP separate logic between premium and save username button
* WIP refactor username premium update
* Saving WIP
* WIP redo of username check
* WIP obtain action normal, update or downgrade
* Update username change components
* Fix test for change-username self host or cal server
* Fix user type for premiumTextfield
* Using now a global unique const to know if is selfhosted, css fixes
* Remove unused import
* Using dynamic import for username textfield, prevent submit on enter
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* There is lot of hardcoding links in application
* Apply suggestions from code review
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: gitstart <gitstart@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* Share WIP
* Embed tests fixes
* AvailabilityPage improvements
* Type fixes
* Fixes Datepicker day witdth
* Update troubleshoot.tsx
* Adds local cached slots and browsingDate
* Migrating DatePicker to use Dayjs for timeZone support
* Fixed Sunday not being available
* Added comment to clarify what is going on
* Minor bugfix in DatePicker, double empty slot markup
* Change selected date with URL through ?date..
* Initialize properly w/o query params, remove minDate for now
* Remove Loader as now using Skeleton
* Handle Etc/GMT edge case (not a timeZone)
* Added dark mode bg- color to SkeletonText + made text slightly more subtle on DatePicker
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* As Google Meet is always installed, this fixes the doubling
* Make entire Google link clickable, fix extraData
* Attempt at type fixing :)
* AdditionalInformation for the booking page?
* Update packages/emails/src/components/LocationInfo.tsx
Being explicit :)
* Exclude AdditionalInformation as it is irrelevant here
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* Extracted UI related logic on the DatePicker, stripped out all logic
* wip
* fixed small regression due to merge
* Fix alignment of the chevrons
* Added isToday dot, added onMonthChange so we can fetch this month slots
* Added includedDates to inverse excludedDates
* removed trpcState
* Improvements to the state
* All params are now dynamic
* This builds the flat map so not all paths block on every new build
* Added requiresConfirmation
* Correctly take into account getFilteredTimes to make the calendar function
* Rewritten team availability, seems to work
* Circumvent i18n flicker by showing the loader instead
* 'You can remove this code. Its not being used now' - Hariom
* Nailed a persistent little bug, new Date() caused the current day to flicker on and off
* TS fixes
* Fix some eventType details in AvailableTimes
* '5 / 6 Seats Available' instead of '6 / Seats Available'
* More type fixes
* Removed unrelated merge artifact
* Use WEBAPP_URL instead of hardcoded
* Next round of TS fixes
* I believe this was mistyped
* Temporarily disabled rescheduling 'this is when you originally scheduled', so removed dep
* Sorting some dead code
* This page has a lot of red, not all related to this PR
* A PR to your PR (#3067)
* Cleanup
* Cleanup
* Uses zod to parse params
* Type fixes
* Fixes ISR
* E2E fixes
* Disabled dynamic bookings until post v1.7
* More test fixes
* Fixed border position (transparent border) to prevent dot from jumping - and possibly fix spacing
* Disabled style nitpicks
* Delete useSlots.ts
Removed early design artifact
* Unlock DatePicker locale
* Adds mini spinner to DatePicker
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* Incorporates recurringEvent into calEvent
* Recurrent event fixes
* Update event.ts
* type fixes
* Update zod-utils.ts
* Adding more recurringEvent to calEvent and other fixes
* Moving away from heavy 3rd party enum
* Fixing test
* Renaming as suggested and fixes
Co-authored-by: Leo Giovanetti <hello@leog.me>
* Merge remote-tracking branch 'origin/main' into feat/success-url
* Fix localstorage access
* Fix Comments
* make custom eleemnt explicitly 100% in width to go full width in a flex type parent
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add vital integration
* Tidy up client_user_id creation
* Rename vital app to vitalother to follow name rules
* Added env var
* App vital reschedule
* Fix on app structure and api calls
* Implemented user identification from webhook
* WIP fix api call and read me
* Save vital settings via api
* Now saving userVitalSettings and trigger reschedule on selected param
* Added translations
* Fix type for vitalSettings
* Using api to get env vars required for url, fix display of vital settings
* Fix hours placeholder, translation not working
* Renames vital app
* Update seed-app-store.ts
* Update package.json
* Update yarn.lock
* Refactored env variables
* Update README.md
* Migrates to api_keys
* Extracts AppConfiguration
* vitalClient fixes
* Update index.ts
* Update metadata.ts
* Update index.ts
* Update metadata.ts
* Added namespace vital for translations
Co-authored-by: Maitham <maithamdib@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* manual migration to rename verificationtoken, maybe it could be dropped and create a new table instead if we're not using it, will consult @zomars
* feat: rename verificationRequest --> verificationToken in schema.prisma
* fix: rename verificationRequest -> verificationToken in the codebase
* feat: add default cookies for next-auth
* fix: moves @lib/serverConfig to @calcom/lib so it can be called by website too
* fix: make self-certificate work in dev env by not rejecting tls in serverConfig
* fix verificationTokenToken typo
Co-authored-by: Omar López <zomars@me.com>
* Adds domain: .cal.com if not dev env in cookies
* Adds default-cookies to apps/web, and nextauth_domain to turbo website build deps"a
* update NEXTAUTH_DOMAIN to NEXTAUTH_COOKIE_DOMAIN
* Updates website submodule
* Removes deprecated env vars
* Consolidates auth logic in one place
* Updates website module
* Signup fixes
* Build fixes
* Updates example
* Updates example
* Fixes
* Fix Email Verification
* fix: move csrf-token cookiePrefix from __Host -> __Secure
* Removes console log
* Fixes link in email template
* Removed irrelevant coment
* Testing with a 32 bit secret
* Fixes for cookien in E2E
* E2E fixes
* Fixes Stripe tests locally
* Temp fix for E2E
Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* users can be array of user when roundrobin team booking is there with availablity of multiple people
* Return empty array
* Add comments
* checktype fix
* removed extra condition
Co-authored-by: Syed Ali Shahbaz <alishahbaz7@gmail.com>
* Moves locations to App Store and Core
* LocationType fixes
* Update App.d.ts
* Re-add Google Meet
* Moves location labels to the app store
* Renames labels to locationLabels
* Update utils.ts
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Concluded merge
* Applied stash to newly merged
* Always disconnect + remove redundant success message
* Added named dialog to replace new=1
* Merged with main p2
* Set eventTypeId to @unique
* WIP
* Undo vscode changes
* Availability dropdown works
* Remove console.log + set schedule to null as it is unneeded
* Added schedule to availability endpoint
* Reduce one refresh; hotfix state inconsistency with forced refresh for now
* Add missing translations
* Fixed some type errors I missed
* Ditch outdated remnant from before packages/prisma
* Remove Availability section for teams
* Bringing back the Availability section temporarily to teams to allow configuration
* Migrated getting-started to new availability system + updated translations + updated seed
* Fixed type error coming from main
* Titlecase 'default' by providing translation
* Fixed broken 'radio' buttons.
* schedule deleted translation added
* Added empty state for when no schedules are configured
* Added correct created message + hotfix reload hard on delete to refresh state
* Removed index renames
* Type fixes
* Update NewScheduleButton.tsx
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>