Releases: twentyhq/twenty
Releases · twentyhq/twenty
Calendar Sync
What's Changed
- Fix billing check for trial sub status by @Weiko in #5054
- fix: release workflow by @Freebios in #5053
- New Timeline by @FelixMalfait in #4936
- fix: "Add to Twenty" button render fix (chrome-extension) by @AdityaPimpalkar in #5048
- Fix playground by @martmull in #5043
- fix: fix root start script by @thaisguigon in #5032
- Load all data on record boards by @charlesBochet in #5070
- [refacto] Introduce stateless TextInputV2 by @ijreilly in #5013
- User guide layout by @ady-beraud in #5016
- chore: extend root eslint config in twenty-server by @Weiko in #5101
- Fix typo in config/index.ts by @eltociear in #5109
- Add company to default opportunity fields by @DevanandGowda in #5075
- #4976 fix dark mode for multi-select picker in activity target chips by @orinamio in #5111
- 4746 create created listener on blocklist for calendar by @bosiraphael in #5046
- [fix] Support non latin characters in schema names by @ijreilly in #5063
- Added releases to navbar by @ady-beraud in #5124
- Fixed date picker UI that was too overloaded by @lucasbordeau in #5039
- Fix email sync by @charlesBochet in #5132
- Update oss friends by @ady-beraud in #5108
- Added SEO to website pages by @ady-beraud in #5106
- Make Github stars dynamic and improve database init by @ady-beraud in #5000
- feat: oauth for chrome extension by @AdityaPimpalkar in #4870
- 5125 - fix npx nx start does not exit gracefully by @flatypus in #5133
- Fix ellipsis overflow causing edit icon to be hidden on links by @DevanandGowda in #5071
- Fix default value fixer script by @charlesBochet in #5144
- D gamer007/add microsoft oauth by @martmull in #5103
- 5044 Dispatch createcontact job instead of emitting an event by @bosiraphael in #5135
- #5073 - fix datepicker styling in dark mode by @orinamio in #5074
- 4747 create deleted listener on blocklist by @bosiraphael in #5067
- Remove SQLite from twenty-website by @ady-beraud in #5142
- Fix broken sync-metadata by @charlesBochet in #5154
- fix: Calendar events participated in should be displayed in red by @orinamio in #5146
- 5161 - fix workspace icon is missing on multi-workspace by @flatypus in #5165
- feat: Status tags can show loader to complement displayed text by @orinamio in #5137
- Cache yoga conditional schema by @lucasbordeau in #5170
- Fix workspace schema caching when user is not logged in by @charlesBochet in #5173
- feat: allow self signed certificates with postgres connections by @Freebios in #5143
- Added a search box in sort menu by @rathodvinod5 in #5045
- 4001 add validation for blocklist by @bosiraphael in #5172
- fixed twenty website build by @ady-beraud in #5174
- 4748 create updated listener on blocklist by @bosiraphael in #5145
- Fix broken billing portal when subscription canceled by @martmull in #5082
- GH-3546 Recaptcha on login form by @i-am-chitti in #4626
- Setup relations for remote objects by @thomtrp in #5149
- 5180 - does not call debounced update for invalid names by @flatypus in #5181
- fix: fix SignInUpForm Continue button being disabled by @thaisguigon in #5185
- Add a cache on /metadata by @lucasbordeau in #5189
- [feat] Add updateRemoteServer endpoint by @ijreilly in #5148
- 5187 delete all emails and events from a blocklisted domain name by @bosiraphael in #5190
- Add redis to useMetadataCache yoga plugin by @Weiko in #5194
- Uniformize datasources by @charlesBochet in #5196
- Add known sources dropdown to api docs by @brendanlaschke in #5204
- Add jobs by @FelixMalfait in #5208
- Fix duplicated calendar events by @bosiraphael in #5209
- chore: add sentry captureException for global error logging by @shubham-kumar10 in #5198
- updated: removed gradient from onboarding buttons by @hnrykm in #5178
- Feat/twenty orm by @magrinj in #5153
- Feat/add postgres spilo by @Freebios in #5049
- Implemented Search Feature in Filter Menu by @rathodvinod5 in #5068
- TWNTY-4203 - Improve Email Thread Visibility with Collapse/Expansion Rules by @gitstart-app in #5202
- Fix tasks by @charlesBochet in #5199
- Remove debounce on filter search bar by @Weiko in #5215
- Add feature flag gate on calendar settings dropdown and fix queries by @bosiraphael in #5221
- Import full distant schema and store in remote server by @thomtrp in #5211
- 4002 prevent user from creating twice the same blocklist item by @bosiraphael in #5213
- [messaging/calendar] cron jobs can run regardless of sub status if billing is disabled by @Weiko in #5218
- Flush cache when reset db by @Weiko in #5214
- chore: use Nx affected tasks in CI by @thaisguigon in #5110
- [flexible-backend] handle object already exists error by @Weiko in #5225
- Favorites should be user-level not workspace-level by @gitstart-twenty in #5186
- Fix record position on contact creation by @bosiraphael in #5227
- [feat][Remote objects] Edit a connection (for pg) by @ijreilly in #5210
- Fix tests by @charlesBochet in #5228
- Fix sign up by @charlesBochet in #5231
- Smart changelog by @ady-beraud in #5205
- Modifications user guide by @ady-beraud in #5207
- Rename types for UserMappingOptions by @ijreilly in #5230
- feat: add Links field type by @thaisguigon in #5176
- feat: update links field by @thaisguigon in #5212
- Add relation in CSV exports by @gitstart-app in #5085
- Enable phone field type by @gitstart-app in #5052
- User workspace middleware throws 401 if token is invalid by @Weiko in #5245
- Constant api version by @brendanlaschke in #5248
- [feat] Minor updates to the edit db connection page by @ijreilly in #5250
- [calendar] hide calendar settings until implemented by @Weiko in #5252
- Fix sync metadata script by @charlesBochet in #5253
- fix: fix storybook build script not found by Chromatic by @thaisguigon in #5235
- Build stripe integration on backend side by @thomtrp in #5246
- fix workspace-member deletion with existing attachments/documents by @Weiko in #5232
- Quick job update by @FelixMalfait in #5265
- Fix token validation on graphql IntrospectionQuery by @Weiko in #5255
- Fix filter transform with logic operators by @Weiko in #5269
- fix: fix storybook coverage task by @thaisguigon in #5256
- 4900 multi select field front implement expanded cells by @martmull in #5151
- [calendar] Fix calendar sync status by @Weiko in ...
DateTime, MultiSelect, Currency & JSON FIelds
What's Changed
- refactor(chore):3896-replace-lodash-debounce-to-useDebounce by @voytovichdm in #4814
- Used query fields for record table and record board by @lucasbordeau in #4857
- Remove repetitive query of ClientConfig and CurrentWorkspace member by @charlesBochet in #4859
- Typo in docker compose up hint by @darekdesu in #4866
- #4852 - Remove margin left on Record Board (Kanban) by @karthikkashyap98 in #4862
- Fix get available tables by @thomtrp in #4873
- feat: add Remove menu option to Settings/Integrations/Database/Connec… by @thaisguigon in #4874
- Basic github ci workflow for twenty website by @anoopw3bdev in #4869
- [messaging]Add temporary capture to gmail refresh token exceptions by @Weiko in #4875
- 4743 use auth google apis callback url instead of messaging provider gmail callback url by @bosiraphael in #4838
- Implement context specific icon in breadcrumb navigation by @anoopw3bdev in #4839
- feat: drop target column map by @magrinj in #4670
- 4738 add listeners on person creation and workspacemember creation to update participants by @bosiraphael in #4854
- Fixed hotkey bug with Select component and added debug logs for hotkeys by @lucasbordeau in #4879
- Delete connection from frontend by @thomtrp in #4880
- Use migrations for remote tables by @thomtrp in #4877
- 4087 refactor object metadata item hooks and utils by @lucasbordeau in #4861
- feat: sync command missing ability to rename standard object by @magrinj in #4819
- [calendar] change api scope by @Weiko in #4888
- feat: fetch database connection tables in Settings/Integrations/Datab… by @thaisguigon in #4882
- Fix graphql API accepting malformed UUIDs by @charlesBochet in #4895
- Implemented dataloader for relation metadata by @lucasbordeau in #4891
- uuid codegen update by @Weiko in #4897
- Fix ID type being used in place of UUID in graphql and metadata queries by @charlesBochet in #4905
- 4710 implement google calendar incremental sync by @bosiraphael in #4822
- feat: add release workflow by @Freebios in #4904
- 4902 bug fix fix api filter for enum by @martmull in #4909
- [feat][FE] Stop persisting new empty records by @ijreilly in #4853
- Create new field type JSON by @gitstart-app in #4729
- Fix postgres 15 & 16 conflict by @omjeem in #4860
- Sync table from frontend by @thomtrp in #4894
- 4778 multi select field front implement multi select type by @martmull in #4887
- Fix phone cell display by @martmull in #4924
- chore: remove old deployments by @Freebios in #4922
- Use defaultValue in currency input by @lucasbordeau in #4911
- feat: add SENTRY_RELEASE env by @Freebios in #4912
- 4809 - disable double signup with mouse click / enter by @qnsi in #4878
- Storybook fix dark mode by @brendanlaschke in #4865
- New field type: DATE by @gitstart-app in #4876
- 4736 add listener on calendarchannel isautocontactcreationenabled by @bosiraphael in #4913
- [calendar/messaging] fix connected account auth failed should skip sync by @Weiko in #4920
- Fix remote object read-only + remove relations by @thomtrp in #4921
- Fix calendar preview avatar display by @bosiraphael in #4930
- Provide initialSnapshot to logout recoil state update snapshot by @martmull in #4929
- fix default value for message channel enums by @Weiko in #4934
- User-guide broken images fix by @Bonapara in #4932
- modified UI and activity log in website by @ady-beraud in #4935
- Make component responsive by @ady-beraud in #4767
- fixed react-error with mdx on mobile by @ady-beraud in #4919
- Added loader and counter animations by @ady-beraud in #4931
- 4810 display participants in the right drawer of the calendar event by @bosiraphael in #4896
- Fix last broken image in User-guide "Tips" by @Bonapara in #4941
- fix: sentry init is using the wrong environment by @Freebios in #4940
- Fix cron module structure by @Weiko in #4933
- Added isAuditLogged column to object-metadata-entity by @Jeetch8 in #4898
- refactor: move @/ui/display/icon to twenty-ui by @thaisguigon in #4820
- Fix Google Login Invitation link by @martmull in #4942
- add 0.10 Changelog Updates by @Bonapara in #4945
- New Datetime field picker by @gitstart-app in #4907
- Fix duplicate imports by VSCode by @FelixMalfait in #4959
- Compile with swc on twenty-server by @FelixMalfait in #4863
- Disable audit logs on WorkspaceMember by @FelixMalfait in #4960
- refactor: move Checkmark, Avatar, Chip and Tooltip to twenty-ui by @thaisguigon in #4946
- feat: add sourcemap generation for front by @Freebios in #4949
- chore: add incremental typecheck to twenty-ui by @thaisguigon in #4947
- bug: update revokedAt on PKCE flow by @AdityaPimpalkar in #4918
- Add connection failed status by @thomtrp in #4939
- feat: Improved Page and History names by @zvolcsey in #4908
- Improve phone input display by @FelixMalfait in #4968
- fix: record object chip background color when idle (not hovered) by @emadbaqeri in #4662
- 4501 improve filters for emails imports by @bosiraphael in #4966
- Seed calendar events by @bosiraphael in #4967
- [message-queue] Add job auto-removal by @Weiko in #4973
- Fix ParticipantChip and stories imports by @bosiraphael in #4974
- 4745 move common logic between messaging and calendar in packagestwenty serversrcmodulesconnected account by @bosiraphael in #4962
- Fix Never api key expiration dates by @martmull in #4965
- Fix google account login by @martmull in #4969
- feat(ci): add release drafter by @Freebios in #4970
- Removed Remote Objects from 0.10 changelog by @Bonapara in #4983
- [calendar] enabled calendar scope if feature flag enabled by @Weiko in #4984
- fix google oauth guard by @Weiko in #4987
- [calendar/messaging] fix google refresh token transaction by @Weiko in #4989
- 4988 dont import emails with ics attachments by @bosiraphael in #4990
- Date picker for Date and DateTime field input by @lucasbordeau in #4981
- [messaging] Add message deletion during partial sync by @Weiko in #4972
- Modify UI website and fix navbar issue on small devices by @ady-beraud in #4961
- fix: I should be able to use "enter" key to create profile by @ijreilly in #4978
- Introduce remote table entity by @thomtrp in #4994
- block invite link if workspace subscription is not active by @Weiko in #4991
- fix: Auto Reset Opportunity Creation Search Field by @agupta0001 in #4951
- Proposal Date picker overflow by @charlesBochet in https://github.com/twentyhq/twenty/pul...
Address FieldType, Multi-Workspace, Relation Fields on Record Page
What's Changed
- 4489 timebox finish google calendar full sync by @bosiraphael in #4615
- 4398 decouple contacts and companies creation from messages import by @bosiraphael in #4590
- Add events on Custom objects by @charlesBochet in #4625
- Replace Terms & Conditions with Sign Up Link on Sign In #4502 by @brkuhgk in #4617
- Basic log styling by @brendanlaschke in #4634
- Add worker run step to server cli by @Weiko in #4619
- refactor: improve Settings supported field types validation by @thaisguigon in #4496
- Update yarn commands by @charlesBochet in #4644
- 4525 upgrade pg graphql by @martmull in #4646
- Add endpoints to create and delete remote server by @thomtrp in #4606
- refactor: merge FieldType and FieldMetadataType by @thaisguigon in #4504
- fix: fix Select field preview by @thaisguigon in #4507
- fix: create deterministic uuids for standards relation on custom object by @magrinj in #4642
- TWNTY-4602 - Increase coverage for coverage for
twenty-front:storybook:modules
by @gitstart-app in #4649 - feat: create Integrations/IntegrationDetail page by @thaisguigon in #4574
- feat: add Active and Add integration card displays by @thaisguigon in #4591
- 4162-Sticky-Header by @Kanav-Arora in #4627
- #4298 Add emails seed data for demo and dev seeds by @hannafeddersen in #4513
- feat: use ApolloFactory for metadata client by @magrinj in #4608
- feat(ci): automate CI tags and pass github context by @Freebios in #4652
- feat: add remote object integration preview by @thaisguigon in #4614
- Update .env.example by @darekdesu in #4661
- chore: debug Twenty dockerfile failing to build on Github Actions by @Freebios in #4658
- File token chores by @darekdesu in #4664
- Update Dev Seeds to use Ids by @charlesBochet in #4663
- feat: check if company/person saved (chrome-extension) by @AdityaPimpalkar in #4280
- 4488 connect calendar tab to backend by @bosiraphael in #4624
- Fetch available remote tables by @thomtrp in #4665
- 60 fix svg xcc vulnerability by @martmull in #4660
- Fix/enum bug by @magrinj in #4659
- Add isRemote field on object metadata by @thomtrp in #4668
- Fix encryption logic by @thomtrp in #4672
- fix: update docker-compose database volumes by @Freebios in #4677
- feat: simplification of default-value specification in FieldMetadata by @magrinj in #4592
- [messaing] improve messaging import by @Weiko in #4650
- 4486 connect settingsaccountscalendars to backend by @bosiraphael in #4605
- feat: add date format calendar setting by @thaisguigon in #4600
- 4506 change field labels and field type for calendarevent object metadata to match figma by @bosiraphael in #4679
- feat: add Integrations/Integration Details/New Database page by @thaisguigon in #4593
- feat: add remote object integration databases list card by @thaisguigon in #4621
- 4643 create a pre hook for calendar events by @bosiraphael in #4666
- fixed view switcher by changing zindex of TopBar by @arnavsaxena17 in #4685
- feat: Oauth with PKCE by @AdityaPimpalkar in #4648
- feat: add one liner install command by @Freebios in #4613
- fix(one-liner): some echo are missing -e by @Freebios in #4686
- Fix: Save view by clicking outside popup while editing by @jeet1desai in #4678
- Rename refreshToken to appToken and add fields by @martmull in #4691
- Fix events being created for system objects by @Weiko in #4694
- feat: address composite field by @rostaklein in #4492
- 4698-Renamed to inbox by @Kanav-Arora in #4701
- 4586 fix workspace member feature by @martmull in #4680
- Switch timestamp to timestamptz by @Weiko in #4696
- Calendar event fixes and improvements by @bosiraphael in #4690
- Created the user-guide content (Text and illustrations) by @Bonapara in #4683
- fix icon search menu (#4565) by @simaosanguinho in #4712
- feat: reinforce one liner experience by @Freebios in #4688
- User guide update by @Bonapara in #4715
- fix: impossible to unselect all check box by @RamK777-stack in #4471
- 4410-feat(front): Implement Confirmation Prompt for Multiple Record Deletion by @Anchit1909 in #4514
- Sync remote object by @thomtrp in #4713
- Fix display empty value if boolean instead of false on show page by @brendanlaschke in #4468
- Fix overlay scroll gaps by @brendanlaschke in #4512
- feat: authorize screen by @AdityaPimpalkar in #4687
- fix: fix Settings/Developers page error by @thaisguigon in #4722
- fix search active hit styling #4719 by @pereira0x in #4720
- Fix Vale CI and change vision by @FelixMalfait in #4724
- Feat/put target object identifier on use activities by @charlesBochet in #4682
- refactor: move Tabler Icon exports to twenty-ui by @thaisguigon in #4727
- chore: upgrade Nx to v18.1.3 by @thaisguigon in #4706
- refactor: move createState to twenty-ui by @thaisguigon in #4716
- Fix jest tests broken with apollo metadata client by @charlesBochet in #4728
- feat: expand relation record cards on click in Record Show page by @thaisguigon in #4570
- Revert company address field type by @Weiko in #4737
- Fix invalid token after credentials change by @bosiraphael in #4717
- Add JsDom to server dependencies by @charlesBochet in #4740
- Fix: Update Icon Button Color and Menu Transparency with Icons by @jeet1desai in #4704
- New field currency by @anoopw3bdev in #4338
- fix panel opening wrapping glitch (#4204) by @simaosanguinho in #4673
- Fix #4160: fix upload image bug by @kikoleitao in #4734
- [messaging] rename syncExternalId to syncCursor by @Weiko in #4752
- Add back export all action button by @martmull in #4750
- Changelog for 0.4.0 by @Bonapara in #4693
- feat: Redirect to previous page after login by @AdityaPimpalkar in #4731
- Fix issue caused by a merge conflict by @FelixMalfait in #4768
- Integrate relations for remote objects by @thomtrp in #4754
- Simplify docs and remove Docker local setup by @FelixMalfait in #4783
- feat: create Settings/Integrations/Database/Connection page by @thaisguigon in #4785
- Add IS_MULTI_SELECT_ENABLED feature flag by @martmull in #4779
- [feat][BE] Enable deletion of custom fields in workspace by @ijreilly in #4780
- 4777 multi select field backend implement multi select type by @martmull in #4790
- feat: init docker compose test by @Freebios in #4730
- Force explicit deletion behavior for relations by @FelixMalfait in #4775
- 3886 - Shortcut Sort/Filter by @Kanav-Arora in https:...
Kanban View on any Object
What's Changed
- TWNTY-2244 - ESLint rule: enforce usage of .getLoadable() + .getValue() to get atoms by @gitstart-app in #4143
- Improve performance on findMany queries by @charlesBochet in #4334
- Command menu search bar by @charlesBochet in #4337
- Create new type position by @thomtrp in #4336
- 4283 create calendareventattendee data model by @bosiraphael in #4333
- Improve performances of metadata endpoint by @charlesBochet in #4347
- Use new type position for standard objects and newly created objects by @thomtrp in #4349
- fix: updated NavigationDrawerItem icon stroke width from sm to md by @zaryanz in #4331
- Deprecate old board by @charlesBochet in #4352
- feat: add event rows to Show Page Calendar tab by @thaisguigon in #4319
- Chore: Only show 2 relations in ActivityTargetChips by @Abhi3685 in #4325
- Fix fetchAllMessages cronJob when deleted datasource by @Weiko in #4355
- [backend] add cache storage module by @Weiko in #4320
- TextInput height fix by @jrachelr in #4327
- feat: sync all workspaces by @magrinj in #4353
- feat: standard fields on custom by @magrinj in #4332
- 44 add blocking middleware payment failed by @martmull in #4339
- Fix: design improvement for release page by @selango1 in #4277
- feat: add Month headers to Show Page Calendar tab by @thaisguigon in #4326
- Fix consistency issuesin relation onDelete behavior while creating a new relation by @charlesBochet in #4372
- [messaging] remove partial sync retry and fix missing datasource error by @Weiko in #4371
- 4284 create calendarchanneleventassociation data model by @bosiraphael in #4350
- Added CurrencyFieldInput design by @jeet1desai in #4254
- feat: add Settings Object Edit identifiers form by @thaisguigon in #4300
- TWNTY-3794 - ESLint rule: only take explicit boolean predicates in if statements by @gitstart-app in #4354
- Introduce ComponentState by @charlesBochet in #4386
- Implement eager load relations on graphqlQueries by @charlesBochet in #4391
- Renamed nullable utils into isDefined and isUndefinedOrNull by @lucasbordeau in #4402
- Added a RelationFromOneSide ResolveField in FieldMetadata GraphQL Resolver by @lucasbordeau in #4378
- Use backspace for clearing record table cell. by @lucasbordeau in #4299
- Build arg setter for position by @thomtrp in #4396
- Fix: Inline Phone Field Menu by @jeet1desai in #4383
- Allowing to open options for an opportunity on company record. by @Aayush-23 in #4387
- Add icon, position and key on View by @charlesBochet in #4413
- fix: Standardize labels casing by @dragos-cojocaru in #4388
- 4366-feat(front): Clickable Ascending/Descending menu by @Anchit1909 in #4389
- Bugfix relation with same field name by @FelixMalfait in #4414
- Hide favorites,MessageParticipant and calendareventattendees from datamodel by @brendanlaschke in #4392
- [backend] use cache storage service for workspace schema cache by @Weiko in #4342
- feat: add next event indicator to Show Page Calendar tab by @thaisguigon in #4348
- feat: add calendar event attendees avatar group by @thaisguigon in #4384
- [ESLint rule] prevent useRecoilCallback without a dependency array by @gitstart-app in #4411
- Fix activity creation by @thomtrp in #4426
- [messaging] Fix thread cleaner service subqueries by @Weiko in #4416
- 40 remove self billing feature flag by @martmull in #4379
- Build listener to backfill position by @thomtrp in #4432
- feat: wip sync standard id by @magrinj in #4373
- fix serverurl in openapi docs for self hosted instance by @brendanlaschke in #4390
- Upgrade documentation UI component rendering by @charlesBochet in #4445
- Setup the foundation for Twenty UI library. by @mabdullahabaid in #4423
- Use prepared statements + add tests for record position by @thomtrp in #4451
- fix: exclude GQL scalar types from the name validation of object and field metadata by @AbuHafsa in #4467
- 4285 timebox create google calendar full sync by @bosiraphael in #4442
- Refacto environment service by @FelixMalfait in #4473
- Enable backend to serve frontend by @FelixMalfait in #4461
- [messaging] fix participant handles with trailing spaces by @Weiko in #4457
- Fix: Added grab cursor on hover over favorite icon by @jeet1desai in #4415
- Fix front production container build by @charlesBochet in #4478
- Update demo link by @thomtrp in #4483
- Migrate Export feature to the action bar by @dragos-cojocaru in #4417
- 4364-feat(front): Display tags in multi-select picker by @Anchit1909 in #4419
- Added info about SERVER_URL to docs by @vueme in #4433
- fix: Close the email side panel upon clicking an open email thread by @sooster910 in #4329
- Adding new one-click deploy option to 1-click-deploy.mdx by @cosark in #4374
- Update add account button style by @bosiraphael in #4481
- Fixed select field input height by @adityavashisht9 in #4493
- feat: refactor folder structure by @magrinj in #4498
- [messaging] Fix messaging formatAddress tests by @Weiko in #4482
- Add command to stop demo seed cron by @thomtrp in #4480
- Add tests for
/modules/activities/tasks/hooks
by @gitstart-app in #4495 - Increase test coverage for
/modules/activities/timeline
by @gitstart-app in #4494 - TWNTY-4447 - Add tests for
/modules/activities/hooks
by @gitstart-app in #4475 - First batch of
modules/activities
tests by @gitstart-twenty in #4446 - feat: iframe addition (chrome-extension) by @AdityaPimpalkar in #4418
- Update backdrop-filter in OverlayBackground.ts by @ProcrastinatorMuffin in #4436
- Changed Filter/sort labels font weight to medium instead of bold. by @RamK777-stack in #4500
- feat: open event details drawer on event row click by @thaisguigon in #4464
- Prefetching views and favorites by @charlesBochet in #4421
- Refactor backend folder structure by @Weiko in #4505
- Prevent file upload in demo workspaces by @thomtrp in #4503
- Server fix: Update EnvironmentService import path in File Module. by @mabdullahabaid in #4508
- Fix server deploy by @charlesBochet in #4509
- Optimize server docker image size by @charlesBochet in #4510
- Remove demo guard for mail api by @thomtrp in #4527
- Action bar add delete count by @brendanlaschke in #4470
- [backend] rename repository services and replace repository modules by dynamicModule by @Weiko in #4536
- Update docker-compose.mdx by @sebastienhouzet in #4545
- Cleanup default values and leftover methods in environmentService by @FelixMalfait in #4550
- TWNTY-4450 - Add tests for
/modules/activities/emails
by @gitstart-app in https://github...
New Layout & Filter and Order by Select Field
What's Changed
- Release 0.3.1 by @charlesBochet in #4031
- Corrected a typo in the visuals ("TEXT TEXT") by @Bonapara in #4047
- Update of the readme with updated visuals by @Bonapara in #4041
- Fix/workspace health type by @magrinj in #4053
- fix: ignore enum options sync for now by @magrinj in #4056
- 3938 change email auto import to contact ive sent email to by @bosiraphael in #3995
- 4008 dont create a contact company if it matches the persons domain by @bosiraphael in #4057
- [Enter] key autosave for new API key and webhook by @Jonathanlemon in #3955
- 3969 Adjusted Sidebar by @Kanav-Arora in #3971
- Feat/activity optimistic activities by @lucasbordeau in #4009
- fix: Fixed LinkedIn links with unicode by @zvolcsey in #3953
- fix: added working
launch.json
for VSCode by @rostaklein in #4037 - chore: make twenty-server nest command scripts depend on twenty-email… by @thaisguigon in #4055
- feat: REST endpoints for metadata API by @AdityaPimpalkar in #3912
- Resolved text editor styled by @jeet1desai in #4033
- fix: unwanted comment on graphQL input by @magrinj in #4071
- Fix delete with no result should not throw by @Weiko in #4091
- fix: sync and health by @magrinj in #4095
- feat: create Settings/Accounts/Calendars page by @thaisguigon in #4090
- 4008 dont create a contact company if it matches the persons domain by @bosiraphael in #4088
- fix: workspace health undefined relation by @magrinj in #4107
- feat: create Settings/Accounts/Calendars/Calendar Settings page by @thaisguigon in #4092
- Fix developers url and remove webhook url error by @thomtrp in #4120
- Added beta tag in email by @jeet1desai in #4098
- feat: add Calendar Settings section to Settings/Accounts/Calendars page by @thaisguigon in #4104
- feat: add Synchronization calendar settings by @thaisguigon in #4111
- Updated tasks inbox empty state wording by @jeet1desai in #4121
- Fix number csv import by @brendanlaschke in #4114
- 45 create billing core tables by @martmull in #4096
- Add confirmation modal when deleting/ regenerating api keys, deleting webhook by @anoopw3bdev in #4035
- Refactor/finish activities optimistic by @lucasbordeau in #4106
- feat: allow backend to rename field of custom object by @magrinj in #4097
- Add onDeleteAction to RelationMetadata by @Weiko in #4100
- feat: add Accounts List Card to Calendar Settings by @thaisguigon in #4129
- 3933 filter non work email from auto contact creation by @bosiraphael in #4131
- Add writeLog for relation update sync metadata by @Weiko in #4136
- Fix referential_constraints health check by @Weiko in #4139
- feat: add Contact Auto-Creation calendar settings by @thaisguigon in #4132
- feat: add Event Visibility calendar settings by @thaisguigon in #4138
- 46 add stripe product endpoint by @martmull in #4133
- Handle relations between same objects by @thomtrp in #4137
- 4020 timebox improve performances on messages read by @bosiraphael in #4140
- WIP: New User Guide by @Kanav-Arora in #3984
- 4150 i should be able to view my emails even if ive set my account visibility to metadata by @bosiraphael in #4156
- New folder structure for website by @FelixMalfait in #4159
- Improved activity editor re-renders by @lucasbordeau in #4149
- Fixed DeveloperSettings stories by @Aayush-23 in #4166
- Remove usage of toSorted as it is not fully supported by @charlesBochet in #4168
- Website: markdown to release by @brendanlaschke in #4146
- Build cron for data seed demo by @thomtrp in #4142
- fix: forbid creation of objects or fields with certain characters or with forbidden keywords that clashes with pg_graphql by @AbuHafsa in #3957
- feat: add Color calendar setting by @thaisguigon in #4141
- feat: add Display calendar settings by @thaisguigon in #4164
- TWNTY-3968 - Fix and enhance storybook:pages tests by @gitstart-app in #4072
- 47 add stripe checkout endpoint by @martmull in #4147
- 38 add billing webhook endpoint by @martmull in #4158
- feat: find duplicate objects init by @rostaklein in #4038
- MQ Facepaint introduced by @Kanav-Arora in #4169
- feat: validate webhook URL by @rostaklein in #4144
- feat: user can have multiple workspaces (backend) by @AdityaPimpalkar in #4036
- Refactor sign-up into its own service by @charlesBochet in #4173
- TWNTY-3825 - ESLint rule: const naming by @gitstart-app in #4171
- Add linter to Chrome Extension (#4044). by @mabdullahabaid in #4174
- 3961-Notes-Relation-Field by @Kanav-Arora in #3965
- fix: prevent scroll to softfocus cell when hover by @anoopw3bdev in #3990
- Removed the boxes around fields on shows and side panel by @jeet1desai in #4032
- fix: set a specifc date to date field input on the story by @AbuHafsa in #3919
- Feat currency type optimistic cache by @anoopw3bdev in #3907
- Chrome Extension: Update logo and change default routes to those of Twenty prod (#4046). by @mabdullahabaid in #4172
- Update docker-compose.mdx by @AutoComput in #4178
- Ignore defaultValue update for select fields by @charlesBochet in #4193
- [messaging] clean orphan threads and messages after connected account deletion by @Weiko in #4195
- Fixed confirmation modal not closing after regenerating API key by @sohalkumar in #4192
- 4026 create storybook tests for blocklist components by @bosiraphael in #4185
- Fixed favicon requests for empty domain names by @sohalkumar in #4191
- Fix password too short issue by @thomtrp in #4200
- Fix demo workspace seed by @charlesBochet in #4211
- 4017 improve queries on messages write by @bosiraphael in #4207
- fix: Extend regex in Linkedin Field to support LinkedIn school URL by @EltonGohJH in #4198
- [messaging] fix empty history by @Weiko in #4218
- Add pagination to partial sync and add logs by @bosiraphael in #4223
- Update relation cascade on standard objects favorite, attachment, activityTargets by @charlesBochet in #4227
- 39 create subscription and success modale by @martmull in #4208
- fix: design of technical documentation by @shree-1788 in #4231
- Fix nullable being set to null for text field by @charlesBochet in #4239
- Remove html from messages by @bosiraphael in #4229
- 4209 speed up gmail full sync by using search params to query only the relevant emails by @bosiraphael in #4213
- TWNTY-3316 - Add tests for
modules/spreadsheet-import
by @gitstart-app in #4219 - feat: apply RecordDetailSection style on RecordDuplicatesSection and … by @thaisguigon in #4241
- feat: add Object Edit Settings section with Object preview by...
Linkedin Extension & Twenty Contributors
What's Changed
- Release 0.3.0 by @charlesBochet in #3793
- Change calendar transparency by @bosiraphael in #3732
- Refactored dependencies from App component by @lucasbordeau in #3763
- GH 3365 Add contributors page on twenty-website by @i-am-chitti in #3745
- Added loader in sign-in-up button by @jeet1desai in #3801
- Improve Documentation by @FelixMalfait in #3795
- blocknote update 0.11.2 by @brendanlaschke in #3766
- Member card fix email display by @brendanlaschke in #3555
- Hide default selected icon from search by @jeet1desai in #3752
- Added placeholder in task list by @jeet1desai in #3785
- fix: options value can't contain special characters by @magrinj in #3738
- [messaging] add cronjob for workspaces messages partial sync by @Weiko in #3800
- Custom object import csv by @brendanlaschke in #3756
- Fix bug and remove useless stuff by @martmull in #3861
- Rename recordPosition into position by @thomtrp in #3864
- Added sanitize funtion to normalize the link input by @SujithThirumalaisamy in #3543
- feat: add deletion support on sync metadata command by @magrinj in #3826
- 3803 use email visibility to display only the shared information backend by @bosiraphael in #3871
- Add rate limiting in the server using built in Nest.js capability by @jss475 in #3566
- Feat/workspace health core fix by @magrinj in #3863
- 3491 launch cleaning cron by @martmull in #3872
- Added skeleton loader on page load by @jeet1desai in #3740
- 3272 add a page to create and edit webhook by @martmull in #3859
- Fixed drawer not closing on task creation on Show Page by @lucasbordeau in #3867
- Add defaultAvatarUrl to core user by @martmull in #3883
- Fix IconPicker broken storybook tests by @charlesBochet in #3884
- Add one to many relation between opportunity and attachment by @thomtrp in #3866
- Store compact view status by @thomtrp in #3850
- Custom swagger endpoint for docs by @brendanlaschke in #3869
- [messaging] Add messageParticipant matching once people emails are updated by @Weiko in #3887
- 3804 use email visibility to display only the shared information frontend by @bosiraphael in #3875
- feat: workspace:health nullable fix by @magrinj in #3882
- feat: change RecordShowPage Relation Card field display for TO_ONE_OB… by @thaisguigon in #3596
- feat: workspace health type fix by @magrinj in #3890
- 3628 timebox separate user creation from workspace creation by @martmull in #3737
- Fix delete incomplete workspaces by @martmull in #3893
- feat: display record identifier field as first column in table by @thaisguigon in #3788
- feat: workspace health default-value fix by @magrinj in #3894
- Fix logger behavior by @charlesBochet in #3897
- Set opportunity stage as editable by @thomtrp in #3838
- Activity cache injection by @lucasbordeau in #3791
- Update trouble shooting section by @brendanlaschke in #3868
- Press enter to add to blocklist by @bosiraphael in #3847
- 3808 auto creation of company when importing emails by @bosiraphael in #3881
- 3811 add accounts loader by @bosiraphael in #3829
- GH-3652 Add forgot password on sign-in page by @i-am-chitti in #3789
- Added create an activity from open activity by @jeet1desai in #3903
- feat: order board cards by record position by @thaisguigon in #3902
- Closes #2413 - Building a chrome extension for twenty to store person/company data into a workspace. by @mabdullahabaid in #3430
- Fix bull-mq retry option and exceptions not being captured for jobs by @Weiko in #3905
- fix: workspace health by @magrinj in #3916
- feat: health check enum by @magrinj in #3913
- BUG FIX: Create workspace member if inviteHash exists by @martmull in #3917
- Added Single Command for Frontend + Backend by @Kanav-Arora in #3909
- Added the dark mode version of empty states by @jeet1desai in #3906
- 3807 auto creation of contact when importing emails by @bosiraphael in #3888
- 3921 delete messagethreads after deleting connectedaccount by @bosiraphael in #3925
- Disable buffered logs by @brody192 in #3892
- [messaging] Fix import message participant uppercase by @Weiko in #3934
- [messaging] Remove ids from enqueued jobs by @Weiko in #3936
- [messaging] Fix messaging import with no person skipped email by @Weiko in #3941
- Add workspacePreQueryHook module by @Weiko in #3879
- [messaging] Removing TO requirement for email import by @Weiko in #3949
- feat: sync metadata can alter and update a field by @magrinj in #3944
- Fix missing feature flag on messaging listeners by @Weiko in #3952
- Activity Editor hot key scope management by @Muralidhar22 in #3568
- POC: generate twenty-server package.json with Nx by @thaisguigon in #3654
- Zapier add description to labels by @martmull in #3787
- 3865-Add-Integrations by @Kanav-Arora in #3870
- Update loading image by @jeet1desai in #3929
- docs: add a section for troubleshooting the local setup by @AbuHafsa in #3948
- docs: change the slug for local setup link by @AbuHafsa in #3947
- Update custom object placeholder by @jeet1desai in #3876
- 3814 create blocklist data model by @bosiraphael in #3927
- add rimraf to server dependencies by @Weiko in #3977
- 3889 activate settingsaccountsemailsinboxsettings by @bosiraphael in #3962
- Add proper ORM and postgres support by @charlesBochet in #3978
- fix CreateCompaniesAndContactsAfterSyncJobData import by @Weiko in #3979
- [messaging] fix add messageParticipant not in a transaction by @Weiko in #3981
- [worker] add more logs to queue-worker by @Weiko in #3982
- Fix website build by @charlesBochet in #3983
- Fix website build by @charlesBochet in #3986
- 3129 show page relation field add delete menu item by @martmull in #3975
- [messaging] add defaultValue to isContactAutoCreationEnabled by @Weiko in #3992
- 3815 blocklist connect frontend by @bosiraphael in #3930
- feat: workspace health target column map fix by @magrinj in #3932
- 3970-label fix by @Kanav-Arora in #3974
- Fixed label transform issues by @swayamvasavada in #3985
- feat: filter people in CommandMenu via last name, email and phone by @rostaklein in #3997
- feat: add default value for some type of fields by @magrinj in #3991
- fix: invalidate cache when no record inside workspace cache version by @magrinj in #3994
- fix: workspace cache version by @magrinj in #3999
- fix: impact too many records by @magrinj in https://github.com/twentyhq...
Emails PoC and Rating Field Type
What's Changed
- UI Fixes for Dark Mode by @Kanav-Arora in #3337
- Bump version to 0.2.3 by @charlesBochet in #3506
- Center InternalDatePicker Clear button by @leojalfred in #3265
- feat: set field as custom object label identifier in Object Detail by @thaisguigon in #3360
- fixed issue Display field name on Kanbans & Shows by @abdul-irfan-k in #3427
- Add select type to field metadata decorator by @Weiko in #3471
- fixed issue Refine Settings Layout by @abdul-irfan-k in #3429
- Add tests for
modules/object-metadata/hooks
by @gitstart-twenty in #3485 - Add tests for
modules/analytics
by @gitstart-twenty in #3462 - Fixed selection reset on loading more by @lucasbordeau in #3500
- Add tests for
modules/navigation
andmodules/keyboard-shortcut-menu
by @gitstart-twenty in #3461 - Implemented useListenClickOutside V2 by @lucasbordeau in #3507
- #3476 round sum total amount in board by @jeet1desai in #3484
- Fix: Increase Fields column width by @jeet1desai in #3519
- Add performance logs to object metadata query by @Weiko in #3463
- feat: workspace health relation by @magrinj in #3466
- feat: display label identifier table cell as chip with link to Record… by @thaisguigon in #3503
- TWNTY-3379 - Add tests for
modules/favorites
andmodules/companies
by @gitstart-app in #3528 - Update blocknote by @brendanlaschke in #3517
- feat: Create a ThreadBottomBar component by @abdul-irfan-k in #3474
- replace text input by texterarea by @jeet1desai in #3473
- TWNTY-3381 - Add tests for
modules/apollo
by @gitstart-app in #3530 - Show page - disable click for workspace member relation by @thomtrp in #3464
- Add tests for
modules/auth
andmodules/command-menu
by @gitstart-twenty in #3548 - TWNTY-3480 - Add tests for
modules/object-record/relation-picker/hooks
by @gitstart-app in #3547 - Add tests for
modules/ui/layout/tab
by @gitstart-twenty in #3535 - Updated CreateProfile default to System Color Scheme by @SujithThirumalaisamy in #3544
- Improve health check command by @charlesBochet in #3553
- Update company board card link to opportunity show page by @thomtrp in #3557
- Standard Object prefill updates by @charlesBochet in #3570
- Deactivated vite-plugin-checker overlay by @lucasbordeau in #3574
- Load views on user load and read in cache by @thomtrp in #3552
- Update logging for smtp emails by @martmull in #3536
- Move emails to dedicated package by @martmull in #3542
- drag and drop on files tab by @jeet1desai in #3432
- 3434 connect settingsaccountsemails to the backend by @bosiraphael in #3584
- Remove flag relation select by @charlesBochet in #3588
- Add tests for
modules/ui/utilities/pointer-event
by @gitstart-twenty in #3586 - Build message thread empty right drawer by @thomtrp in #3585
- header component added by @suman-somu in #3539
- Fix Continuous Deployment script after adding twenty-emails package by @charlesBochet in #3589
- TWNTY-3482 - Add tests for
modules/ui/utilities/recoil-scope/scopes-internal/hooks
by @gitstart-app in #3582 - Add missing tests in
modules/ui/utilities/recoil-scope
by @gitstart-twenty in #3581 - TWNTY-3549 - Add tests for
modules/object-record/field
by @gitstart-app in #3572 - Fixed filter dropdown on task page by @lucasbordeau in #3469
- Merge messages and threads #1 by @Weiko in #3583
- Update contributing guidelines with PR precendence by @charlesBochet in #3590
- Leave table focus on show page click by @lucasbordeau in #3521
- perf: apply record optimistic effects with cache.modify on mutation by @thaisguigon in #3540
- Fix FloatingButton to behave like FloatingIconButton in a group. by @jss475 in #3524
- fixed overflowing text for select on card #3494 by @abdul-irfan-k in #3504
- Broken calendar component by @jeet1desai in #3525
- Store HTML message by @Weiko in #3594
- Tooltip on icons by @seAfnan in #3529
- Fixed Max lenght in Label , #3515 by @dev-kraken in #3558
- [messaging] Rename body to text by @Weiko in #3595
- Use scroll left instead of intersection observer by @lucasbordeau in #3522
- Tag current board as deprecated to make room for the new record board implementation by @charlesBochet in #3601
- Update clean inactive workspaces by @martmull in #3600
- Introduce new board feature flag by @charlesBochet in #3602
- Build message threads by @thomtrp in #3593
- Fix message table plural name by @Weiko in #3604
- Load empty board if view type is kanban by @charlesBochet in #3605
- Allow underscores in PG_DATABASE_URL by @serban-alexandru in #3599
- Fix twenty-emails build by @martmull in #3608
- Add new Record board shell by @charlesBochet in #3609
- Scroll tab list on record show by @jeet1desai in #3561
- GH-3245 Change password from settings page by @i-am-chitti in #3538
- Fetch messages with hard coded thread id by @thomtrp in #3613
- [Messaging] Fix duplicate messageChannelMessage by @Weiko in #3616
- Add fetch more loader for email messages by @thomtrp in #3618
- Fix/nested filter by @magrinj in #3624
- 3263 modify timeline messagingservice to allow the frontend to get multiple participants in a thread by @bosiraphael in #3611
- feat: added webhook list section and updated api key section by @lakshay-saini-au8 in #3567
- Reset workspaces to delete between executions by @martmull in #3625
- Display columns on Record Board by @charlesBochet in #3626
- 3571 remove reply quotations from emails by @bosiraphael in #3630
- Add record chip for sender and add receivers by @thomtrp in #3629
- Fix missing package in twenty-emails by @martmull in #3631
- Updating the readme cover & title by @Bonapara in #3632
- Catch graphql errors by @bosiraphael in #3634
- Remove error when new_psw==old_psw by @martmull in #3637
- fix email thread message by @bosiraphael in #3636
- fix-threads-pagination by @bosiraphael in #3639
- Remap items in board by @charlesBochet in #3643
- [Messaging] Fix gmail connected account creation redirect url by @Weiko in #3653
- Display RecordBoardCards on new board by @charlesBochet in #3657
- Refactor Field Inputs by @charlesBochet in #3658
- Improve RecordTableCellperformances by @charlesBochet in #3659
- Fix Opportunities page by @charlesBochet in #3660
- Allow Card field update and card drag on new record board by @charlesBochet in #3661
- chore: set up twenty-emails config so build isn't needed in development by @thaisguigon in https://github.com/twentyhq/...
Webhooks & Relation Support
What's Changed
- Marketing website POC by @FelixMalfait in #3139
- User guide by @nimraahmed in #3060
- fix: handled submitting wihtout entering emailid by @dotslashbit in #3149
- Fix: broken link to server .env.example by @sonyarianto in #3151
- GH-3106 Ability to multi-note/task with action bar by @i-am-chitti in #3137
- GH-3153 Enrich Sentry logs with user data on frontend by @i-am-chitti in #3158
- GH-3090 Add ability to paste image in activity body editor by @i-am-chitti in #3119
- 3019 timebox add typing and checks in workspacemessagingservices by @bosiraphael in #3112
- Updated the color theme of icon in Data Model Settings table by @PraveenShinde3 in #3121
- feat: add email blocklist section with mocked data by @lakshay-saini-au8 in #3145
- Marketing website improvements by @FelixMalfait in #3169
- fix: modified the floatingButtonGroup code to have only one focus by @dotslashbit in #3167
- docs : added password in yarn setup doc by @Souravpakhira in #3174
- fix: fix disabled Button and IconButton primary accents background co… by @thaisguigon in #3165
- Issue#3150 - Esc and click outside is working to close searchbox by @seAfnan in #3168
- Fix: Added autoFocus to Input by @cristiantiradob in #3179
- Marketing improvements 3 by @FelixMalfait in #3175
- Replace all hardcoded core object name by enum by @flooxo in #3170
- Added a clear/reset button in InternalDateInput to reset/unschedule events by @atharvParlikar in #3154
- Website improvements 4 by @FelixMalfait in #3182
- first column of objects table fixed by @Muralidhar22 in #3147
- Fix docker install to have all projects by @charlesBochet in #3200
- docs: update 'Edit this page' link to fix 404 error by @neerajkumarc in #3203
- fix: pg_graphql performance by @magrinj in #3204
- Update README.md by @eltociear in #3189
- Build linux pg graphql by @charlesBochet in #3206
- Fix favorites by @lucasbordeau in #3138
- 3207 fix render self deploy by @martmull in #3221
- 3202 fetch emails by threads by @bosiraphael in #3214
- Consistent Sorting of Workspace Buttons Across Browsers by @Jeong-Min-Cho in #3222
- Render on latest image by @charlesBochet in #3223
- 3216 request a new access token for the gmail api when it expires by @bosiraphael in #3224
- 2248 zapier integration implement typeorm eventsubscribers by @martmull in #3122
- 3157 refactor scoped states to move to v3 by @bosiraphael in #3180
- fix: updatedAt parameter by @AdityaPimpalkar in #3208
- fixed button size by @suman-somu in #3194
- OSS Friends list is out of date by @gitstart-twenty in #3192
- POC: chore: use Nx workspace lint rules by @thaisguigon in #3163
- feat: improve menuitem btn design by @CzhCN0 in #3152
- 3218 make the function fetchworkspacememberthreads idempotent by @bosiraphael in #3230
- Fix Event core object by @Weiko in #3232
- 3233 connect connected accounts settings to backend by @bosiraphael in #3235
- Fix nx lint setup by @charlesBochet in #3234
- Feat/activities custom objects by @lucasbordeau in #3213
- Added @graphiql/explorer-plugin in twenty docs package by @Jeong-Min-Cho in #3244
- trimming email input in validation #3195 by @Rakan-Makhashin in #3246
- Increase test coverage for
/modules/views
by @gitstart-twenty in #3211 - feat: add RecordRelationFieldCardSection by @thaisguigon in #3176
- Loading more UI updated by @suman-somu in #3198
- feat: add Settings/Accounts/Emails/Inbox Setting Contact auto-creation by @lakshay-saini-au8 in #3188
- 3185 / Fix NavigationDrawer Overflow by @jordan-sussman in #3187
- Fix create trigger called twice by @martmull in #3243
- Embrace nx monorepo structure with root package.json by @charlesBochet in #3255
- Fixed user exist checking with trimmed email input #3195 by @Rakan-Makhashin in #3251
- Add mail driver by @martmull in #3205
- fixed button padding by @suman-somu in #3260
- Activity editor add File block by @brendanlaschke in #3146
- Behaviour Fix on new record addition by @Kanav-Arora in #3113
- Refactor recoil v4 by @charlesBochet in #3266
- Add doc link in env file by @martmull in #3277
- Added vite-plugin-checker to twenty-front by @lucasbordeau in #3289
- Add fetch connected account job by @Weiko in #3313
- Implement select v1 by @charlesBochet in #3312
- Fixed create task bug by @lucasbordeau in #3308
- feat: add Relation Field Card plus button in Show Page by @thaisguigon in #3229
- Add cron mechanism by @martmull in #3318
- feat: add Relation field card feature flag by @thaisguigon in #3311
- 3242 all message recipients should be stored by @bosiraphael in #3320
- 3236 add syncproviderconfig to connectedaccount model by @bosiraphael in #3328
- Fix Select by @charlesBochet in #3327
- Migrate tab list to scope map by @thomtrp in #3333
- Fix capture exception for metadata and core by @Weiko in #3335
- Fix bug on relation on custom object by @charlesBochet in #3336
- Added eslint config in vite-plugin-checker by @lucasbordeau in #3321
- Migrate dropdown to scope map by @thomtrp in #3338
- Fixed I shouldn't be able to remove myself from a workspace #3330 by @ollymac1 in #3349
- Fix metadata exception handler #2 by @Weiko in #3357
- Fix vale ci by @charlesBochet in #3353
- Fix shadow to light by @Kanav-Arora in #3359
- Fix vite build config by @charlesBochet in #3358
- Sort Metadata Fields by Custom Status and Creation Date by @Jeong-Min-Cho in #3254
- Update react-hotkeys-hook by @brendanlaschke in #3269
- Increase test coverage for
/modules/ui
by @gitstart-twenty in #3314 - feat: use apollo playground in debug mode by @magrinj in #3295
- Add tests for
modules/object-record/hooks
by @gitstart-twenty in #3361 - Add tests for
modules/object-record/object-sort-dropdown
by @gitstart-twenty in #3366 - feat(signup): allow to block signup by @arthureichelberger in #3209
- Finish Implementing Select/MultiSelect #3166 by @GARY121github in #3226
- Step 3: Set up PostgreSQL Database by @seAfnan in #3370
- GH-3183 Add sub actions to quick actions in ActionBar by @i-am-chitti in #3339
- feat: workspace health by @magrinj in #3344
- Migrate record table to scope map by @thomtrp in #3363
- fix: fixed overflowing text on record show page by @Sagarjari01 in #3372
- Import messages after connected-account creation by @Weiko in #3389
- ref...
Job & Workers support, Monorepo migration
Highlights
- Upcoming feature — Messaging: This feature is still behind feature flag but we are making good progress. Development of data models for upcoming messaging feature, enhancements in GraphQL and REST API documentation, and implementation of sync drivers for queue messages. Some parts of the frontend are also complete (e.g. account connection).
- Developer experience — Monorepo + Vite + APs: Migration to a monorepo structure, along with updates to scripts, documentation, and Jest configuration to support this new architecture. Vite 5 integration for frontend enhancement and improvements in Docker install process. Big enhancements in GraphQL and REST API documentation.
- Continuous improvement: Improving handling of exceptions and optimizing database interactions. Various UI improvements like fixing the display of buttons, icons, and tables, and adding skeleton loading.
What's Changed
Click to view the 105 changes
- Move frontend to Vite 5 by @u5r0 in https://github.com//pull/2775
- Migrate to a monorepo structure by @charlesBochet in https://github.com//pull/2909
- 2921-fix: readme img path fix by @Kanav-Arora in https://github.com//pull/2922
- Update scripts and documentation to use nx and new monorepo architecture by @charlesBochet in https://github.com//pull/2912
- Fix docker install by @charlesBochet in https://github.com//pull/2925
- fix: add vscode workspace by @magrinj in https://github.com//pull/2937
- Add field create and delete migration to metadata sync by @Weiko in https://github.com//pull/2942
- BugFix: display button title when escaping the "Import" flow by @karishma-shah in https://github.com//pull/2948
- Migrate connected account model by @bosiraphael in https://github.com//pull/2944
- feat: save Relation field description on creation by @thaisguigon in https://github.com//pull/2940
- 2902-fix: record table column add behavior by @Kanav-Arora in https://github.com//pull/2936
- feat: add Settings/Accounts/Emails Emails Sync section with empty state by @thaisguigon in https://github.com//pull/2941
- 2946-fix: Postgres Makefile file path fix by @Kanav-Arora in https://github.com//pull/2947
- fix: use proper variable name by @magrinj in https://github.com//pull/2938
- 2813 create message channel data model by @bosiraphael in https://github.com//pull/2952
- fix: workspace migration isNullable by @magrinj in https://github.com//pull/2939
- Feat/complete filter order by types by @lucasbordeau in https://github.com//pull/2943
- feat: add Settings/Accounts Connected Accounts section accounts list by @thaisguigon in https://github.com//pull/2953
- 2811 create message thread data model by @bosiraphael in https://github.com//pull/2955
- 2812 create message recipient data model by @bosiraphael in https://github.com//pull/2961
- Add featureFlag gateDecorator for sync-metadata by @Weiko in https://github.com//pull/2956
- Create empty command by @bosiraphael in https://github.com//pull/2963
- [Wip] Update CI CD by @charlesBochet in https://github.com//pull/2945
- Fix MSW and storybook setup by @charlesBochet in https://github.com//pull/2976
- 2893 add data wrapper for mysql by @martmull in https://github.com//pull/2970
- Add generate openapi schema for rest api by @martmull in https://github.com//pull/2923
- Added ability to edit filter and sort chip directly by @lucasbordeau in https://github.com//pull/2968
- Fix command menu keyboard navigation by @gitstart-twenty in https://github.com//pull/2908
- Fix Tsup setup to fuel docs with twenty-ui components by @charlesBochet in https://github.com//pull/2978
- feat: add Settings/Accounts/Emails Emails Sync section accounts list by @thaisguigon in https://github.com//pull/2957
- 2951-fix: Editing view filters button fix by @Kanav-Arora in https://github.com//pull/2954
- Use SelectableList in RelationPicker, SingleEntitySelectBase and MultipleEntitySelect by @Kanav-Arora in https://github.com//pull/2949
- Fix Icon Lazy Loading by @charlesBochet in https://github.com//pull/2984
- feat: redirect to Plan Required page if subscription status is not active by @thaisguigon in https://github.com//pull/2981
- feat:added an empty page with the route: /settings/accounts/new. by @lakshay-saini-au8 in https://github.com//pull/2960
- fix note card display by @brendanlaschke in https://github.com//pull/2989
- Fix hook bug by @lucasbordeau in https://github.com//pull/2995
- Add pg-boss worker poc by @Weiko in https://github.com//pull/2991
- Update Jest configuration for frontend by @charlesBochet in https://github.com//pull/2994
- On RecordTable, if I have no records, the Record Table Layout is not broken by @gitstart-twenty in https://github.com//pull/2911
- Add jest tests for twenty-front by @gitstart-twenty in https://github.com//pull/2983
- feat: select default Unit for Currency field by @thaisguigon in https://github.com//pull/2996
- Remaining UI docs by @nimraahmed in https://github.com//pull/2997
- Fix CIs by @charlesBochet in https://github.com//pull/3004
- Fix ExceptionHandler requiring httpAdapter by @charlesBochet in https://github.com//pull/3021
- Disable Danger CI on push trigger by @charlesBochet in https://github.com//pull/3024
- feat: add Show Page Emails tab by @thaisguigon in https://github.com//pull/2962
- 2880 timebox create a poc to fetch emails from the gmail api by @bosiraphael in https://github.com//pull/2993
- Fix modified files DangerCI by @brendanlaschke in https://github.com//pull/3025
- feat: add Show Page Emails preview by @thaisguigon in https://github.com//pull/2964
- 2915 rest api documentation by @martmull in https://github.com//pull/3020
- 2982-feat: Clear SelectableList reset scoped state by @Kanav-Arora in https://github.com//pull/2987
- Fix docusaurus style overriden by spotlight/element (rest api playground) by @charlesBochet in https://github.com//pull/3033
- Fix: keep the filter edition open if it is empty by @CzhCN0 in https://github.com//pull/2986
- Readme update with demo by @FelixMalfait in https://github.com//pull/3042
- GH-3028 Update filter key and JSON parse assignee selected filter on tasks page by @i-am-chitti in https://github.com//pull/3045
- Fix documentation layout broken because of mixed rest api doc styles by @charlesBochet in https://github.com//pull/3043
- feat: Add feature flags to Select & Rating custom fields by @i-am-chitti in https://github.com//pull/3037
- Fix tag border color Relations by @brendanlaschke in https://github.com//pull/3034
- 3035 improve rest api syntax by @martmull in https://github.com//pull/3047
- Basic data enrichment by @FelixMalfait in https://github.com//pull/3023
- Add sync driver for queue messages by @Weiko in https://github.com//pull/3070
- Fixs/reviews setups by @Varrooo in https://github.com//pull/3067
- 2980-Fix: CommandGroup background by @Kanav-Arora in https://github.com//pull/2985
- feat: add Settings/Accounts/New section with empty state by @lakshay-saini-au8 in https://github.com//pull/3000
- 3011 fill the messagerecipient table when fetching messages by @bosiraphael in https://github.com//pull/3073
- Fix queue setup by @Weiko in https://github.com//pull/3075
- fix: add dark mode version of Settings Object cover image by @thaisguigon in https://github.com//pull/3079
- fix: fix Relation field form select labels display by @thaisguigon in https://github.com//pull/3081
- fix: hide disabled fields in Show Page by @thaisguigon in https://github.com//pull/3062
- 2973-feat: Skeleton Loading Added by @Kanav-Arora in https://github.com//pull/2988
- 2914 graphql api documentation by @martmull in https://github.com//pull/3065
- fix: sentry doesn't catch exceptions from flexible backend by @magrinj in https://github.com//pull/3074
- fix: empty state should not appear during table loading by @a-kud in https://github.com//pull/3040
- Added rimraf to yarn build by @lucasbordeau in https://github.com//pull/3089
- feat(workspace-resolver): prevent deletion of demo workspaces (#2207) by @khakimov in https://github.com//pull/3068
- Upload image for use in blocknote editor by @brendanlaschke in https://github.com//pull/3044
- feat: add Settings/Accounts/Emails/Inbox Settings page by @th...
Attachments, Timeline redesign and Performances
Highlights
- Redesigned Timeline
- Upload attachments
- Big improvement to mobile display
- Introducing the REST API
- Better error handling
What's Changed
Click to view the 68 changes
- Release 0.2.0 by @charlesBochet in /pull/2777
- feat: add missing updateMany and deleteMany resolvers on flexible backend by @gitstart-twenty in /pull/2758
- Renaming "Experience" to "Appearance" by @GsnMithra in /pull/2776
- feat: Adding support for new FieldMetadataType with Postgres enums by @magrinj in /pull/2674
- fix: nested relations not working and relations not prefixed by @magrinj in /pull/2782
- feat: rename Probability field type to Rating and update preview by @thaisguigon in /pull/2770
- add message queue integration by @mahendraHegde in /pull/2491
- Add rest api by @martmull in /pull/2757
- 2503-feat(front): hover icons added; commandmenu open added by @Kanav-Arora in /pull/2622
- [FEAT-2496] Add Customize fields button in new column menu by @umrkhn in /pull/2683
- fix: Remove "pen icon" on Team member field #2384 by @pokegh0st in /pull/2549
- Feat/error boundaries by @lucasbordeau in /pull/2779
- feat: improve mobile display by tab bar and other changes by @shavidze in /pull/2304
- 2727-fix(front): CommandMenu and KeyboardMenu invoke handled by @Kanav-Arora in /pull/2783
- feat: Add seed people and companies data for demo environment (#2207) by @khakimov in /pull/2307
- Attachments add more file extensions by @brendanlaschke in /pull/2803
- minor improvements to ui component docs by @nimraahmed in /pull/2805
- Redesign Timeline by @brendanlaschke in /pull/1772
- Fix zapier validation team request by @martmull in /pull/2806
- feat: create Settings/Accounts page by @thaisguigon in /pull/2837
- feat: add Status component by @thaisguigon in /pull/2838
- 2426 timebox refactor board with the new scope architecture by @bosiraphael in /pull/2789
- Fixing fields that got mixed up (#2207) by @khakimov in /pull/2842
- Create feature flag and use hook to display account tab conditionally by @bosiraphael in /pull/2843
- Sync standard object metadata by @Weiko in /pull/2807
- Bug Fix: Allows user to press 'Enter' to navigate through forms by @PaulaPerdomo in /pull/2840
- fix: avoid create custom entities with the same name by @a-kud in /pull/2791
- Fix optimistic rendering issues on board and table by @charlesBochet in /pull/2846
- fix: several Navigation Bar and Drawer fixes by @thaisguigon in /pull/2845
- fix: fix Pipeline Step title and color update in board by @thaisguigon in /pull/2849
- feat: better server lint by @magrinj in /pull/2850
- Implement table record virtualizer back by @gitstart-twenty in /pull/2839
- fix: FieldMetadata default value and options better validation by @magrinj in /pull/2785
- Fix optimistic rendering issues on views by @charlesBochet in /pull/2851
- Rest api updates by @martmull in /pull/2844
- 2795-fix(front): ObjectNamePlural added as Page Header title by @Kanav-Arora in /pull/2852
- Feat/multi relation filter by @lucasbordeau in /pull/2858
- Throw an error if workspace id has no object by @martmull in /pull/2857
- 2809 create connected account data model by @bosiraphael in /pull/2856
- Chore/move records related to record folder by @lucasbordeau in /pull/2859
- feat: add Settings/Accounts Settings section by @thaisguigon in /pull/2853
- Fix api rest by @martmull in /pull/2860
- Moved pure UI object fields to ui folder by @lucasbordeau in /pull/2861
- Fix/enum validation by @magrinj in /pull/2863
- feat: Adding className as a prop by @MatheusSanchez in /pull/2847
- Sync metadata generate migrations by @Weiko in /pull/2864
- Fix Infinite loop on invite route by @charlesBochet in /pull/2866
- feat: exceptions handlers by @magrinj in /pull/2855
- Feature: Add Empty State Display for Tables by @tmahabir in /pull/2841
- feat: add Settings/Accounts/Emails page by @thaisguigon in /pull/2867
- feat: save Select field options by @thaisguigon in /pull/2869
- feat: add Settings/Accounts Connected Accounts section with empty state by @thaisguigon in /pull/2870
- fix: relation on self not working by @magrinj in /pull/2875
- Improve Metadata sync setup by @Weiko in /pull/2874
- Feat/object metadata item identifiers by @lucasbordeau in /pull/2865
- 2814 timebox create a poc to test the gmail api by @bosiraphael in /pull/2868
- Add postgres_fdw to database by @martmull in /pull/2854
- Fix relation between standard objects by @Weiko in /pull/2878
- Fix missing isNullable by @Weiko in /pull/2892
- Update token verification and fix typo by @martmull in /pull/2889
- Picker and MultiSelect fixes by @lucasbordeau in /pull/2883
- Fix missing Wrappers version in dockerfile by @martmull in /pull/2899
- Fix optimistic rendering by @charlesBochet in /pull/2882
- input component ui docs by @nimraahmed in /pull/2873
- Update Blocknote by @brendanlaschke in /pull/2872
- Add Keyboard navigation on IconPicker by @gitstart-twenty in /pull/2778
- Spreadsheet import front module by @gitstart-twenty in /pull/2862
- Release 0.2.1 by @charlesBochet in /pull/2879
We welcomed 8 new contributors!
- @GsnMithra made their first contribution in /pull/2776
- @mahendraHegde made their first contribution in /pull/2491
- @umrkhn made their first contribution in /pull/2683
- @pokegh0st made their first contribution in /pull/2549
- @PaulaPerdomo made their first contribution in /pull/2840
- @a-kud made their first contribution in /pull/2791
- @MatheusSanchez made their first contribution in /pull/2847
- @tmahabir made their first contribution in /pull/2841