Commit graph

860 commits

Author SHA1 Message Date
Peer Richelsen
7f8883866a
added signup message for 404 ()
* added signup message for 404

* wip

* wip

* Update common.json
2022-02-08 13:38:13 +00:00
Jamie Pine
5567721431
Team Billing ()
* 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
Peer Richelsen
fb38c062ae
added verified badge to profile ()
* added verified badge to profile

* added verified to schema

* made verified optional

* generated missing migration

* add if exists

Co-authored-by: Jamie <ijamespine@me.com>
2022-02-07 17:16:20 +00:00
Peer Richelsen
19d1744138
smaller layout improvements to event-types edit ()
* made event-type full width clickable

* fixed event locaiton dialog buttons on mobile

* some smaller changes on event-types
2022-02-07 16:26:08 +00:00
Peer Richelsen
5c98eee647
made event-type full width clickable () 2022-02-07 12:33:15 +00:00
Jamie Pine
d0a6d6a6e6
Better 2FA Interface ()
* - added TwoFactor component
- added react-digit-input package
- added SAMLLogin component
- upgraded auth/logic to react-hook-form
- fixed EmailField to match other ___Field components to include Label
- cleaned up login logic

* upgraded error component

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-02-04 20:30:36 +00:00
Ken Miller
ae5d5e1261
Tandem Video ()
* 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
Bailey Pumfleet
b202c7b595 Reduce minimum time to 1 minute 2022-02-03 17:04:44 +00:00
Syed Ali Shahbaz
675340cb73
availability: end time should not be lower than start time ()
* added start-end time check

* fixed init value for selected

* added zod validation

* cleanup

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-02-03 13:23:29 +00:00
Rohan Gupta
64db8d1cd4
Add Huddle01 integration ()
* 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 ()
* 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
Alex van Andel
f52e277dc4
Web3 hotfixes to latest main ()
* Fixed import of web3 dir

* Invalid way of including the zodResolver, exposed by updating 2.8.3 to 2.8.5 in @hookform/resolvers

* smartContractAddress is added conditionally, so added check to reflect this in the updateMutation
2022-02-02 11:07:13 +00:00
Peer Richelsen
8bb3e9c0be
RTL (right-to-left) layout ()
* added rtl to body

* added locale checkker in _document.tsx to check for ar or he locale

* added rtl modifiers for event-types

* added rtl classes

* wip

* wip

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2022-02-01 22:17:37 +00:00
Peer Richelsen
aa28cf0641
using button loading props vs Loader component () 2022-02-01 21:52:54 +00:00
Edward Fernández
1d10874890
Web3 App ()
* Crypto events ()

* 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
Bailey Pumfleet
ff3569fdf8 Add instructions for importer 2022-01-31 10:18:12 +00:00
Arnab Tarwani
509e0b0a39
Bugfix/minor email fix ()
* added new line fix, minor email validation

* fix: reorder controls hidden on more than 1 events 

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
Alex van Andel
9dc45071c5
Fix/accept team invite once signup ()
* Accept team invite once signup

* Add expectations for the team invite

Co-authored-by: Miguel Nieto A <anietom@uninorte.edu.co>
2022-01-29 18:56:40 +00:00
Xavier B
2079199bab
Fix browser specific styling on some elements ()
Co-authored-by: Alex van Andel <me@alexvanandel.com>
2022-01-29 18:32:41 +00:00
Peer Richelsen
b616d36fcc
minor fixes to billing page and trial banner () 2022-01-29 13:48:15 +00:00
Omar López
2fbdb93efb
Allows for in-app upgrade () 2022-01-28 17:46:35 -07:00
Nikolay Rademacher
07b75dadbd
feat: add option to provide cancellation reason for email ()
* 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
Syed Ali Shahbaz
af89de8004
Wrong language in emails ()
* 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
Peer Richelsen
1eac8a1aa3
fixed 404 () 2022-01-27 12:40:10 +00:00
Jamie Pine
e06edadda5
Improved authentication screens (Login/Logout/Forgot Password) () 2022-01-27 10:16:20 +00:00
Miguel Nieto A
73de0c2185
Fix signup query ()
* Remove emailVerified not null from query

* Improve query to find existing user

* Add test suite to Signup from a Team Invite

* Allow importing modules with aliases

* Delete created data after all tests

* Resolve conflicts

* Use teampro instead of pro user and refactor code
2022-01-26 16:56:22 +00:00
buschco
cad77ad237
fix mapping for cancel webhook () () ()
Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2022-01-26 16:41:18 +00:00
Alex van Andel
b4c96c96e6 Explicitly set email variable for readability
Minor code clarity tweak making the comment redundant.
2022-01-26 09:01:43 -07:00
Peer Richelsen
ce4ed40ae0
removed developer.cal.com from 404 () 2022-01-25 18:23:24 +00:00
Peer Richelsen
1bf4913051
added <InfoBadge> component with tooltip ()
* added <InfoBadge> component with tooltip, added to event-types event name

