* 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>
* Guests will be able to add their own location or in person meetings
* fix type error
* fixed issue with attendees location not showing on success page
* google meet booking will now go through, removed unnecessary change
* filter out attendee address when editing location
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>
* storybook v2 init
* Merge config into storybook vite build
* Remove path
* Storybook config tweaks
* Added styles and settings for storybook v2, and started working on button documentation and examples.
* Badges + flex wrap on mobile
* Breadcrumbs+button+avatar
* Checkbox
* Input + moving files around
* WIP table
* WIP table grid
* Replaced imports for new components.
* Added first steps for varianttable.
* Small alignment fix.
* Custom Args Table - With scrollbar
* Adding table to components that need it + darkmode
* Add intro
* Fix types
* Remove V1 storybook and replace with V2
* Fix badge type error
* Fixed storybook dependencies
* Added cover image to storybook
* Remove vita from ts config, we dont use vite.
* Fixed button import.
* Explained postcss pseudo plugin.
* Fixed badge import.
* Add Avatar Stories
* ButtonGroup Stories
* Fixed imports
* Add checkbox stories
* Add exports for differnt types of inputs
* Fix form and text area input
* Fix mass import errors
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
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
* Check for working hours + rename isAvailable
* Return did not make it all the way back to callee
* Removed redundant break clause
* Fixes forEach return
* 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>
* 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>
* If due to some reason avatar URL is same as route, avoid infinite redirection by serving default
* Fix avatar reverting issue
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.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
* Add try-catch and validation to run triggers on reschedule
* Update packages/features/bookings/lib/handleNewBooking.ts
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* 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>
* Structural fix to recurring times
* Remove conversion regression
* Revert current time -> startTime based utcOffset
* Fixing remaining events count
* Using user's preference for recurring tooltip
* Missing refactor
* Showing better datetime in booking page
Added an extra seeded example for recurring
Co-authored-by: Leo Giovanetti <hello@leog.me>
* 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>
* added ga4 google analytics
* added ga4 script as TODO
* get analytics app working
* Remove stale comment
* Fix types
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Abstracting booking cancellation
* Tweaking to use id and not uid
* Standardizing http errors
* Moving schema to prisma zod-utils
* Update apps/web/pages/api/cancel.ts
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Cancel only for delete and post verbs
* Make cancellation work with uid, and id
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* feat: make left and right button workable
* refactor: separate category tab into a seperate component
to reduce unnecessary re-rendering while scrolling through the arrow buttons.
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Embed SSG and consistently pass embedType query param across pages
* Embed fixes
* Code cleanup
* Add main class which tells embed which helps in identifying which area is outside the main content
* remove any special optimization handling for routing forms
* Add comments
* Small fixes
* Fix broken team booking page in embed
* Fix Fallback message dark theme
* TS Fixes
* Fixes
* Fix tests
* Remove not required code
Co-authored-by: Peer Richelsen <peeroke@gmail.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>
* Standardize destination calendar selector
* Move DestinationCalendarSelector to feature package
* Render integration name
* Add custom components to label and selected
* Render destinationCalendar on page load
* Change name to just Outlook
* Small fixes
* Merge branch 'main' into hotfix/install-calendar-overflow
* Merge branch 'main' into hotfix/install-calendar-overflow
* Fix type errors
* Fix type errors
* Update apps/web/pages/settings/my-account/calendars.tsx
* More type fixes
Co-authored-by: Omar López <zomars@me.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 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>
* Hotfix: metadata parsing
* Dont remove loader as theme switching can still occur in plain sight :(
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* add: auto complete for slug
* Remove useStates not required for feature
* remove: states logic
* Using touched validation from react-hook-form
* Fix size of width for steps indicador
* Apply same changes for react-hook-form touched from createNewTeam
Co-authored-by: root <root@pop-os.localdomain>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
* wip added QR code app, needs settings
* added QR code settings, needs eventType.URL
* Make URL prop available to apps
* Add recurringEvent in available. It was missing earlier
* added autoAnimate to AppSettings
* Remove isSunrise demo prop
* Simplify schema even more
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* added weather in calendar wrapper
* added textfield to weather app, needs GeneralSettings abstraction
* add automation cateogry for n8n and zapier
* fix border radius for seperated apps
* create app specific settings in installed apps
* Fixed design issues caused by app settings
* add first version of template cards with logos
* Add link to zapier template
* Add missing translations
* fix mobile view
* better readable app description in mobile view
* code clean up
* fix issue that lisItem was always expanded
* code clean up
* code clean up
* fix import
* fix typo
* code clean up
* Add AppStore General Settings support
* add missing alt to img
* use FiShare2 icon instead of FiZap
* Remove duplicate entries
* Add border to AppSettings consistently
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* add automation cateogry for n8n and zapier
* fix border radius for seperated apps
* create app specific settings in installed apps
* Fixed design issues caused by app settings
* add first version of template cards with logos
* Add link to zapier template
* Add missing translations
* fix mobile view
* better readable app description in mobile view
* code clean up
* fix issue that lisItem was always expanded
* code clean up
* code clean up
* fix import
* fix typo
* code clean up
* add missing alt to img
* use FiShare2 icon instead of FiZap
* Remove duplicate entries
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@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>
* Add back auto-scroll fix with proper check of visibilith
* Do improvement in CLS and dont show "Loading" text
* Improve experience with routing forms embed
Co-authored-by: Alex van Andel <me@alexvanandel.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>
* try/catch on createMeeting zoom
* add handle response body from zoom
* db invalid credential flag
* Update VideoApiAdapter.ts
* Added notes and try/catches
* Remove double response error validation
* Fallback to calvideo
* Fix types for credentials
* Add nullable to invalid field from credential table
* Fix calendar service credential creation with bad type
* revert db migration invalid on credential table
* Revert "Fix types for credentials"
This reverts commit 1623305aea.
* Revert "Fix calendar service credential creation with bad type"
This reverts commit 3fd3b08f2e.
* Remove migration
* Fix for property name for api key on dailyvideo
* remove unused prop from credential
* Revert "Fix for property name for api key on dailyvideo"
This reverts commit 32976934e0.
* Tests fixes
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.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>
* feat: update forms procedure to match getServerSideProps
* feat: init react query and use prefetched data
* feat: invalidate onSettled while creating a form
* feat: use optimistic updates when deleting
* fix: add optional chaining
* feat: add server-side translation
* feat: add correct translation key
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* nit
* added timezoneChangeDialog
* prevent interactOutside
* nit
* fixed title prop clash
* nit
* remind in one day if clicked outside
* Use utcOffset instead of tz string for checking diff
Co-authored-by: Alex van Andel <me@alexvanandel.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>
* Display error if trpc query failed, catch error on getting calendar and cleanup to don't leak credentials to client
* Add calendar connection broke error
* Edit style on alert and disconnecting button
* Ts errors and added translation
* Type fix
* Key and text change for broken calendar connection
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* #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>
* 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>
* replace all underscores for variable translations
* use g instead of replaceAll
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
* fixed back button, fixed app store detail on mobile
* fixed settings padding and go back button
* Update packages/ui/v2/core/Shell.tsx
* Update packages/ui/v2/core/navigation/tabs/VerticalTabItem.tsx
* Hide nav on subpages based on backPath. Add backPath where it was missing
* Fix heading not showing on mobile
Co-authored-by: Peer Richelsen <peeroke@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>
* Old teams page in v2
* Tea nav item fix
* Team creation modal converted to v2
* Updated emptyscreen and shell button
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: spacing issue in externalRedirectUrl text input
* fix: remove unnecessary margin from appcard
* fix: center align switch
* fix: alignment in widget text field
* Update packages/app-store/ee/routing_forms/pages/route-builder/[...appPages].tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* First commit
* Additional changes to meet designs
* Fixing app details disconnect button
App Store category filtering fixed
* Further changes for the fix
* Progress on various fronts
* Fixing e2e tests
* second try fixing e2e tests
* Yet again trying to fix e2e tests
* Missing action for non-credential flow
* Adding missing Add button
* Final tweaks and fixes
* Missing button in empty screen
* fix border radius
* EmptyScreen for calendar
* Dynamic installed app return page with highlights + other fixes
* Removing unneeded code
* App Store V2 Improvements over feat/v2-installed-apps (#4379)
* Removing unneeded text
* Fixing app details disconnect button and number of apps (#4305)
* V2 Settings Shell - Add Teams Section & UI fixes (#4347)
* Add teams to sidebar and fix UI
* Clean up
* 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)
* fixing type errors
* Mobile fixes
* Tests fixes
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: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Feat/team owner booking (#3999)
* WIP: testing queries
* feat: add badge
* fix: get only id
* refactor: get bookings query
* WIP: display attendees added
* fix: add type
* Adds skeleton loader to workflows (#4402)
* fix event types skeleton loader
* fix margin in event types
* fix skeleton loader in bookings
* add skeleton loader for workflow list
* add skeleton loader for editing page
* fix border radius of skeleton loader
* fix mobile view workflow list
* add mobile view for skeleton list
* make multi select full with in mobile view
* mobile view for edit skeleton loader
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* V2 settings teams (Profil, Members, Appearance View) (#4350)
* 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>
* add rainbowkit form to v2 event-types (#4349)
Co-authored-by: Omar López <zomars@me.com>
* v1.9.5
* Fix/daterangepicker css (#4418)
* added styles from external stylesheet
* fixed a border color
* codacy improvements
* more codacy fix
* codacy why u be so dumb
* dynamic import rainbow (only if installed) (#4409)
* Tidyup app cards (#4428)
* Moving API to trpc query
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.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: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: hexcowboy <accounts@cowboy.dev>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Abstracting one level the redirectUrl for apps
* Moving enum to a better/working place
* Another try
* Missing code
* Correcting categories look in apps page
* ui tweaks
* Breadcrumb wrong font-weight
* Toast is v1 component and copy updated
* Fix TS error
* Fix TS error
* Update AppsLayout.tsx
* Update InstalledAppsLayout.tsx
* translations and disconnect button with icon
* Reverting file
* Test e2e fix on app-store
* Missing testid in button
* Fix to click categories that are visible
* Going directly to category page as a patch
* Fixing stripe e2e test
* Disconnect is now empty with icon
* Disabled stripe test for now as the navigation is completely changed
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.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: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: hexcowboy <accounts@cowboy.dev>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Comment userv2Banner
* Fixed wipemycal test
* Fixed 'Delete my account' and WipeMyCal tests
* Fixed at least one test, need stripe for others.
* Disable embed tests for now
* Fixed console error due to illegal setState
* Hopefully fixed change-password functionality
* Partially implement new team flow
* Fix Change password test by setting a password with both capital and small letters
* recurring event text fix
* Fixed hash-my-url test
* Fixed event-types tests, done?
* fixing event type edit first event e2e
* Temp disable
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* 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>
* fixes design issues in empty screen for worklfows
* fix font weight and add new text for examples
Co-authored-by: CarinaWolli <wollencarina@gmail.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>
* fix event types skeleton loader
* fix margin in event types
* fix skeleton loader in bookings
* add skeleton loader for workflow list
* add skeleton loader for editing page
* fix border radius of skeleton loader
* fix mobile view workflow list
* add mobile view for skeleton list
* make multi select full with in mobile view
* mobile view for edit skeleton loader
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* --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>
* made /booking more responsive friendly
* hiding headline and description on mobile, moving CTA to bottom right fixed on mobile
* more padding on full screen mode on iPhone
* nit fixes to wipemycal
* nit fixes to wipemycal
* lint fix
* Update apps/web/styles/globals.css
Massive nit, lol.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Replace AdminLayout with SettingsLayout
* Revert "Replace AdminLayout with SettingsLayout"
This reverts commit cc30ddcb6a.
* Revert to changes
* Add back changes
* Few nits + translate language to each local language
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* added new combined buttons on all pages
* fixed required label in routing forms
* i18n for routing forms, minor changes to mobile routing forms action items
* full width for routing forms descriptin on mobile
* i18n fixes
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* added n8n app to app store, gave padding to sticky app store header
* nit
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* added /more page for mobile
* i18n
* Navigation improvements
* Reverting unused exports
* Improved performance for getting mobile/desktop items
* I take your forEach and up it with reduce
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alan <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.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: use json.parse to get id
* fix: type error
* fix: add zod parse
* chore: remove type
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* next-env.d.ts should be generated as part of next build
* Removed next-env.d.ts from storybook
* Remove barrel imports from '@calcom/ui/v2/...' content
* Remove tabs barrel
* Further changes as the barrel for tabs is removed
* added new VerticalDivider, using it in Event-types
* fixed event-type app store empty screen padding and workflows padding
* centered emtpyscreen description
* made empty screen button secondary on app store
* fixed hide from profile on mobile
* squared dropdown on event-types
* Teams + /book
* Consitant hoverstate across event-type cards
* Fix darkmode hover on book a team member
* Fix mobile wrapping
* Fix mobile looking awful with long links
* Fix storybook
* Fix SB
* Phone Input darkmode
* Location radio styles darkmode
* Off Topic: NIT add disable guests
* Update highlights on /book and [user]/[type]
* Fix preview URL
* Fix hover state
* Fix spacing for locations
* Add duplicate form support
* Fix duplication logic
* Change to feathericons everywhere and other fixes
* Dont allow routes for fallback route
* Fix banner
* Fix Empty Screen
* Text area + embded window fixes
* Semi fix avatar
* Fix all TS issues
* Fix tests
* Troubleshoot container + Active on count
* Support routing using query params
* Improve mobile
* NITS
* Fix padding on input
* Support multiselect in router endpoint
* Fix the issue where app goes in embed mode after viewing embed once
* Fix icons
* Add router url tests
* Add Responses download and form toggling tests
* Add required validation test
* Change Icons everywhere
* App typeform app
* Improvements in cli
* 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
* Add typeform how-to-use page
* Add typeform how-to-use page and screenshots
* Most of advanced tab
* Solved RHF mismtach
* Build fixes
* RHF conditionals fixes
* Improved legibility
* Fix TS error
* Add missing image
* Update CliApp.tsx
* 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
* Major locations cleanup, 10s of bug fixes and app-store improvements
* Fix missing pieces
* More fixes
* Fix embed URL
* Fix app toggles + number of active apps
* Fix container padding on disabledBorder prop
* Removes strict
* more fixes
* EventType Team page WIP
* Fix embed
* Use new Shell
* NIT
* Add Darkmode gray color
* V2 Shell WIP
* 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
* Get form-edit page working
* Get route-builder page working
* Fix scheduling type and remove multi select label
* Fix overflow on teams url
* Get UI as per designs for form-edit
* Make route-builder upto date with design
* Add no responses banner
* Update forms list as per designs
* Button shouldnt decide where it would be positioned, users of it might have different requirements
* A single select box in a row(when no other select boxes are present) wasnt taking the correct width in comparison to when it had other select boxes
* Small missing pieces
* Revert console
* Revert api
* Fixes
* Fix Embed TS errors
* Fix TS errors
* Fix Eslint errors
* Fix TS errors for UI
* Fix ESLINT error
* Fix TS errors
* Add missing import
* Fix CLI
* Add a default placeholder
* Remove hardcoded daily:integrations
* Fix message for payment page
* Revert api and console to main
* Update README
* Fix TS errors
* Fix Lint warnings
* Fix Tests
* Streamline actions and make them easy to manage
* A much more simplified approach to implementing actions
* Fix embed
* Fix most TS errors
* Fix more TS errors
* Reduce TS errors to zero
* Fix tests
* Fix UI
* Fix UI
* Self review fixes
* TS failures caught merge issues
* Security hardening
* Use V2 Shell everywhere
* Add missing file
* Problems created by new shell fixed
* Fix Shell
* Fix Routing Form Card up and down positons
* Fix Embed and other design fixes
* Fix dropdown old event-types
* Fix type errors
* Fix allowed chek
* Fix dropdown not closing on clicking EMbed button
* Fix dropdown not closing on embed button
* Fix event-type button group layout
* Add label for switch
* Fix dropdown in mobile mode
* Remove useless comments
* Login with pro for tests
* Remove bg gray till App-Store pages are revamped
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
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>
* Apply correct padding to switch
* Make gray badges less eye catching
* Update description text color
* Tidy up setup tab
* Use V2 dialog on edit location
* use V2 select
* Menu Item component + fix menuitem
* Fix dropdown alignment
* fixes minimum notice label
* adds story for daterange picker
* imports styles from global
* adds daterangepicker type inside packages types folder
* wraps tooltip with tooltip provider
* improvements
* further fixes
* fixes NIT
* match design specs
* adds space between input and calendar
* NITs
Co-authored-by: Peer Richelsen <peeroke@gmail.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
* 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>
* changing username label placeholder to Apple ID text in apple calendar setup
* reset yarn.lock
* remove translate function for apple id label, not necessary
Co-authored-by: alannnc <alannnc@gmail.com>
* fix: add team model in prisma middleware
* refactor: move to getParsedResults function
* fix: add eventtype
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>