* added new .env for script tags
* Update turbo.json
* removed meticulous
* added body script .env
* nit
* fixed injection
* Update apps/web/app/layout.tsx
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Ensure NEXT_PUBLIC_BODY_SCRIPTS is casted to bool
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Rename .env variables
* Remove instances of old variable names
* Add credential sync secret to request for new token
* Update invalid secret message
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* Add profile table
Copy to profile table
Update schema
Migrations
* wip
* Get switcher working
* Add organization seeder
* wip
* Remove dead code
* Fix unit tests
* relevantProfile -> profile
* cache bust
* One more comment
* Squash migrations
* Copy to profile table
* Update schema
* Fix existing user invite flow
* Add profile table
* Copy to profile table
* Update schema
* Format
* Add profile table
Copy to profile table
Update schema
Migrations
* Format
* wip
Get switcher working
Add organization seeder
wip
Remove dead code
Fix unit tests
relevantProfile -> profile
cache bust
One more comment
Squash migrations
Copy to profile table
Update schema
Fix existing user invite flow
Add profile table
Copy to profile table
Update schema
chore: small improvements to signup (#13227)
* removed features on mobile, better background color
* nit
* dark mode nits
New Crowdin translations by Github Action
fix: event reschedule workflow trigger (#13122)
* fix event reschedule workflow trigger
* uncomment previously failed test
* review fix
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
chore: added community support to help (#13213)
refactor: Abstract `handleSeats` from `handleNewBooking` (#12062)
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Erik <erik@erosemberg.com>
fix: Dynamic group booking org-migration redirect (#13223)
* fix: Dynamic group booking redirect
* Fix flaky private team test
test: Check availability tab and all your functions (teste2e-availability) (#12434)
* add changes
* add changes
* add changes
* add changes
* Requested changes
* Change way to grab element
---------
Co-authored-by: gitstart-calcom <gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
fix: Reschedule a cancelled booking (#13170)
* fix: Reschedule a cancelled booking
* canceled instead of cancelled
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
v3.7.0
test: In Team Event type when location is Organizer Default App and U… (#12939)
* test: In Team Event type when location is Organizer Default App and User Metadata is emoty
* chore: use variable
* fix: type error
test: add test for invalid cal video (#13103)
* test: add test for invalid cal video
* chore: add confirm
* chore: fix type error
* chore: update code
* test: add unit test
* chore: type error
* chore
* chore: type
* chore: fix test
* chore
---------
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
chore: add error message for no availability (#13230)
* chore: add error message for no default user availability
* chore: check only availability
* chore: change message
* chore: add eventType
fix: Team revert with members (#13228)
refactor: Refactor seats logic (#12905)
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
* Move handleSeats
* Abstract lastAttendeeDeleteBooking
* Create function for rescheduling seated events
* Fix imports on reschedule seats function
* Fix imports
* Import handleSeats function
* Fix rescheduleUid type
* Refactor owner reschedule to new time slot
* Refactor combine two booking times together
* Reschedule as an attendee
* Refactor createNewSeat
* Remove old handleSeats
* Remove lastAttendeeDeleteBooking from handleNewBooking
* Test for new attendee right params are passed
* Unit test params for reschedule
* Typo fix
* Clean up
* Create new seat test
* Test when attendee already signs up for booking
* Type fix
* Test reschedule move attendee to existing booking
* On reschedule create new booking
* Test on last attendee cancel booking
* Owner reschedule to new time slot
* Owner rescheduling, merge two bookings together
* Test: when merging more than available seats, then fail
* Test: fail when event is full
* Remove duplicate E2E tests
* Clean up
* Rename `addVideoCallDataToEvt` to `addVideoCallDataToEvent`
* Refactor `calcAppsStatus`
* Assign `evt` to resutl of `addVideoCallDataToEvent`
* Use prisma.transaction when moving attendees
* Clean create seat call
* Use ErrorCode enum
* Use attendeeRescheduledSeatedBooking function
* Await function
* Prevent double triggering of workflows
* Use inviteeToAdd in createNewSeat
* Remove unused error code
* Remove old handleSeats file
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Erik <erik@erosemberg.com>
feat: Allow admins to filter bookings only by attendee emails (#13236)
* chore: Allow admins to filter bookings only by attendee emails
* Fix type error
Fixed [CAL-2930] Org branding isnt centered in shell #13225 (#13237)
Add profile table
Copy to profile table
Update schema
Migrations
Format
* wip
* Add profile relation everywhere
* Fix schema
* Fix invite handler
* Add profileId during eventTypec reation
* Get dashboard working with profile relatioon
* Add workflow create repository
* Add profileId to host
* Add profileId to credential table
* Add destinationCalendar repository
* Add profileId to membership
* Revert all profile related changes
* Add acme and dunder
* Fix membership profileId usgae
* Various fixes
* Some renaming
* Fix failing tests
* Debugging next-aut
* Consolidate migrations
* Testing fixes
* Fix unit tests
* Self review feedback
* PR feedback
* Fix orgMigration as well
* Add profile schema and copy users to it
* Remove migrations from here
* Fix type issues
* Fix type error after main merge
* Remove movedFromUserId
* Add missing migration file
* Self review addressed
* Joe's review addressed
* Fix profile switcher
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* feat: Disallow next month prefetching in booker
* renamed to include NEXT_PUBLIC
* fixed boolean expression
* Now using a variable length of days to load
* Type fixes
* Now opening all dates to be clickable
* Added turbo.json var and updated example env
* Fixed issue with selectedDate being null when first loading the page
* Updated description of variable
* Made constant for the booking days
* Type fix
* Setting the days to load for weekly view to 7
* feat: add ui and ability to fetch more on click
* feat: add ui and ability to fetch more on click
* fix: loader
* fix: banner detection
* Update packages/features/bookings/Booker/Booker.tsx
* fix: types
* Not showing HavingTroubleFindingTime component when the schedule is loading
* Only enabled on monthly view
* Correctly load initial date
* Type fix
* Fixed bugs around triggering multiple requests
* Added case for when there is no selectedDate but the month has been specified
* Types
* More types
* Check for undefined
* More typing
* More typing
---------
Co-authored-by: sean-brydon <sean@cal.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* feat: integrate formbricks in help feedback box
* Update yarn.lock
* Update yarn.lock
* fix: use formbricks/api@v1.1 & set user with userId linked to feedback
* fix: use separate env vars as suggested
* test: Add more orgs tests (#12241)
* feat: integrate formbricks in help feedback box
* Update yarn.lock
* fix: yarn lockfile
* fix: yarn lockfile again
* feat: link cal and formbricks user.id and add attributes of email and username to formbricks person object
* Update yarn.lock
* Update yarn.lock
* fix: type safety in enums
---------
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* add workflows to bookingScenario
* activate sandbox mode for unit/integreation tests
* add sendgrid specific code to SendgridProvider
* Refactor WIP
* remove duplicate sendgridProvider file
* first implementation for testing workflows
* revert unintended changes
* comment out Workflow trigger tests
* move sendgrid check after test mode
* Update signup.tsx
* fix esLint
* test webhooks on all tests in fresh-booking.test.ts
* fix subjectPattern as title can be different
* add workflow tests to reschedule.test.ts
* code clean up
* code clean up
* fix sendgrid credentials missing message
* code clean up
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
## What does this PR do?
- Adds AB tests middleware that redirects users to the app-dir pages with probability that is defined by env var
<!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. -->
Fixes # (issue)
<!-- Please provide a loom video for visual changes to speed up reviews
Loom Video: https://www.loom.com/
-->
## Requirement/Documentation
<!-- Please provide all documents that are important to understand the reason of that PR. -->
This PR requires new env variables:
`APP_ROUTER_EVENT_TYPES_ENABLED` - boolean that defines if app dir event-types page redirect is enabled
`AB_TEST_BUCKET_PROBABILITY` - number [0, 100] that defines the percentage of users getting redirected to the app dir pages
## Type of change
<!-- Please delete bullets that are not relevant. -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] Chore (refactoring code, technical debt, workflow improvements)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update
## How should this be tested?
<!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. Write details that help to start the tests -->
Does not requires testing, implements middleware as a dead code
## Mandatory Tasks
- [x] Make sure you have self-reviewed the code. A decent size PR without self-review might be rejected.
* bump nextjs version in ai
* lowercase username and email
* onboarding email
* direct user to install app if not installed
* multiple suggested times for link flow
* summary of context prompt engineering
* specify the @username nuance and discourage Ids
* v1.2.0
* Update README
* Change title
* simplify and improve booking link flow
* add build:ai to package.json
* better onboarding copy
* onboarding touches
* remove console logs and temp hacks
* remove env vars in app store and token in AI app
* invited user id should be string
---------
Co-authored-by: tedspare <ted.spare@gmail.com>
* feat: autolink org on provider signup
* Adding env var in example
* slugifying inferred org username
* Updated org README
* Optional env var for autolinking added to readme
* Typo
* md syntax correction
* Verifying user when autolinked
* Also verifying users invited to org
* Applying feedback
* Scoping to Google for now
* Updating comment
* Updating readme with Google scoping
* feat: installing the app works
* Update yarn.lock
* feat: /api/callback now gets user auth info from basecamp
* feat: updated basecamp logo
* feat: added project dropdown on event apps page
* feat: basecamp event creation and deletion working
* feat: basecamp event rescheduling now works
* refactor(CalendarService): basecamp CaldendarService code clean up
* refactor: code cleanup for basecamp app API
* feat: updated event summary text sent to basecamp
* chore: updated basecamp images and contact info
* fix: fixed typescript errors and added logic to refresh tokens on event settings
* refactor(CaldendarService): used refreshAccessToken from helpers.ts instead
* chore: updated basecamp description
* fix: fixed incorrect import
* fix: accidentally deleted props to toggle app for event
* chore: updated .env.appStore.example and added README for app
* Update .env.appStore.example
Co-authored-by: Leo Giovanetti <hello@leog.me>
* feat: added basecamp userAgent in env instead of hardcoded value
* feat: updated README to include how to set basecamp user agent env
* fix: removed unused import
* feat: used URLSearchParams to construct url params
* fix: fixed typescript errors
* chore: updated README to include an example on how to set basecamp user-agent
* feat: using TRPC instead of REST
* chore: removed old projects REST code
---------
Co-authored-by: Leo Giovanetti <hello@leog.me>