3986824017
5623 add an inviteteam onboarding step ( #5769 )
...
## Changes
- add a new invite Team onboarding step
- update currentUser.state to currentUser.onboardingStep
## Edge cases
We will never display invite team onboarding step
- if number of workspaceMember > 1
- if a workspaceMember as been deleted
## Important changes
Update typeorm package version to 0.3.20 because we needed a fix on
`indexPredicates` pushed in 0.3.20 version
(https://github.com/typeorm/typeorm/issues/10191 )
## Result
<img width="844" alt="image"
src="https://github.com/twentyhq/twenty/assets/29927851/0dab54cf-7c66-4c64-b0c9-b0973889a148 ">
https://github.com/twentyhq/twenty/assets/29927851/13268d0a-cfa7-42a4-84c6-9e1fbbe48912
2024-06-12 21:13:18 +02:00
9f6a6c3282
5622 add a syncemail onboarding step ( #5689 )
...
- add sync email onboarding step
- refactor calendar and email visibility enums
- add a new table `keyValuePair` in `core` schema
- add a new resolved boolean field `skipSyncEmail` in current user
https://github.com/twentyhq/twenty/assets/29927851/de791475-5bfe-47f9-8e90-76c349fba56f
2024-06-05 18:16:53 +02:00
77c0dee846
Add missing info from verify mutation ( #5283 )
...
Fix wrong error billing message
2024-05-04 15:21:37 +02:00
306ef1df9c
feat: schema version header check ( #4563 )
...
closes https://github.com/twentyhq/twenty/issues/4479
tried to catch the error inside various places including
https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/integrations/exception-handler/exception-handler.service.ts
but it seems like the error never reaches the GraphQL module 😮
any idea where we could intercept such an error `Cannot query field`?
---------
Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com >
2024-04-04 09:52:45 +02:00
8e4123e772
48 add yearly monthly sub switch ( #4577 )
2024-03-21 10:47:25 +01:00
da12710fe9
feat: multi-workspace (frontend) ( #4232 )
...
* select workspace component
* generateJWT mutation
* workspaces state and hooks
* requested changes
* mutation fix
* requested changes
* user workpsace delete call
* migration to drop and createt user workspace
* revert select props
* add DropdownMenu
* seperate multi-workspace dropdown as component
* Signup button displayed accurately
* update seed data for multi-workspace
* lint fix
* lint fix
* css fix
* lint fix
* state fix
* isDefined check
* refactor
* add default workspace constants for logo and name
* update migration
* lint fix
* isInviteMode check on sign-in/up
* removeWorkspaceMember mutation
* import fixes
* prop name fix
* backfill migration
* handle edge cases
* refactor
* remove migration query
* delete user on no-workspace found condition
* emit workspaceMember.deleted
* Fix event class and unrelated fix linked to a previously missing dependency
* Edit migration (I did it in prod manually)
* Revert changes
* Fix tests
* Fix conflicts
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-20 14:43:41 +01:00
62d414ee66
40 remove self billing feature flag ( #4379 )
...
* Define quantity at checkout
* Remove billing submenu when not isBillingEnabled
* Remove feature flag
* Log warning when missing subscription active workspace add or remove member
* Display subscribe cta for free usage of twenty
* Authorize all settings when subscription canceled or unpaid
* Display subscribe cta for workspace with canceled subscription
* Replace OneToOne by OneToMany
* Add a currentBillingSubscriptionField
* Handle multiple subscriptions by workspace
* Fix redirection
* Fix test
* Fix billingState
2024-03-12 18:10:27 +01:00
63d403454c
feat: multi-workspace followup ( #4197 )
...
* Seed UserWorkspace for existing demo/dev users
* add workspaces field to currentUser
* new token generation endpoint for switching workspace
* lint fix
* include dependency
* requested fixes
* resolver test pass
* changing defaultWorkspace and workspaceMember when switching workspaces
* tests fix
* requested changes
* delete user/workspace edge case handled
* after merge
* requested changes
* :wq!
* workspace manytoone relation
* lint fix / import fix
* gql codegen
* Fix migrations and generateJWT
* migration fix
* relations fix
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-03-04 16:14:04 +01:00
0ee512a983
3959 create a activationstatus in coreworkspace and use it in front to redirect properly ( #3989 )
...
* Add computed field to workspace entity
* Add activationStatus to front requests
* Update Selector
* Use activation status
* Stop using selector for mock values
* Remove isCurrentWorkspaceActiveSelector
* Use activation status
* Fix typo
* Use activation status
* Create hook for sign in up navigate
* Update hook to handle profile creation
* Use varaible
* Use more readable boolean function
2024-02-16 16:00:39 +01:00
7425223f83
3628 timebox separate user creation from workspace creation ( #3737 )
...
* Remove workspace schema creation from signUp
* Set user workspaceMember nullable
* Remove workspace creation
* Handle null workspace in tokens
* Update onboarding status
* Generate types
* Move createWorkspace to workspace resolver
* Create workspace after signup
* Update createWorkspace return type
* Update createWorkspace return type
* Create core.workspace at signup
* WIP
* Fix create workspace
* Fix create workspace
* Clean code
* Remove useless recoil set
* Simplify create workspace request
* Set currentWorkspace at login
* Fix tests
* Create a recoil value for is workspaceSchema created
* Rename createWorkspace to createWorkspaceSchema
* Code review returns
* Use AppPath when possible
* Try without state
* Fix
* Fixes
* Rename createWorkspaceSchema to activateWorkspace
* Remove defaultAvatarUrl from user
* Add defaultAvatarUrl to core user
This reverts commit 1701c30eb18804558293cc42043aedf96ea888df.
* Add defaultAvatarUrl to core user
This reverts commit 1701c30eb18804558293cc42043aedf96ea888df.
* Fix ci
* Fix tests
* Fix storybook
* Fix test
* Remove useless query
* Fix test
* Fix test
* Fix mock data
* Fix test
* Clean Mock Requests
* Fix tentative
* Revert "Clean Mock Requests"
This reverts commit 8aa20a34363ffddfdee24f18fc80b27ea0ad5e1d.
* Fix
* Revert "Fix"
This reverts commit 2df7e9b6569b8bfb53f6a45391db725e28d16a18.
* Revert "Revert "Clean Mock Requests""
This reverts commit 3aefef8e9600d161434a047e845563d1b8e0692e.
* Revert "Fix tentative"
This reverts commit 13e7748d6f3b3858d30fb08adbc8ad347c5556ee.
* Update filename
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-09 12:06:11 +01:00
f1b3d1537a
Load views on user load and read in cache ( #3552 )
...
* WIP
* Poc
* Use cached root query + remove proloaded views state
* Fix storybook test + fix codegen
* Return default schema if token is absent, unauthenticated if token is invalid
* Use enum instead of bool
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-22 16:00:16 +01:00
a10f353a4c
feat: redirect to Plan Required page if subscription status is not active ( #2981 )
...
* feat: redirect to Plan Required page if subscription status is not active
Closes #2934
* feat: navigate to Plan Required in PageChangeEffect
* feat: add Twenty logo to Plan Required modal
* test: add Storybook story
* Fix lint
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-12-14 12:39:22 +01:00
5bdca9de6c
Migrate to a monorepo structure ( #2909 )
2023-12-10 18:10:54 +01:00