6d70540cdc
Add sentry tracing ( #4279 )
...
* Add sentry tracign
* Improve Sentry loggin
2024-03-04 16:31:15 +01:00
8f6200be7d
41 update subscription when workspace member changes 2 ( #4252 )
...
* Add loader and disabling on checkout button
* Add Stripe Subscription Item id to subscriptionItem entity
* Handle create and delete workspace members
* Update billing webhook
* Make stripe attribute private
* Fixing webhook error
* Clean migration
* Cancel subscription when deleting workspace
* Fix test
* Add freetrial
* Update navigate after signup
* Add automatic tax collection
2024-03-01 17:29:28 +01:00
fb439e3045
Enable new record board and messaging for all workspaces except demo ( #4243 )
...
* Enable new record board and messaging for all workspaces except demo
* Fix according to PR
2024-02-29 18:22:32 +01:00
9ca3dbeb70
39 create subscription and success modale ( #4208 )
...
* Init add choose your plan page component
* Update price format
* Add billing refund trial duration env variable
* Add billing benefits
* Add Button
* Call checkout endpoint
* Fix theme color
* Add Payment success modale
* Add loader to createWorkspace submit button
* Fix lint
* Fix dark mode
* Code review returns
* Use a resolver for front requests
* Fix 'create workspace' loader at sign up
* Fix 'create workspace' with enter key bug
2024-02-28 19:51:04 +01:00
214807588a
[messaging] clean orphan threads and messages after connected account deletion ( #4195 )
...
* [messaging] add connected account associated data delete
* add threadCleanerService
* fix
* fix import
* add thread cleaner import
* remove log
2024-02-26 21:29:44 +01:00
05c206073d
38 add billing webhook endpoint ( #4158 )
...
* Add self billing feature flag
* Add two core tables for billing
* Remove useless imports
* Remove graphql decorators
* Rename subscriptionProduct table
* WIP: Add stripe config
* Add controller to get product prices
* Add billing service
* Remove unecessary package
* Simplify stripe service
* Code review returns
* Use nestjs param
* Rename subscription to basePlan
* Rename env variable
* Add checkout endpoint
* Remove resolver
* Merge controllers
* Fix security issue
* Handle missing url error
* Add workspaceId in checkout metadata
* Add BILLING_STRIPE_WEBHOOK_SECRET env variable
* WIP: add webhook endpoint
* Fix body parser
* Create Billing Subscription on payment success
* Set subscriptionStatus active on webhook
* Add useful log
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-24 17:30:32 +01:00
b1eb0577bc
Build cron for data seed demo ( #4142 )
...
* Migrate command to cron
* Put back command using job as well
* Build service and module + move into folder
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-02-24 12:30:12 +01:00
679456e819
46 add stripe product endpoint ( #4133 )
...
* Add self billing feature flag
* Add two core tables for billing
* Remove useless imports
* Remove graphql decorators
* Rename subscriptionProduct table
* WIP: Add stripe config
* Add controller to get product prices
* Add billing service
* Remove unecessary package
* Simplify stripe service
* Code review returns
* Use nestjs param
* Rename subscription to basePlan
* Rename env variable
2024-02-22 20:11:26 +01:00
44ac16c82e
fix: impact too many records ( #3993 )
...
* fix: impact too many records
* fix: change env name
* fix: remove env name from error
2024-02-16 11:17:37 +01:00
94ad0e33ec
3889 activate settingsaccountsemailsinboxsettings ( #3962 )
...
* update email visibility in settings
* improve styling
* Add contact auto creation toggle to inbox settings
* re
move soonpill
* update Icon
* create job
* Add logic to create contacts and companies for message participants without personId and workspaceMemberId
* add listener
* wip
* wip
* refactoring
* improve structure
* Add isContactAutoCreationEnabled method to MessageChannelService
* wip
* wip
* clean
* add job
* fix bug
* contact creation is working
* wip
* working
* improve code
* improve typing
* resolve conflicts
* fix
* create company repository
* move util
* wip
* fix
2024-02-14 17:30:17 +01:00
458e8c839f
Add workspacePreQueryHook module ( #3879 )
...
* rebase
* reorganise messaging folders
* fix
* fix after review
* fix yarn lock
2024-02-13 18:23:29 +01:00
52bb33b566
Disable buffered logs ( #3892 )
...
* Update main.ts
* Update command.ts
* Update queue-worker.ts
* Enable users to disable log buffering
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-13 14:50:25 +01:00
c13e55a753
Fix bull-mq retry option and exceptions not being captured for jobs ( #3905 )
...
* Fix bull-mq retry option
* fix exception inside worker
* add logs
* fix after review
2024-02-12 15:12:52 +01:00
3d7b5902e6
Fix twenty-server build
2024-02-09 11:14:02 +01:00
99e2dd6899
[messaging] Add messageParticipant matching once people emails are updated ( #3887 )
...
* poc nest event emitter
* add match message participant listener
* add workspacemember listener
* fix after review
* fix deep-equal
2024-02-08 17:42:33 +01:00
7001ca83d1
3491 launch cleaning cron ( #3872 )
...
* Add command to delete incomplete workspaces
* Inject command dependencies
* Fix command
* Do not delete core.workspace
* Reorganize files
* Delete src/workspace/cron
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-07 18:52:48 +01:00
850eab8f8f
Add rate limiting in the server using built in Nest.js capability ( #3566 )
...
* Add rate limiting in the server using built in Nest.js capability
* Generatekey based on ip address when an http request is sent
* Update env var types to number for ttl and limit
* Remove unused env variables
* Use getRequest utility function
* fix: remove dist from path
* fix: adding .env variables
* fix: remove unused functions
* feat: throttler plugin
* Fix according to review
---------
Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-02-07 18:11:32 +01:00
0096e60489
[messaging] add cronjob for workspaces messages partial sync ( #3800 )
...
* [messaging] add cronjob for workspaces messages partial sync
* run cron every 10 minutes
* use logger
2024-02-05 17:15:11 +01:00
25f4a80c7c
fix: exception handler ( #3768 )
...
* fix: user is not sent to sentry
* fix: too much exceptions thrown
2024-02-02 09:26:48 +01:00
cdc51add7d
feat: add user to sentry ( #3467 )
...
* feat: wip add user to sentry
* feat: wip interceptor
* feat: wip add user to sentry
* feat: add user into sentry errors
* fix: hide stack trace in production
* fix: properly log commands and handle exceptions
* fix: filter command exceptions
* feat: handle jobs errors
2024-02-01 16:14:08 +01:00
73f6876641
feat: workspace sync ( #3505 )
...
* feat: wip workspace sync
* feat: wip lot of debugging
* feat: refactor and fix sync
* fix: clean
fix: clean
* feat: add simple comparator tests
* fix: remove debug
* feat: wip drop table
* fix: main merge
* fix: some issues, and prepare storage system to handle complex deletion
* feat: wip clean and fix
* fix: reflect issue when using array instead of map and clean
* fix: test & sync
* fix: yarn files
* fix: unecesary if-else
* fix: if condition not needed
* fix: remove debug
* fix: replace EQUAL by SKIP
* fix: sync metadata relation not applied properly
* fix: lint issues
* fix: merge issue
2024-01-30 14:40:55 +01:00
46f0eb522f
GH-3245 Change password from settings page ( #3538 )
...
* GH-3245 add passwordResetToken and passwordResetTokenExpiresAt column on user entity
* Add password reset token expiry delay env variable
* Add generatePasswordResetToken mutation resolver
* Update .env.sample file on server
* Add password reset token and expiry migration script
* Add validate password reset token query and a dummy password update (WIP) resolver
* Fix bug in password reset token generate
* add update password mutation
* Update name and add email password reset link
* Add change password UI on settings page
* Add reset password route on frontend
* Add reset password form UI
* sign in user on password reset
* format code
* make PASSWORD_RESET_TOKEN_EXPIRES_IN optional
* add email template for password reset
* Improve error message
* Rename methods and DTO to improve naming
* fix formatting of backend code
* Update change password component
* Update password reset via token component
* update graphql files
* spelling fix
* Make password-reset route authless on frontend
* show token generation wait time
* remove constant from .env.example
* Add PASSWORD_RESET_TOKEN_EXPIRES_IN in docs
* refactor emails module in reset password
* update Graphql generated file
* update email template of password reset
* add space between date and text
* update method name
* fix lint issues
* remove unused code, fix indentation, and email link color
* update test file for auth and token service
* Fix ci: build twenty-emails when running tests
---------
Co-authored-by: martmull <martmull@hotmail.fr >
2024-01-25 10:28:48 +01:00
7488a9605e
Allow underscores in PG_DATABASE_URL ( #3599 )
...
We are working on a Twenty template for Easypanel.io. We need Twenty to allow underscores in order to be compatible with the generated Postgres database service Easypanel creates.
2024-01-24 16:31:10 +01:00
e45a825a3a
Update logging for smtp emails ( #3536 )
2024-01-22 16:06:10 +01:00
49a9a2c2be
2252 build a script to cleanup inactive workspaces ( #3307 )
...
* Add cron to message queue interfaces
* Add command to launch cron job
* Add command to stop cron job
* Update clean inactive workspaces job
* Add react-email
* WIP
* Fix import error
* Rename services
* Update logging
* Update email template
* Update email template
* Add Base Email template
* Move to proper place
* Remove test files
* Update logo
* Add email theme
* Revert "Remove test files"
This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a.
* Add email theme 2
* Revert "Revert "Remove test files""
This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce.
* Revert "Revert "Revert "Remove test files"""
This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd.
* Revert "Revert "Revert "Revert "Remove test files""""
This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36.
* Fix theme
* Reorganize files
* Update clean inactive workspaces job
* Use env variable to define inactive days
* Remove FROM variable
* Use feature flag
* Fix cron command
* Remove useless variable
* Reorganize files
* Refactor some code
* Update email template
* Update email object
* Remove verbose log
* Code review returns
* Code review returns
* Simplify handle
* Code review returns
* Review
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-13 12:03:41 +01:00
5a61e34f4c
3239 create a command to do a partial sync with the gmail api using the historyid ( #3405 )
...
* create utils service
* getLastSyncHistoryId
* getHistory
* add historyTypes messageAdded and messageDeleted
* getMessageIdsAndThreadIdsNotInDatabase
* wip
* fix messageThreadId null
* no need to fetch threads anymore
* get messagesAdded in partial sync
* adding errors
* save lastSyncHistoryId
* improve
* renaming
* create partial sync job
* improve partial sync
* adding messages with partial sync is working
* now adding messages with partial sync is working
* deleting messages and empty threads is working
* wip
* wip
* fix bug to delete threads
* update partial sync to cover edge cases
* renaming
* modify ambiguous naming
* renaming
2024-01-12 17:46:55 +01:00
b3d9bed91d
Enforce email templating ( #3355 )
...
* Add react-email
* WIP
* Fix import error
* Rename services
* Update logging
* Update email template
* Update email template
* Add Base Email template
* Move to proper place
* Remove test files
* Update logo
* Add email theme
* Revert "Remove test files"
This reverts commit fe062dd05166b95125cf99f2165cc20efb6c275a.
* Add email theme 2
* Revert "Revert "Remove test files""
This reverts commit 6c6471273ad765788f2eaf5a5614209edfb965ce.
* Revert "Revert "Revert "Remove test files"""
This reverts commit f851333c24e9cfe3f425c9cbbd1e079efce5c3dd.
* Revert "Revert "Revert "Revert "Remove test files""""
This reverts commit 7838e19e88e269026e24803f26cd52b467b4ef36.
* Fix theme
2024-01-11 20:29:20 +01:00
c6ae480856
feat(signup): allow to block signup ( #3209 )
...
* feat(signup): allow to block signup
* feat(signup): update environment variable documentation
* test: update auth service tests
* feat(signup): prevent user from reaching out the sign up page
* Fix lint
* Fixes
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-11 11:48:14 +01:00
22047fa2bf
Fix metadata exception handler #2 ( #3357 )
2024-01-10 17:02:54 +01:00
361446d79c
Add cron mechanism ( #3318 )
...
* Add cron to message queue interfaces
* Add command to launch cron job
* Add command to stop cron job
* Update clean inactive workspaces job
* Isolate cron mechanism
* Code review returns
* Remove useless object.assign
* Add MessageQueuCronJobData interface
* Rename cron job utils
* Fix typing
2024-01-09 12:23:45 +01:00
ea2cb8938f
Add fetch connected account job ( #3313 )
...
* Add fetch connected account job
* add featureFlag check
2024-01-08 18:24:39 +01:00
ae5558d8b5
Add mail driver ( #3205 )
...
* Add node mailer packages
* Init mailer module
* Add logger transport
* Use env variable to get transport
* Revert "Add node mailer packages"
This reverts commit 3fb954f0caef94266f96ff5f08de750073ab3491.
* Add nodemailer
* Use driver pattern
* Use logger
* Fix yarn install
* Code review returns
* Add configuration examples for smtp
* Fix merge conflict
* Add missing packages
* Fix ci
2024-01-05 16:08:19 +01:00
8483cf0b4b
POC: chore: use Nx workspace lint rules ( #3163 )
...
* chore: use Nx workspace lint rules
Closes #3162
* Fix lint
* Fix lint on BE
* Fix tests
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-01-03 23:07:25 +01:00
65250839fb
2248 zapier integration implement typeorm eventsubscribers ( #3122 )
...
* Add new queue to twenty-server
* Add triggers to zapier
* Rename webhook operation
* Use find one or fail
* Use logger
* Fix typescript templating
* Add dedicated call webhook job
* Update logging
* Fix error handling
2024-01-03 18:09:57 +01:00
46ab88cb9c
GH-2829 Add Sentry on frontend ( #3111 )
...
* GH-2829 pass sentry dsn key from backend in ClientConfig
* GH-2829 add Sentry library on frontend
* GH-2829 fetch dsnKey in GQL and add a state
* GH-2829 initialize Sentry on frontend
* GH-2829 fix linting issues
* Update yarn.lock
* GH-2829 update graphql schema for clientConfig
* GH-2829 remove Sentry comments
* GH-2829 rename sentry state
* GH-2829 rename dsnKey to dsn
* GH-2829 refactor to use componentEffect for sentry initialization
* GH-2829 fix linting issues
* GH-2829 update Graphql types
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2023-12-21 23:50:24 +01:00
0d00e3d62d
send pg graphql exception to sentry + fix missing nullable for relations ( #3101 )
...
* Send pg_graphql errors to sentry
* Send pg_graphql errors to sentry
* fix
* fix
* fix
* fix relation nullable
2023-12-21 16:07:25 +01:00
4637a92f09
Fix queue setup ( #3075 )
...
fix bullmq setup
2023-12-19 17:12:22 +01:00
e799c84233
Add sync driver for queue messages ( #3070 )
...
* Add sync driver for queue messages
* rename moduleRef
* use switch instead
2023-12-19 13:30:40 +01:00
fff51a2d91
Basic data enrichment ( #3023 )
...
* Add Enrich to frontend
* Naive backend implementation
* Add work email check
* Rename Enrich to Quick Action
* Refactor logic to a separate service
* Refacto to separate IntelligenceService
* Small fixes
* Missing Break statement
* Address PR comments
* Create company interface
* Improve edge case handling
* Use httpService instead of Axios
* Fix server tests
2023-12-18 15:45:30 +01:00
3659f12fba
Fix ExceptionHandler requiring httpAdapter ( #3021 )
2023-12-15 16:07:35 +01:00
36164ab59b
Add pg-boss worker poc ( #2991 )
...
* Add pg-boss worker poc
* add Example job
* add retry limit
* rename MessageQueue
2023-12-14 18:57:25 +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