* added title to <InfoBadge> for a12y
2022-01-25 00:31:05 +00:00
Peer Richelsen
8de822500c
fixed mismatch of bg color for success page () 2022-01-24 14:27:56 +00:00
Omar López
8f6f34931b
Allow choosing destination calendar per event type () 2022-01-21 14:35:31 -07:00
buschco
7737164bbf
fix mapping for cancel webhook () () 2022-01-21 12:06:45 +00:00
Syed Ali Shahbaz
24182625bb
redirect to cancellation survey () 2022-01-20 09:32:24 +00:00
Deepak Prabhakara
e0a923979a
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 ()
(cherry picked from commit 4f168616e7b7a0a03b979b434b4aa20c7b612cb0)
2022-01-19 18:24:00 -07:00
Peer Richelsen
c6e60bd706
added telemetry to importer ()
* added telemetry to importer

* wip

* ignore typescript errors in jitsu telemetry
2022-01-19 17:26:44 +00:00
Omar López
118ee6bfb6
Follow up to ()
* Lazy loads phone input

* Removes duplicate CSS
2022-01-19 09:55:29 -07:00
Syed Ali Shahbaz
e52e1e3e23
Survey at account deletion ()
* redirect to /cancellation

* relative path

* base URL check added
2022-01-19 09:03:51 -07:00
Bailey Pumfleet
33694196e1
Calendly & SavvyCal import ()
* Calendly & SavvyCal import

* added string keys to import

* Update pages/api/import/savvycal.ts

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

* Update pages/api/import/savvycal.ts

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

* Update pages/getting-started.tsx

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

* fixed string

* prettier

Co-authored-by: Peer Richelsen <peeroke@richelsen.net>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-01-15 16:23:42 +00:00
Peer Richelsen
4e74c0e27f
fixed switching background color () 2022-01-14 22:01:06 +00:00
Syed Ali Shahbaz
fac4de1144
Enhancement/cal 708 delete account ()
* --WIP

* --WIP

* --WIP

* added prisma migration and delete cascade for user

* stripe customer removal and other --wip

* --wip

* added stripe user delete

* removed log remnants

* fixed signout import

* cleanup

* Changes requested

* fixed common-json apostrophe

* Simplifies account deletion logic and add e2e tests

* Cleanup

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
2022-01-14 13:49:15 +00:00
Omar López
e5f8437282
Fixes oauth tests ()
* Fixes oauth tests

* Login page type fixes

* Delegates approval to github UI
2022-01-13 13:45:44 -07:00
Deepak Prabhakara
1a20b0a0c6
Add log in with Google and SAML ()
* 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 ()
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
Bailey Pumfleet
f7fda47534
Add ability to change email () 2022-01-12 21:54:48 +00:00
Bailey Pumfleet
c48d0d6c34
Fix reorder arrow alignment () 2022-01-12 13:57:51 +00:00
Syed Ali Shahbaz
ac6275b906
hotfix for images hosted elsewhere and link stored in DB ()
* hotfix for images hosted elsewhere and link stored in DB

* improved if else

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-01-12 13:06:39 +00:00
Jamie Pine
70683a89b9
Added "New Event Type" button on Team settings ()
- Moved CreateNewEventButton in pages/event-types/index to dedicated component as this is used in two places now.
- Implemented CreateEventType button on Team settings screen and replaced old markup in on event types page with new component.
- Upgrade vanilla JS inputs to library primitives.
- Created TextArea & TextAreaField components in components/form.
- [Bugfix] Changed back button behavior in Shell to have a specified back path as CreateEventType's modal interfered with the router.goBack behavior.
- Ensure modal data is preserved in URL params for router accuracy and removed on exit.
2022-01-12 01:29:20 -08:00
Bailey Pumfleet
7739994f4e
Add an away mode to disable your booking page ()
* Add away column and status circle

* Add away status toggle

* Show message on booking page when away

* Update common.json

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-01-11 10:32:40 +00:00
Syed Ali Shahbaz
e24d8889fc
Cal 710 turn dataimagejpegbase64 avatar into ()
* --wip

* added next-config custom header path

* added avatar endpoint

* cleanup --wip

* adding gravatar fallback support --wip

* added endpoint rewrite and avatar access

* gravatar support added

* build err fix

* updated HeadSEO with new avatar logic

* --wip

* adds og compat

* added truncated bio

* cleanup

* changed truncate of body from 24 chars to 32 chars

* removed unused, commented code

* removed trailing whitespace

* requested changes

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2022-01-11 08:54:02 +00:00