Thomas Trompette
1c6f0eb577
Integrate relations for remote objects ( #4754 )
...
Foreign table id cannot be a foreign key of a base table. But the
current code use foreign keys to link object metadata with activities,
events... So we will:
- create a column without creating a foreign key
- add a comment on the table schema so pg_graphql sees it as a foreign
key
This PR:
- refactor a bit object metadata service so the mutation creation is
separated into an util
- adds the mutation creation for remote object relations
- add a new type of mutation to create a comment
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-04-03 14:56:51 +02:00
martmull
7dc053c576
Add back export all action button ( #4750 )
...


2024-04-02 19:08:48 +02:00
Anoop P
bbffde1ca0
New field currency ( #4338 )
...
Closes #4122
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-04-02 15:29:57 +02:00
Thaïs
dc8ab5d95a
feat: expand relation record cards on click in Record Show page ( #4570 )
...
Closes #3126
2024-04-02 09:42:57 +02:00
Thaïs
8ae6af6bd7
refactor: move createState to twenty-ui ( #4716 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
Co-authored-by: Charles Bochet <charlesBochet@users.noreply.github.com >
2024-04-01 13:22:51 +02:00
Thaïs
a3e5cf37b0
chore: upgrade Nx to v18.1.3 ( #4706 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
- Upgrades dependencies and applies automatic config migrations with the
command: `npx nx migrate nx` (see
https://nx.dev/nx-api/nx/documents/migrate )
- Fixes lint errors after upgrading `@typescript-eslint`
Note: it was not possible (for now) to migrate Nx to the latest stable
version (v18.2.1) because it upgrades Typescript to v5.4.3, which seems
to cause a bug on install when Yarn tries to apply its native patches.
Might be a bug on the Yarn side.
2024-04-01 13:16:50 +02:00
Thaïs
5d07b6347e
refactor: move Tabler Icon exports to twenty-ui ( #4727 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
2024-04-01 13:15:47 +02:00
Charles Bochet
02673a82af
Feat/put target object identifier on use activities ( #4682 )
...
When writing to the normalized cache (record), it's crucial to use _refs
for relationships to avoid many problems. Essentially, we only deal with
level 0 and generate all fields to be comfortable with their defaults.
When writing in queries (which should be very rare, the only cases are
prefetch and the case of activities due to the nested query; I've
reduced this to a single file for activities
usePrepareFindManyActivitiesQuery 🙂 ), it's important to use queryFields
to avoid bugs. I've implemented them on the side of query generation and
record generation.
When doing an updateOne / createOne, etc., it's necessary to distinguish
between optimistic writing (which we actually want to do with _refs) and
the server response without refs. This allows for a clean write in the
optimistic cache without worrying about nesting (as the first point).
To simplify the whole activities part, write to the normalized cache
first. Then, base queries on it in an idempotent manner. This way,
there's no need to worry about the current page or action. The
normalized cache is up-to-date, so I update the queries. Same idea as
for optimisticEffects, actually.
Finally, I've triggered optimisticEffects rather than the manual update
of many queries.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-04-01 13:12:37 +02:00
brendanlaschke
aacb3763e7
Fix overlay scroll gaps ( #4512 )
...
* fix overlay scroll leaving gap
* fixed tests
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-31 10:53:37 +02:00
Thomas Trompette
1d351a29b8
Sync remote object ( #4713 )
...
* Sync objects
* Generate data for isRemote
* Add cache version update
* Add label identifier + fix field metadata input
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-29 18:23:58 +01:00
Anchit Sinha
7f3623239a
4410-feat(front): Implement Confirmation Prompt for Multiple Record Deletion ( #4514 )
...
* feat: implement confirmation prompt
* feat: remove prop drilling and introduce recoil state
* chore: fix eslint issues
* feat: set record text according to length of records
* chore: fix eslint issues
* refactor: made changes according to code review
* fix: show delete according to singular and plural records.
* fix: eslint issues
* feat: show number of selected records
* style: fix positioning of actionbar
* feat: display ConfirmationModal seperately
* chore: remove recoil state and use usestate instead
* chore: minor change
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-29 18:18:21 +01:00
Ravan
aaf429a907
fix: impossible to unselect all check box ( #4471 )
...
* fix: impossible to unselect all check box
* fix: newly loaded records adopts select/unselect status
* Fix
* Fixes
* Fixed naming
* Used better naming
* Fixed naming
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-29 18:02:22 +01:00
rostaklein
3171d0c87b
feat: address composite field ( #4492 )
...
Added new Address field input type.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-28 16:50:38 +01:00
Kanav Arora
9dda6a8fa1
4162-Sticky-Header ( #4627 )
...
* initial commit
* functionality added
* Suggested changes fixed
* Fix broken shadow
* Unrelated fix (input stuck under container)
* Performance improvement
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-25 19:05:56 +01:00
Thaïs
61e5d5bcb9
fix: fix Select field preview ( #4507 )
...
* fix: fix Select field preview
Closes #4084
* fix: fix field preview utils tests
2024-03-25 16:37:41 +01:00
Thaïs
b77d589497
refactor: merge FieldType and FieldMetadataType ( #4504 )
...
* refactor: merge FieldType and FieldMetadataType
* fix: fix args passed to assertFieldMetadata
* fix: omit RawJson from supported types in settings
2024-03-25 15:45:28 +01:00
Charles Bochet
0a15994695
Allow usage of multiple select fields on Kanban board
2024-03-23 20:36:14 +01:00
Charles Bochet
bd8718269a
Improve performances on main
2024-03-23 16:12:07 +01:00
Charles Bochet
4a493b6ecf
New view picker ( #4610 )
...
* Implement new view picker
* Complete feature
* Fixes according to review
2024-03-22 15:04:17 +01:00
Félix Malfait
d876b40056
Logs show page ( #4611 )
...
* Being implementing events on the frontend
* Rename JSON to RAW JSON
* Fix handling of json field on frontend
* Log user id
* Add frontend tests
* Update packages/twenty-server/src/engine/api/graphql/workspace-query-runner/jobs/save-event-to-db.job.ts
Co-authored-by: Weiko <corentin@twenty.com >
* Move db calls to a dedicated repository
* Add server-side tests
---------
Co-authored-by: Weiko <corentin@twenty.com >
2024-03-22 14:01:16 +01:00
Charles Bochet
3fa8c4bace
Add KanbanFieldMetadataId on View standard object ( #4604 )
...
* Add KanbanFieldMetadataId on View standard object
* Deprecate Pipeline step
* Fix
* Use Constants instead of raw ids
* Fix
* Fix query runner
* Fix according to review
* Fix tests
* Fix tests
* Fix tests
2024-03-21 18:08:27 +01:00
Eldar Dautović
b089b93e67
feat: modified DoubleTextInput to split First and Last name accordingly ( #4598 )
...
* feat: modified DoubleTextInput to split First and Last name accordingly
* Fix Linter
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-03-21 09:50:11 +01:00
Charles Bochet
cfb0cce9b8
Refactor Views by cleaning the code, relying on apolloCache and improving performances ( #4516 )
...
* Wip refactoring view
* Post merge conflicts
* Fix review
* Add create view capability
* Fix create object missing view
* Fix tests
2024-03-20 14:21:58 +01:00
brendanlaschke
2aa6bcdb70
Action bar add delete count ( #4470 )
...
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-18 16:11:02 +01:00
Charles Bochet
afb9b3e375
Prefetching views and favorites ( #4421 )
...
* wip
* Push
* Complete work on prefetch
* Add comment
* Fix
* Fix
* Fix
* Fix
* Remove dead code
* Simplify
* Fix tests
* Fix tests
* Fix according to review
* Fix according to review
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-15 18:35:40 +01:00
Thaïs
38f28de4a6
feat: open event details drawer on event row click ( #4464 )
...
* feat: open event details drawer on event row click
Closes #4294
* feat: review - display Calendar Event details Inline Cells in readonly mode
* fix: fix calendar event field values not being set
* chore: review - reactivate no-extra-boolean-cast eslint rule
2024-03-15 17:37:36 +01:00
Anchit Sinha
fbc7e6ab6e
4364-feat(front): Display tags in multi-select picker ( #4419 )
...
* feat: add tags in multi select picker
* feat: display MenuItemLeftContent if no color passed
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-14 17:59:11 +01:00
Dragoș Cojocaru
595c7a9ba4
Migrate Export feature to the action bar ( #4417 )
...
* Migrate Export feature to the action bar
* Fixed predicate derived state
* Fixed bug useFindManyParams outside context
* Added export row selection
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-14 17:57:09 +01:00
gitstart-app[bot]
60598bf235
[ESLint rule] prevent useRecoilCallback without a dependency array ( #4411 )
...
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
2024-03-12 15:12:17 +01:00
Aayush-23
5cf4047482
Allowing to open options for an opportunity on company record. ( #4387 )
...
* Allowing to open option for an opportunity on company record.
* Fixed linting issue.
2024-03-11 16:46:59 +01:00
Thomas Trompette
c82c60b448
Build arg setter for position ( #4396 )
...
* Build arg setter for position
* Build separated query factory + rename existing
* Sort record by position in front
* Add tests
* Set first for type board
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-11 16:18:15 +01:00
Lucas Bordeau
e26572b408
Use backspace for clearing record table cell. ( #4299 )
...
* Use backspace for clearing record table cell.
2024-03-11 15:19:28 +01:00
Lucas Bordeau
581dfafe11
Renamed nullable utils into isDefined and isUndefinedOrNull ( #4402 )
...
* Renamed nullable utils into isDefined and isUndefinedOrNull
2024-03-11 14:28:57 +01:00
Charles Bochet
3f15cc5b7a
Fix fields cannot be added on opportunity board if no field are present
2024-03-11 00:09:34 +01:00
Charles Bochet
ec384cc791
Implement eager load relations on graphqlQueries ( #4391 )
...
* Implement eager load relations on graphqlQueries
* Fix tests
* Fixes
* Fixes
2024-03-10 23:42:23 +01:00
Charles Bochet
86c0f311f5
Introduce ComponentState ( #4386 )
...
* Proof of concept ComponentState
* Migrate to createState and createFamilyState
* Refactor
* Fix
* Fix tests
* Fix lint
* Fix tests
* Re-enable coverage
2024-03-09 11:31:00 +01:00
gitstart-app[bot]
17511be0cf
TWNTY-3794 - ESLint rule: only take explicit boolean predicates in if statements ( #4354 )
...
* ESLint rule: only take explicit boolean predicates in if statements
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Merge main
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix frontend linter errors
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix jest
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
* Fix lint on new code
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Toledodev <rafael.toledo@engenharia.ufjf.br >
2024-03-09 10:48:19 +01:00
Jeet Desai
40a3b7d849
Added CurrencyFieldInput design ( #4254 )
...
* #4123 CurrencyFieldInput design is ready
* resolved comment and currency code
* resolved design comment
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-08 21:30:45 +01:00
Jérémy M
af6ffbcc68
feat: standard fields on custom ( #4332 )
...
* feat: add ability to sync standard fields on custom object
* fix: clean
* fix: wrong compute during object creation
* fix: missing cascade delete
* fix: remove unused injected class
* fix: naming
* fix: rename factory to paramsFactory and clean
* fix: rename ExtendCustomObjectMetadata to BaseCustomObjectMetadata
* fix: partial fix inconsistent label and description
* Fixes
* Fix
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-03-07 17:21:50 +01:00
Charles Bochet
9190bd8d7f
Deprecate old board ( #4352 )
...
* Deprecate old board
* Fix tests
* Fix tests
2024-03-07 10:02:45 +01:00
Thomas Trompette
60239353a9
Create new type position ( #4336 )
...
* Create new type position
* Remove position filter type
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-06 14:41:51 +01:00
Charles Bochet
e7857d7fa3
Improve performance on findMany queries ( #4334 )
...
* Improve performance on findMany queries
* Fix
2024-03-06 13:59:42 +01:00
gitstart-app[bot]
b2210bd418
TWNTY-2244 - ESLint rule: enforce usage of .getLoadable() + .getValue() to get atoms ( #4143 )
...
* ESLint rule: enforce usage of .getLoadable() + .getValue() to get atoms
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Merge main
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix linter issue
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
* Fix linter
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-06 00:24:20 +01:00
Charles Bochet
706b5d3cf1
Release 0.3.2 ( #4324 )
...
* Release 0.3.2
* Fix Select search
2024-03-05 18:57:31 +01:00
Charles Bochet
614f3ed69e
Fix click outside on select field ( #4323 )
...
* Fix click outside on select field
* Fix
2024-03-05 18:43:52 +01:00
Arshil Vahora
6bb7042a68
Select Field Input Menu scrollable and add Select Field in Filter and Sort ( #3656 )
...
* - fix Select Option Menu scrollable and added search
- add select field in filter and sort operation
* Fix lint
* Fix post merge
* Fix select filter
* Fix
* Remove duplicated search input
* fix turn object into query
* Rename search inputs
* Remove debounced for options
* Simplify option filter
* Rename option to MenuItemSelectTag
* Fix test
* Infer type from field metadata item
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-03-05 17:41:41 +01:00
Jeet Desai
8c0ec336ea
Fixed index column stickiness mobile ( #4206 )
...
* #4155 fixed first column stickiness on mobile
* fixed eslint error
* resolved checkbox background
* refactor: remove RecordTableFirstColumnScrollEffect
* fix: resolved comment in PR
* #4123 CurrencyFieldInput design is ready
* Revert "#4123 CurrencyFieldInput design is ready"
This reverts commit 70c4db8ee8ba57dbf163bae1aef1ccb63ec83797.
* fix: resolved label identifier issue
---------
Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com >
2024-03-04 16:41:42 +01:00
Félix Malfait
6d70540cdc
Add sentry tracing ( #4279 )
...
* Add sentry tracign
* Improve Sentry loggin
2024-03-04 16:31:15 +01:00
Charles Bochet
b69fed9023
Fix broken storybook tests on SettingsPreview
2024-03-01 12:55:48 +01:00
Tate Thurston
8625a71f15
Add export as csv ( #4034 )
...
* Add export as csv
Resolves 2183.
* collect over paginated data
* refactor
* add tests
* parameterize pageSize (limit)
* use pageInfo for onCompleted callback
* json column variable naming
* omit relations from csv exports
2024-02-29 17:45:44 +01:00