* Identify owner for a timeslot and check busyness against his schedule only
* Fix TS errors
* Fix flatmap
* Fix xisting unit tests
* Prevent duplicate slots by merging, userId -> userIds (multi)
* Small fix to potential undefined
* Moved duplicate prevention to buildSlots function
* Apply date override on a per user basis
* Prevent -1 being added to computedLocalAvailability
* Removed console.log
* Apply override properly on COLLECTIVE
* Default timeZone to UTC when undefined
* isSame doesn't work when the day shifts, isBetween instead
* Iterate over all slot.userIds schedules to identify the first user schedule that matches
* add round-robin test
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* first implementation of verifying phone number
* add UI + logic for verifying phone number flow
* check if all phone numbers are verified before submit
* add numberVerification pending
* only send SMS to verified numbers
* fix design for mobile view
* check if phone number is verified before testing action
* add back message service id check
* add TWILIO_VERIFY_SID to .env.example
* code clean up
* add TWILIO_VERIFY_SID to README.md instructions
* save new verified numbers
* fix wrongly thrown error for new verified numbers
* use false as default value for isVerificationPending paramater
* add translations
* add migration file
* code clean up
* don't throw error if phone number is not needed
* Feedback
* Shows error when Twillio isn't properly setup
* Type fixes
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* additional checks for testing workflow action
* fix old variable in testAction mutaiton
* remove workflowId
* only allow team plan to test action
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* disable sms actions for users without team
* add isTeamsPlan query
* disable SMS action if user is not in a team
* remove console log
* disable SMS actions also in AddActionDialog
* throw error is users wants to add sms or edit to sms action
* code clean up
* Get actions options from backend. cleanup
* Typefix
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Initial incomplete (but mostly functional) push of date override functions
* Fixed date shifting on load
* Bring back minDate (automatically disable all dates before current date)
* Fix type error
* Supply working hours to render available dates
* Converted to SSR
* moving defaultValues to the backend
* Improv. as filter can be achieved within the reduce
Co-authored-by: Omar López <zomars@me.com>
* Double inversion -> single, as it is an early return
* uniq() exit - not needed anymore
* Typefixes
* It's overriding dates :D
* Fixed duplication DateOverrides in list
* Implemented changing the month
* Make dateOverrides an optional param
* Fixed test (which requires dateOverrides due to auto-typing)
* Prevent a full update on set as default from list view
* Added some extra keys to keep ts happy
* Only allow a single date override per date
* Disallow editing excludedDates to the same date
* Bring back duplicate key ?.?
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>
* don't use alphanumeric sender ID for not support country codes
* fix import
* rename file
* fix spelling mistakes
* add twilio phone number to .env file
* add SENDER_ID to env variable and create function to get sender id
* add NEXT_PUBLIC_SENDER_ID env variable
* remove not needed Cal fallback
* fix readme
* code clean up
* code clean up
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* Add new modal for duplicate and trpc action for it
* Adding event type duplication validations
* Fix type errors and id not being removed from rest obj
* Fix test for duplicating event
* Fix test for duplicating event
* Add connect to event type workflows
* fix button for adding new events
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Abstract app category navigation
* Send key schema to frontend
Co-authored-by: Omar López <zomars@users.noreply.github.com>
* Render keys for apps on admin
* Add enabled col for apps
* Save app keys to DB
* Add checks for admin role
* Abstract setup components
* Add AdminAppsList to setup wizard
* Migrate to v10 tRPC
* Default hide keys
* Display enabled apps
* Merge branch 'main' into admin-apps-ui
* Toggle calendars
* WIP
* Add params and include AppCategoryNavigation
* Refactor getEnabledApps
* Add warning for disabling apps
* Fallback to cal video when a video app is disabled
* WIP send disabled email
* Send email to all users of event types with payment app
* Disable Stripe when app is disabled
* Disable apps in event types
* Send email to users on disabled apps
* Send email based on what app was disabled
* WIP type fix
* Disable navigation to apps list if already setup
* UI import fixes
* Waits for session data before redirecting
* Updates admin seeded password
To comply with admin password requirements
* Update yarn.lock
* Flex fixes
* Adds admin middleware
* Clean up
* WIP
* WIP
* NTS
* Add dirName to app metadata
* Upsert app if not in db
* Upsert app if not in db
* Add dirName to app metadata
* Add keys to app packages w/ keys
* Merge with main
* Toggle show keys & on enable
* Fix empty keys
* Fix lark calendar metadata
* Fix some type errors
* Fix Lark metadata & check for category when upserting
* More type fixes
* Fix types & add keys to google cal
* WIP
* WIP
* WIP
* More type fixes
* Fix type errors
* Fix type errors
* More type fixes
* More type fixes
* More type fixes
* Feedback
* Fixes default value
* Feedback
* Migrate credential invalid col default value "false"
* Upsert app on saving keys
* Clean up
* Validate app keys on frontend
* Add nonempty to app keys schemas
* Add web3
* Listlocale filter on categories / category
* Grab app metadata via category or categories
* Show empty screen if no apps are enabled
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Fix type checks
* Replace .nonempty() w/ .min(1)
* Fix type error
* Address feedback
* Added migration to keep current apps enabled
* Update apps.tsx
* Fix bug
* Add keys schema to Plausible app
* Add appKeysSchema to zod.ts template
* Update AdminAppsList.tsx
Co-authored-by: Omar López <zomars@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Removes user plan logic for stripe sub
* Update hardcoded price
* Removed checkoutSessionId metadata and fix for trpc query
* Remove or comment team billing unused code
* Add todo note
* Fix type checks
* Change function that was renamed
* Remove duplicated test
* remove plan when creating user on test
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Upgrade deps + allow node 18.x
* Upgraded next-auth to v4.17
* Latest known to work version of next-auth
* Make next-auth.d.ts compatible with next-auth@v4.17.0
* Type fixes
Co-authored-by: Peer Richelsen <peeroke@gmail.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>
* add sender id
* add sender to twilio from
* added missing sender
* add migration
* fix design of add action dialog
* add cal as sender when creating new workflow
* fix type errors
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.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>
* feat: return data fromsetupDefaultSchedule
* feat: update returned data of "schedule.update" resolver as same as "schedule" query resolver.
* feat: set query data from updated results and invalidate prev default availability if it's changed.
* chore: add comments
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add Choose common schedule togglee
* Fix types
* Add translations
* Improve variable name
* Move setting to config so that all such lightweight boolean settings can exist here
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix issue when updating workflow
* make SMS actions pro feature
* Improved clean up on inline functions
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
* fix wrong unauthorized error when no userId and teamId
* use find instead of filter
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.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 phone number required checkbox
* make input required only if numberRequired is true
* fix error that smsReminderNumber is null
* code clean up
* fix typo
* save no input as null
* fix code change
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* 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>
* security fix to not add even-types from other users
* throw unauthroized error if a step does not belong to workflow
Co-authored-by: CarinaWolli <wollencarina@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>
* added badge for unconfirmed bookings
* added link to unconfirmed bookings
* added rounded prop to badge, added unconfirmed badge to botto nav
* Supporting recurring events + bug fix
* Tooltip and hover style
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* add after event ends workflow trigger to enum
* add after meetings ends trigger
* fix label for time span
* add deleted label for message template
* add lost changes from merge conflict
* set reminder for already existing bookings
* fix label 'How long before event starts/ends'
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* Add try/catch on workflows while confirming a booking
* Revert "added ?tabName=setup to event-type detail link to give it active status (#4830)"
This reverts commit 11c44db609.
Co-authored-by: Omar López <zomars@me.com>
* revert me later
* let's see if this builds
* fix dupe proc
* fix: v10 works
* fix type error
* fix type error
* fix type errors
* fix more
* add example procedure
* spreading not needed
* Update yarn.lock
* Revert "revert me later"
This reverts commit 0c8c15d057.
Co-authored-by: Chris Bautista <chrisbautista@netflix.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Revamped Schedule before type fixes
* Removed t('copy_all'); fake focus state on CopyButton open
* Added skeletons, availability single view (wip, still a bit glitchy)
* Fixed isDefault switch glitchiness
* Fixes changing the default schedule to the created schedule
* Fix some type errors, on create set availability to DEFAULT_SCHEDULE
* Provided missing translation for copy_times_to
* Fix type errors, this may not be possible until v8 RHF
* Fix lint error
* Some responsiveness fixes
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
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] New design and components for onboarding page
* saving work in progress
* new fonts
* [WIP] new onboarding page, initial page, components
* WIP calendar connect
* WIP availability new design
* WIP onboarding page
* WIP onboarding, working new availability form
* WIP AvailabilitySchedule componente v2
* WIP availability with defaultSchedule
* User profile view
* Relocate new onboarding/getting-started page components
* Steps test for onboarding v2
* Remove logs and unused code
* remove any as types
* Adding translations
* Fixes translation text and css for step 4
* Deprecation note for old-getting-started
* Added defaul events and refetch user query when finishing getting-started
* Fix button text translation
* Undo schedule v1 changes
* Fix calendar switches state
* Add cookie to save return-to when connecting calendar
* Change useTranslation for useLocale instead
* Change test to work with data-testid instead of hardcoded plain text due to translation
* Fix skeleton containers for calendars
* Style fixes
* fix styles to match v2
* Fix styles and props types to match v2 design
* Bugfix/router and console errors (#4206)
* The loading={boolean} parameter is required, so this must be <Button />
* Fixes duplicate key error
* Use zod and router.query.step directly to power state machine
* use ul>li & divide for borders
* Update apps/web/components/getting-started/steps-views/ConnectCalendars.tsx
Co-authored-by: alannnc <alannnc@gmail.com>
* Linting
* Deprecation notices and type fixes
* Update CreateEventsOnCalendarSelect.tsx
* Type fixes
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: zomars <zomars@me.com>
* Fix breadcrumb colors
* HorizontalTabs
* Team List Item WIP
* Horizontal Tabs
* Cards
* Remove team list item WIP
* Login Page
* Add welcome back i118n
* EventType page work
* Update EventType Icons
* WIP Availability
* Horizontal Tab Work
* Add build command for in root
* Update build DIr/command
* Add Edit Button + change buttons to v2
* Availablitiy page
* Fix IPAD
* Make mobile look a little nicer
* WIP bookingshell
* Remove list items from breaking build
* Mian bulk of Booking Page.
* Few updates to components
* Fix chormatic feedback
* Fix banner
* Fix Empty Screen
* Text area + embded window fixes
* Semi fix avatar
* Troubleshoot container + Active on count
* Improve mobile
* NITS
* Fix padding on input
* Fix icons
* Starting to move event types settings to tabs
* Begin migration to single page form
* Single page tabs
* Limits Page
* Advanced tab
* Add RHF to dependancies
* Most of advanced tab
* Solved RHF mismtach
* Build fixes
* RHF conditionals fixes
* Improved legibility
* Major refactor/organisation into optional V2 UI
* Portal EditLocationModal
* Fix dialoug form
* Update imports
* Auto Animate + custom inputs WIP
* Custom Inputs
* WIP Apps
* Fixing stories imports
* Stripe app
* Remove duplicate dialog
* Remove duplicate dialog
* add Test action button + UI improvements
* add test action functionality
* Fix embed URL
* Fix app toggles + number of active apps
* Fix container padding on disabledBorder prop
* Removes strict
* add confirmation dialog before sending SMS
* code clean up
* show error message if test action fails
* disable test action button in edit mode
* fixes SMS testing
* use updated values
* fix wrongly updated data in useEffect
* fix typo
* code clean up
* EventType Team page WIP
* Fix embed
* NIT
* Add Darkmode gray color
* V2 Shell WIP
* setup folders for v2
* add lost translations from merge
* add all files to v2 + redesign /workflows
* use custom template as default template
* add first version of v2 for workflow editing page
* Fix headings on shell V2
* Fix mobile layout with V2 shell
* V2 create event type button
* Checked Team Select
* Hidden to happen on save - not on toggle
* Team Attendee Select animation
* Fix scheduling type and remove multi select label
* Fix overflow on teams url
* use fi icon for down arrow
* add v2 shell
* add trigger badge
* Even Type move order handles
* fix save button
* enable editing of workflow name
* improve delete workflow functionality
* adjust empty screen
* make trigger start with uppercase
* change trash icon
* Fix Embed TS errors
* Fix TS errors
* Fix Eslint errors
* Fix TS errors for UI
* Fix ESLINT error
* create component for time and timeUnit input/dropdown
* add workflows to v2 early access middleware
* fix type issues
* added SidebarCard for promo to v2 and storybook (#3906)
Co-authored-by: Julian Benegas <julianbenegas99@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Tooltip Provider - Wrapper due to dep upgrade
* public event type list darkmode
* V2 Color changes to public booking
* adjust delete and edit button
* create custom empty screen for worklows
* add workflow examples to empty page
* add loading state to button when creating first workflow
* Show action as workflow name when no name exists
* if no input leave name empty when updating workflow
* use reminder template when creating workflow
* improve time unit dropdown
* Remove unused component
* Fix typecheck
* add loading state to new workflow button
* add label before action dropdown
* fixing badges in worflow list
* use lighter color for untitled workflows
* fix not showing nr of active eventtypes in workflow list
* add workflows to event types
* implement v2 desing for AddActionDialog
* improve phone input
* rounded borders for phoneInput in add action dialog
* improve message input
* fix mobile view for editing page
* use md breakpoint for mobile view
* finish workflows in event type settings
* code cleanup
* code cleanup
* fix bug in testing workflow action
* add v2 design for addition inputs as variables dialog
* add V2 design for add variable dropdown
* add notification icons to trigger badge
* improve mobile version of workflows in eventtypes
* remove ring from time before input
* fix bug when workflow has no steps
* Final UI improvements/fixes
* code clean-up
* code clean-up
* code clean-up
* use v2 design for license required
* fix translation issues
* fix adding variables in different language in old design
* limit for pro users only for now
* fix import
* fix mobile view for empty screen
* ues destructive button color for deleting workfow
* remove padding at button of creation dialog
* V2 Settings - Security View (#4018)
* Create change password screen
* Add two factor auth screen
* Add two factor auth screen
* Remove header file
* Updates middleware and rewrites
* Adds Meta component to handle layout headings/metadata (#4021)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* fix: rate limit auth (#3820)
* fix: rate limit auth
* fix: replace lru-cache w memory-cache
* remove comments
* fix: yarn.lock
* fix: remove changes yarn lock
* fix: add missing EOL empty liune
* fix: move rate limiter so it kicks the last, limit to 10 tries per minute
* fix: move limiter w rest of code
* test: trying fix onboardong
* fix: undo changes in globalSetup.ts
* test: fix disable login for onboarding
* fix: use username instead of email for token check
* fix: tests
* fix: don't run on test
* fix: add missing comma
* fix: remove uniqueTokenPerInterval
* fix: add errorcode to packages lib auth
* Update packages/lib/rateLimit.ts
fix: improve readability
Co-authored-by: Omar López <zomars@me.com>
* Update packages/lib/rateLimit.ts
fix: no unnecessary any
Co-authored-by: Omar López <zomars@me.com>
* Update packages/lib/rateLimit.ts
fix: improve readability
Co-authored-by: Omar López <zomars@me.com>
* fix: rename interval -> intervalInMs
* fix: check user.email not username which could be empty
* fix: rateLimit update all naming
Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Adds deprecation comments
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Julian Benegas <julianbenegas99@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
* 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>
* 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>
* -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>
* check if workflow is deleted before deleting reminders
* disable continue button when mutation is loading
* check if new active event types belong to user
* fix issue with onCascade deletion
* Simplified ANDs
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Same-day schedules created invalid workingHours
* Uncomment logger
* Previous version did not properly substract the days
Co-authored-by: Leo Giovanetti <hello@leog.me>
* use correct booking
* delete calendar event and update booking reference
* use middleware to get booking
* updating event instad of deleting and creating a new one
* fix issue with google hangout link
* remove unsed imports
* Apply suggestions from code review
* Update bookings.tsx
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Omar López <zomars@me.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: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* 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
* add dropdown for adding dynamic variables to string
* use lighter text colour for disabled button
* change textarea for email subject to one row only
* add function to create custom template with dynamic variables
* add location to dynamic variables
* add missing locations to custom template
* add variables at cursor position
* remove second curly brakets from variables
* code cleanup
* fix names for attendee and organizer
* enable internationaliztion for custom reminders
* disabled add workflow button when mutation is loading
* fix translation keys
* internationalize dates
* code clean up
* add translation for email subject
* skip translation for english
* remove language from BookingInfo type
* add additional notes as variable
* add custom inputs as variables
* add information for custom inputs
* add translation
* Add formated variables in additional input information
* fix type errors
* code clean up
* Update AddVariablesDropdown.tsx
* Update variableTranslations.ts
* Update variableTranslations.ts
* Formatting
* Update [workflow].tsx
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>
* fix: remove duplicate button in textusernamefield
* feat: adds username if not present in getting-started first onboarding step
* fix: credentials
* fix: typo
* fix: user type
* fix: type errors
* Validates successRedirectUrl earlier with zod
* Removes deprecated api endpoint
* Reduces the data needed for the frontend on onboarding
Co-authored-by: Agusti Fernandez Pardo <git@agusti.me>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <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>