Commit graph

339 commits

Author SHA1 Message Date
Philipp Dormann
20d2955e68
Add Jitsi Meet Integration (#1674)
* basic integration structure

* jitsi logo

* add jitsi meet description to event settings page

* add JitsiVideoApiAdapter

ref #1445

* add LocationType.Jitsi to BookingPage

ref #1445

* add LocationType.Jitsi to event-types

ref #1445

* add meet.jit.si/cal/uuid support to BookingPage

ref #1445

* add basic "cal_provide_jitsi_meeting_url" translation strings

ref #1445

* generate meeting id

ref #1445

* implement direct jitsi link in /success page

ref #1445

* cleanup location link duplicate

ref #1445

* full JitsiVideoApiAdapter implementation

ref #1445

* check integration availability in /pages/event-types/[type]

ref #1445

* add video conferencing link as calendar event location

ref #1445

* PR feedback

* Update components/booking/pages/BookingPage.tsx

don't know - wouldn't do this myself for future proofing but fine...

Co-authored-by: Omar López <zomars@me.com>

* Update components/booking/pages/BookingPage.tsx

🤷‍♂️

Co-authored-by: Omar López <zomars@me.com>

* cleanup: props.type === "jitsi_video"

ref #1445

Co-authored-by: zomars <zomars@me.com>
2022-02-08 15:12:28 -07:00
Arthur Denner
38b41f0adb
fix: handle prefers-color-scheme correctly (#1740)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-08 19:19:33 +00:00
Bailey Pumfleet
ce3947ac4c
Fetch only CalDAV calendars via TSDav (#1727)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-02-08 14:56:49 +00:00
Jamie Pine
5567721431
Team Billing (#1552)
* added base logic for team billing

- moved Stripe customer related logic to customer.ts
- implemented unstable logic for team owner upgrading, downgrading and adding/removing seats

* logic improvements

* - improved Alert style
- hide free team members on public team page
- upgraded textarea to ui component TextArea in SAML setup
- added Alert on team settings for hidden members
- hide CreateEventTypeButton if not admin
- fixed missing locale strings in team settings

* remove random import

* - show hidden status on team list
- refactor team pill

* - improved logic (mostly functional)
- added Alerts for members & owners
- added local strings
- created upgrade modal
- added info notice on invite member modal
- fixed router redirect after leaving team

* - improved logic in team-billing
- error display on upgrade modal
- added better launch.json for VSCode debugger
- fixed bug with missing inviteeUserId

* code cleanup

* nit pick fixes i should sleep now

* fixed leave team bug
- quantity would not decrease upon leave or removal

* added stripe billing callback handler

* - better launch.json
- teams empty component

* - fixed error not removing after successful pro upgrade
- fixed silent fail on team create name conflict
- fixed input border radius on member invite modal

* updated local strings

* improved logic for edge cases, such as:
- team owned by member sponsored by another team can smoothly upgrade to pro if kicked from sponsored team
- logic to calculate if owner is specifically missing pro subscription (ownerIsMissingSeat)
- corrected calculation of members missing seats, shouldn't care for proPaidForByTeamId as that only matters for removing member and preserving pro if they pay for it themselves
- added react query devtools
- added missing locale string

* - allow type override for LinkIconButton
- consolidate filter logic for getMembersMissingSeats

* - only activate team billing for hosted cal
- fix prod price keys

* fix requiresUpgrade when not hosted by cal

* added HOSTED_CAL_FEATURES

* fixed failing build

- fixed broken import path
- added support for premium price plan. (will consider premium as a valid seat)
- remove rouge console log

* fix customer id type error

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-07 23:35:26 +00:00
Ken Miller
ae5d5e1261
Tandem Video (#1671)
* Tandem Video

* Updating some copy

* adding some instructions for getting client id + secret

* PR Feedback

* removing spurious tsconfig file
2022-02-04 18:30:52 +00:00
Peer Richelsen
6ea2c47942
removed redirects for web3, needs dialog in booking page (#1700)
* removed redirects, better: ask for verification in follow up pr for event-type pages

* fuck ts honestly

* ignoring type issues lol
2022-02-03 20:08:25 +00:00
Syed Ali Shahbaz
c709f9ed1b
fixed attendee language per attendee (#1694)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-02-03 12:29:41 +00:00
Rohan Gupta
64db8d1cd4
Add Huddle01 integration (#1675)
* Add Huddle01 integration

* updated huddle01 locale strings

Co-authored-by: deepso <deeps.o7o8.y@gmail.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2022-02-03 11:59:02 +00:00
Deepak Prabhakara
7b65942de2
Feature/sso signup (#1555)
* updated saml-jackson

* if logged in redirect to getting-started page with username in the query param

* fixed issue with mixed up Google login, profile.id is undefined and this is causing the first record to be retrieved instead of the AND query failing

* updated updated saml-jackson

* document PGSSLMODE for Heroku

* tweaks to PGSSLMODE doc

* for self-hosted instance just allow user to signin with any identity (as long as email matches)

* fixed submitting flag

* added username to onboarding flow (if requested during signup)

* added telemetry for google login, saml login, saml config

* check if firstName and lastName are defined

* convert mutation to an async op

* added e2e test to ensure username query param gets picked up during onboarding

* fixed minor typo and added note about configuring Google integration as an Internal app when self-hosting

* cleaned up unnecessary ssr in sso signup routes

* renamed function

* Revert "cleaned up unnecessary ssr in sso signup routes"

This reverts commit 3607ffef79542d8ca4277a64be38d35bd9457960.

* moved client side code to useEffect hook

* - format
- fixed Save button in SAML config component

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-02 18:33:27 +00:00
Edward Fernández
1d10874890
Web3 App (#1603)
* Crypto events (#1390)

* update schemas, functions & ui to allow creating and updating events with a smart contract property

* remove adding sc address in the dialog that first pops-up when creating a new event, since its an advanced option

* add sc to booking ui

* some more ts && error handling

* fetch erc20s and nfts list in event-type page

* some cleanup within time limit

* ts fix 1

* more ts fixes

* added web3 section to integrations

* added web3 wrapper, needs connection to user_settings db

* extract to api

* Update eventType.ts

* Update components/CryptoSection.tsx

Change comment from // to /** as @zomars suggested

Co-authored-by: Omar López <zomars@me.com>

* convert axios to fetch, change scAddress to smartContractAddress, load bloxy from next_public_env

* Fix branch conflict

* add enable/disable btn web3

* fixed away user causing duplicate entries

* Remove web3 validation

* renamed web3 button in integrations

* remove unused variable

* Add metadata column

* added loader and showToast to the web3 btn

* fix: remove smartContractAddress from info sended

* send to user events when the contract is missing

* use window.web3 instead of web3

* use NEXT_PUBLIC_WEB3_AUTH_MSG

* remove web3 auth from .env

* wip

* wip

* Add metamask not installed msg and success redirect

* add redirect when verified

* styled web3 button and added i18n to web3

* fixed redirect after verification

* wip

* wip

* moved crypto section to ee

Co-authored-by: Yuval Drori <53199044+yuvd@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@richelsen.net>
Co-authored-by: Yuval Drori <yuvald29@protonmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Edward Fernandez <edward.fernandez@rappi.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-02-01 21:48:40 +00:00
Arnab Tarwani
509e0b0a39
Bugfix/minor email fix (#1644)
* added new line fix, minor email validation

* fix: reorder controls hidden on more than 1 events #1452

Signed-off-by: arnabtarwani <arnab.tarwani@gmail.com>

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2022-01-29 19:22:02 +00:00
Nathaniel
df0d4654fe
implmented brand new getAvailability (#1649) 2022-01-29 14:38:53 +00:00
Nikolay Rademacher
07b75dadbd
feat: add option to provide cancellation reason for email (#1587)
* feat: add option to provide cancellation reason for email

* chore: move pos of getCancellationReason method in classes

* fix: only show cancellation reason if given
2022-01-28 10:40:29 -07:00
Peer Richelsen
1f0efb9aa4
Revert "renamed booking_confirmed to booking_attempted, needs reintroduction of booking_confirmed on API layer when email confirmations are being sent, needs renaming on postgres too (#1639)" (#1640)
This reverts commit e8ecab6456.
2022-01-28 13:16:40 +00:00
Peer Richelsen
e8ecab6456
renamed booking_confirmed to booking_attempted, needs reintroduction of booking_confirmed on API layer when email confirmations are being sent, needs renaming on postgres too (#1639) 2022-01-28 13:10:59 +00:00
Syed Ali Shahbaz
af89de8004
Wrong language in emails (#1541)
* test --wip

* --wip

* --wip

* --wip

* split language into organizer-attendees

* name fix for tAttendees

* --WIP

* added attendee locale migration, --WIP

* --wip

* fixed check types --wip

* updated person language type

* test snapshot updated

* --wip

* --WIP

* --WIP

* --WIP

* test changes revert

* cleanup

* removed extra space from test

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-27 13:32:53 -07:00
Alex van Andel
64f39b0d47
Revert "Fixes #1572 (#1622)" (#1630)
This reverts commit 2a77f2c477.
2022-01-27 15:16:38 +00:00
Daniel McGowan
2a77f2c477
Fixes #1572 (#1622) 2022-01-27 14:55:06 +00:00
Omar López
8f6f34931b
Allow choosing destination calendar per event type (#1514) 2022-01-21 14:35:31 -07:00
Peer Richelsen
c6e60bd706
added telemetry to importer (#1525)
* added telemetry to importer

* wip

* ignore typescript errors in jitsu telemetry
2022-01-19 17:26:44 +00:00
Omar López
116e6d0938
Lazy loads phone input (#1566) 2022-01-19 16:24:01 +00:00
Manjunath Reddy
2289c68979
Fixes: Get minutes offset from start of the day over days.utc() (#1488)
* Use days start of the day offset minutes over days.utc()

* We do not need to set startOf("day") as day.utc() already starts from the beginning of the day with respective +h value

* do not use startOf if the invite date is already set with utc value, otherwise, it will double the utc +h * 2

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-17 20:15:19 +00:00
Deepak Prabhakara
1a20b0a0c6
Add log in with Google and SAML (#1192)
* Add log in with Google

* Fix merge conflicts

* Merge branch 'main' into feature/copy-add-identity-provider

# Conflicts:
#	pages/api/auth/[...nextauth].tsx
#	pages/api/auth/forgot-password.ts
#	pages/settings/security.tsx
#	prisma/schema.prisma
#	public/static/locales/en/common.json

* WIP: SAML login

* fixed login

* fixed verified_email check for Google

* tweaks to padding

* added BoxyHQ SAML service to local docker-compose

* identityProvider is missing from the select clause

* user may be undefined

* fix for yarn build

* Added SAML configuration to Settings -> Security page

* UI tweaks

* get saml login flag from the server

* UI tweaks

* moved SAMLConfiguration to a component in ee

* updated saml migration date

* fixed merge conflict

* fixed merge conflict

* lint fixes

* check-types fixes

* check-types fixes

* fixed type errors

* updated docker image for SAML Jackson

* added api keys config

* added default values for SAML_TENANT_ID and SAML_PRODUCT_ID

* - move all env vars related to saml into a separate file for easy access
- added SAML_ADMINS comma separated list of emails that will be able to configure the SAML metadata

* cleanup after merging main

* revert mistake during merge

* revert mistake during merge

* set info text to indicate SAML has been configured.

* tweaks to text

* tweaks to text

* i18n text

* i18n text

* tweak

* use a separate db for saml to avoid Prisma schema being out of sync

* use separate docker-compose file for saml

* padding tweak

* Prepare for implementing SAML login for the hosted solution

* WIP: Support for SAML in the hosted solution

* teams view has changed, adjusting saml changes accordingly

* enabled SAML only for PRO plan

* if user was invited and signs in via saml/google then update the user record

* WIP: embed saml lib

* 302 instead of 307

* no separate docker-compose file for saml

* - ogs cleanup
- type fixes

* fixed types for jackson

* cleaned up cors, not needed by the oauth flow

* updated jackson to support encryption at rest

* updated saml-jackson lib

* allow only the required http methods

* fixed issue with latest merge with main

* - Added instructions for deploying SAML support
- Tweaked SAML audience identifier

* fixed check for hosted Cal instance

* Added a new route to initiate Google and SAML login flows

* updated saml-jackson lib (node engine version is now 14.x or above)

* moved SAML instructions from Google Docs to a docs file

* moved randomString to lib

* comment SAML_DATABASE_URL and SAML_ADMINS in .env.example so that default is SAML off.

* fixed path to randomString

* updated @boxyhq/saml-jackson to v0.3.0

* fixed TS errors

* tweaked SAML config UI

* fixed types

* added e2e test for Google login

* setup secrets for Google login test

* test for OAuth login buttons (Google and SAML)

* enabled saml for the test

* added test for SAML config UI

* fixed nextauth import

* use pkce flow

* tweaked NextAuth config for saml

* updated saml-jackson

* added ability to delete SAML configuration

* SAML variables explainers and refactoring

* Prevents constant collision

* Var name changes

* Env explainers

* better validation for email

Co-authored-by: Omar López <zomars@me.com>

* enabled GOOGLE_API_CREDENTIALS in e2e tests (Github Actions secret)

* cleanup (will create an issue to handle forgot password for Google and SAML identities)

Co-authored-by: Chris <76668588+bytesbuffer@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
2022-01-13 20:05:23 +00:00
Philip Niedertscheider
9c94aadbf7
Fixed Google Calendar custom destination calendar deletion (#1486)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-13 19:47:15 +00:00
Peer Richelsen
20404611b0
Fix/remove date selector telementry (#1491) 2022-01-12 22:16:38 +00:00
Peer Richelsen
a61cb690af
temporary fixes daily issue (#1469) 2022-01-11 10:24:37 +00:00
Omar López
84d75cf693
Upgrades next-auth to v4 (#1185)
* Upgrades next-auth to v4

* Fixes next-auth session types

* Type fixes

* Fixes login issue

* Team page fixes

* Type fixes

* Fixes secret

* Adds test for forgotten password

* Skips if pw secret is undefined

* Prevents error if PW secret is undefined

* Adds PLAYWRIGHT_SECRET explainer

* Adds pending auth TODOs

* Adds missing secret

* Fixed imports

* Fixed imports

* Type fixes

* Test fixes

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-07 20:23:37 +00:00
Edward Fernández
6e7359ae96
fix code validation when the google calendar integration does not have all permission (#1425)
Co-authored-by: Edward Fernandez <edward.fernandez@rappi.com>
2022-01-06 15:06:31 -07:00
Edward Fernández
bd2a795d7a
[CAL-770] add new integration architecture revamp (#1369)
* [CAL-770] add new integration architecture revamp

* Type fixes

* Type fixes

* [CAL-770] Remove tsconfig.tsbuildinfo

* [CAL-770] add integration test

* Improve google calendar test integration

* Remove console.log

* Change response any to void in the deleteEvent method

* Remove unnecesary const

* Add tsconfig.tsbuildinfo to the .gitignore

* Remove process env variables as const

Co-authored-by: Edward Fernández <edwardfernandez@Edwards-Mac-mini.local>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Edward Fernandez <edward.fernandez@rappi.com>
2022-01-06 12:28:31 -05:00
Omar López
4cd7a4ce5b
Adds trial banner and in-app upgrade (#1402)
* WIP trial banner

* Fixes days left count

* Defers stripe loading until needed

* Fixes auth issues

* Checkout fixes

* Allows for signup testing

* Debugging checkout

* Adds tests for trial banner

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-03 22:50:59 +00:00
Nathaniel
3761a75b28
fixed zoom video not creating when credentials are not valid (#1329)
* fixed nextcloud

* fixed nextcloud & fastmail issues

* fixed zoom video not creating when credentials are not valid
also fixed reponse to reflect create failure.

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-22 13:38:24 -07:00
Alex van Andel
cbf528c33e
Allows setting the event frequency to other than event length (#1349) 2021-12-19 12:11:31 +00:00
Omar López
21103580f7
Zomars/cal 748 paid bookings are failing (#1335)
* E2E video adjustments

* Adds test to add Stripe integration

* Type fix

* WIP: Payment troubleshooting

* Paid bookings shouldn't be confirmed by default

* Runs stripe test only if installed

* BookingListItem Adjustments

* Pending paid bookings should be unconfirmed

* Attempt to fix paid bookings

* Type fixes

* Type fixes

* Tests fixes

* Adds paid booking to seeder

* Moves stripe tests to own file

* Matches app locale to Stripe's

* Fixes minimun price for testing

* Stripe test fixes

* Fixes stripe frame test

* Added some Stripe TODOs
2021-12-17 16:58:23 +00:00
Alex van Andel
a3bd226347
Bugfix/year change (#1323) 2021-12-16 15:20:38 +00:00
Alex van Andel
5c5d9d3406
Fixes zoom expiry date (#1315)
* Fixes zoom expiry date

* Ensure backwards compatibility with old zoom connections

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-12-15 14:02:39 +00:00
Nathaniel
43c939e342
Fixed nextcloud & fastmail events not created (#1300)
* fixed nextcloud

* fixed nextcloud & fastmail issues
2021-12-13 13:58:09 +00:00
Alex van Andel
8afcba23c8
Commented out minimumBookingNotice, needs fixing (#1297) 2021-12-12 00:09:34 +01:00
sec0ndhand
3ff99f7877
Fix timezones being returned from office 365 (#1269)
Per the [api documentation](https://docs.microsoft.com/en-us/graph/api/calendar-list-calendarview?view=graph-rest-1.0&tabs=javascript#query-parameters)
the `Prefer: outlook.timezone` is ignored if a timezone value is passed
in the request.  This forces the dates to be passed in UTC.

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-10 19:00:03 +00:00
Jamie Pine
c1d90eb438
Improvement/teams (#1285)
* [WIP] checkpoint before pull & merge

- Added teams to sidebar
- Refactored team settings
- Improved team list UI

This code will be partly reverted next commit.

* [WIP]
- Moved team code back to components
- Removed team link from sidebar
- Built new team manager screen based on Event Type designs
- Component-ized frequently reused code (SettingInputContainer, FlatIconButton)

* [WIP]
- Created LinkIconButton as standalone component
- Added functionality to sidebar of team settings
- Fixed type bug on public team page induced by my normalization of members array in team query
- Removed teams-old which was kept as refrence
- Cleaned up loose ends

* [WIP]
- added create team model
- fixed profile missing label due to my removal of default label from component

* [WIP]
- Fixed TeamCreateModal trigger
- removed TeamShell, it didn't make the cut
- added getPlaceHolderAvatar
- renamed TeamCreate to TeamCreateModal
- removed deprecated UsernameInput and replaced uses with suggested TextField

* fix save button

* [WIP]
- Fixed drop down actions on team list
- Cleaned up state updates

* [WIP] converting teams to tRPC

* [WIP] Finished refactor to tRPC

* [WIP] Finishing touches

* [WIP] Team availability beginning

* team availability mvp

* - added validation to change role
- modified layout of team availability
- corrected types

* fix ui issue on team availability screen

* - added virtualization to team availability
- added flexChildrenContainer boolean to Shell to allow for flex on children

* availability style fix

* removed hard coded team type as teams now use inferred type from tRPC

* Removed unneeded vscode settings

* Reverted prisma schema

* Fixed migrations

* Removes unused dayjs plugins

* Reverts type regression

* Type fix

* Type fixes

* Type fixes

* Moves team availability code to ee

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
2021-12-09 23:51:30 +00:00
Alex Johansson
850497ea80
add select primary calendar (#1133)
* add primary

* fix

* refactor eventmanager to take `CalendarDestination`

* `DestinationCalendar`

* fix

* wip

* wip

* Minor fixes (#1156)

* Followup for #1242

* Updates schema

* Renames fields to destinationCalendar

* Migration fixes

* Updates user destination calendar

* Abstracts convertDate to BaseCalendarApiAdapter

* Type fixes

* Uses abstracted convertDate method

* Abstracts getDuration and getAttendees

* Fixes circular dependecy issue

* Adds notEmpty util

* Reverts empty location string

* Fixes property name

* Removes deprecated code

* WIP

* AppleCal is basically CalDav

* Fixes missing destinationCalendar

* Type fixes

* Select primary calendar on Office and gCal

* Adds pretty basic instructions for destination calendar

* Cleanup

* Type fix

* Test fixes

* Updates test snapshot

* Local test fixes

* Type fixes

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-12-09 15:51:37 +00:00
Bill Gale
23127318dc
fix: prevent image uploader converting every image to jpeg (#1262) 2021-12-07 17:05:26 +00:00
Omar López
ec2acedf34
Zomars/refactor emails followup (#1216) 2021-12-07 15:48:08 +00:00
Mihai C
d76ef4a007
fix: calendar event description (#1266) 2021-12-07 15:32:07 +00:00
Mihai C
dd446abeec
fix: calendar event fixes (#1260)
* fix: calendar event fixes

* update after code review
2021-12-06 19:34:31 +00:00
Rory Hughes
dc13c95644
Favour the user's default calendar notification settings without overriding (#1259)
If people want emails for every event on their calendar, they can set that up.
2021-12-06 13:24:32 +00:00
Alex van Andel
22aa083883
Adds eventTypeId as a parameter (#1217) 2021-12-03 16:18:31 +00:00
Alex van Andel
8c1b69cc0f
Feature/field prefills (#1249)
* Needs more testing, but looks functional

* Add metadata feature to booking create payload

* Forward URL parameters given in link

* Moved stringifying of custom inputs to backend
2021-12-03 10:15:20 +00:00
Peer Richelsen
bd51316c68
removed imgur from emails, added missing / to footer logo (#1245) 2021-12-02 22:05:58 +00:00
Omar López
2430784142
Followup for #1242 (#1243) 2021-12-02 21:41:09 +00:00
Alex Johansson
de3c4aa75a
fix zoom leading to integrations:zoom location (#1242) 2021-12-02 17:18:17 +00:00