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