7eb69a78ef
Relations many in table view ( #5842 )
...
Closes #5924 .
Adding the "many" side of relations in the table view, and fixing some
issues (glitch in Multi record select, cache update after update).
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-06-27 11:28:03 +02:00
ff21396bc6
[Bug] Put back subject is email right drawer ( #5955 )
...
Fix https://github.com/twentyhq/twenty/issues/5903
2024-06-19 14:48:09 +02:00
6b1548ebbe
Add loader and transition for details page tabs ( #5935 )
...
Closes https://github.com/twentyhq/twenty/issues/5656
https://github.com/twentyhq/twenty/assets/22936103/3e4beea2-9aa9-4015-bb99-ee22adb53b63
2024-06-18 18:38:14 +02:00
4603999d1c
Support orderBy as array ( #5681 )
...
closes : #4301
---------
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2024-06-14 11:23:37 +02:00
03b3c8a67a
Refactored all FieldDisplay types for performance optimization ( #5768 )
...
This PR is the second part of
https://github.com/twentyhq/twenty/pull/5693 .
It optimizes all remaining field types.
The observed improvements are :
- x2 loading time improvement on table rows
- more consistent render time
Here's a summary of measured improvements, what's given here is the
average of hundreds of renders with a React Profiler component. (in our
Storybook performance stories)
| Component | Before (µs) | After (µs) |
| ----- | ------------- | --- |
| TextFieldDisplay | 127 | 83 |
| EmailFieldDisplay | 117 | 83 |
| NumberFieldDisplay | 97 | 56 |
| DateFieldDisplay | 240 | 52 |
| CurrencyFieldDisplay | 236 | 110 |
| FullNameFieldDisplay | 131 | 85 |
| AddressFieldDisplay | 118 | 81 |
| BooleanFieldDisplay | 130 | 100 |
| JSONFieldDisplay | 248 | 49 |
| LinksFieldDisplay | 1180 | 140 |
| LinkFieldDisplay | 140 | 78 |
| MultiSelectFieldDisplay | 770 | 130 |
| SelectFieldDisplay | 230 | 87 |
2024-06-12 18:36:25 +02:00
ad6547948b
Activity timeline refactoring followup ( #5835 )
...
Following https://github.com/twentyhq/twenty/pull/5697 , addressing
review
2024-06-12 16:21:30 +02:00
be96c68416
POC timeline activity ( #5697 )
...
TODO:
- remove WorkspaceIsNotAuditLogged decorators on activity/activityTarget
to log task/note creations
- handle attachments
- fix css and remove unnecessary styled components or duplicates
2024-06-11 18:53:28 +02:00
9f6a6c3282
5622 add a syncemail onboarding step ( #5689 )
...
- add sync email onboarding step
- refactor calendar and email visibility enums
- add a new table `keyValuePair` in `core` schema
- add a new resolved boolean field `skipSyncEmail` in current user
https://github.com/twentyhq/twenty/assets/29927851/de791475-5bfe-47f9-8e90-76c349fba56f
2024-06-05 18:16:53 +02:00
09bfb617b2
Right drawer to edit records ( #5551 )
...
This PR introduces a new side panel to edit records and the ability to
minimize the side panel.
The goal is leverage this sidepanel to be able to create records while
being in another show page.
I'm opening the PR for feedback since it involved refactoring and
therefore already touches a lot of files, even though it was quick to
implement.
<img width="1503" alt="Screenshot 2024-05-23 at 17 41 37"
src="https://github.com/twentyhq/twenty/assets/6399865/6f17e7a8-f4e9-4eb4-b392-c756db7198ac ">
2024-06-03 17:15:05 +02:00
cfd83d6b8e
[UI] Remove theme constants from twenty-front and use the ones exported from twenty-ui. ( #5558 )
...
Some parts of the Frontend used theme constants exported from
`modules/ui` while other parts used theme constants exported from
`twenty-ui`.
This PR centralizes theme constants by removing them from `modules/ui`
completely.
2024-05-25 16:09:25 +02:00
b8eef21343
[UI] Extract our ColorSample and Tag components from twenty-front to twenty-ui. ( #5543 )
...
Two more components extracted out of twenty-front: `ColorSample` and
`Tag`.
2024-05-23 07:46:31 +02:00
d1cbd709bd
Extract typography components from twenty-front to twenty-ui. ( #5466 )
...
Removed the following components from twenty-front and moved them to
twenty-ui.
- H1Title.
- H2Title.
- H3Title.
Moving components in smaller chunks to ease the process of resolving
conflicts.
<img width="1255" alt="image"
src="https://github.com/twentyhq/twenty/assets/125115953/a3953659-5dfd-4d03-a6de-50b064129d55 ">
Co-authored-by: Charles Bochet <charles@twenty.com >
2024-05-22 10:52:35 +02:00
5128ea3ffb
fix: fix storybook build script not found by Chromatic ( #5235 )
2024-05-02 16:15:36 +02:00
907f0a1ea6
Add feature flag gate on calendar settings dropdown and fix queries ( #5221 )
...
- Add feature flag gate on calendar settings dropdown
- Fix find many messages
- Fix connected accounts settings
2024-04-30 14:12:48 +02:00
6a14b1c6d6
Fix tasks ( #5199 )
...
## Query depth deprecation
I'm deprecating depth parameter in our graphql query / cache tooling.
They were obsolete since we introduce the possibility to provide
RecordGqlFields
## Refactor combinedFindManyRecordHook
The hook can now take an array of operationSignatures
## Fix tasks issues
Fix optimistic rendering issue. Note that we still haven't handle
optimisticEffect on creation properly
2024-04-29 23:33:23 +02:00
c946572fde
TWNTY-4203 - Improve Email Thread Visibility with Collapse/Expansion Rules ( #5202 )
...
### Description
Improve Email Thread Visibility with Collapse/Expansion Rules
### Refs
#4203
### Demo
https://github.com/twentyhq/twenty/assets/140154534/ece1d783-57ef-45c9-9895-3b4b0e02b9e2
Fixes #4203
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
2024-04-29 18:10:42 +02:00
627a6bda29
Update twenty-front commands ( #4667 )
...
# This PR
- Moves dev and ci scripts to the `project.json` file in the
twenty-front package
- Adds a project.json file in the root of the project with the main
start command that start both twenty-server and twenty-front
applications concurrently
- Updates the script command of the root project with the start:prod
command (replacing the start command which will be used in dev with the
help of nx)
- Add a start:prod command in the twenty-front app, replacing the start
command (now used for dev purpose)
Issue ref #4645
@charlesBochet @FelixMalfait please let me know how can I improve it
---------
Co-authored-by: Thaïs Guigon <guigon.thais@gmail.com >
2024-04-17 18:06:02 +02:00
b6d0b8a895
refactor: move Checkmark, Avatar, Chip and Tooltip to twenty-ui ( #4946 )
...
Split from https://github.com/twentyhq/twenty/pull/4518
Part of #4766
2024-04-15 12:05:06 +02:00
c0b3a8715f
4810 display participants in the right drawer of the calendar event ( #4896 )
...
Closes #4810
- Introduces a new component `ExpandableList` which uses intersection
observers to display the maximum number of elements possible
2024-04-12 10:33:46 +02:00
f1cc1c60e0
Fix ID type being used in place of UUID in graphql and metadata queries ( #4905 )
...
We have recently discovered that we were using ID type in place of UUID
type in many place in the code.
We have merged #4895 but this introduced bugs as we forgot to replace it
everywhere
2024-04-10 11:33:17 +02:00
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
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
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
fefa37b300
4488 connect calendar tab to backend ( #4624 )
...
* create states and hooks
* implement fetch more records
* add empty state
* update types
* fix error
* add fetchmoreloader and add scroll to container
* fix visibility in calendarEventFragment
* fix fetchMoreRecords
* update TIMELINE_CALENDAR_EVENTS_DEFAULT_PAGE_SIZE
* add test
* modify empty state subtitle
* replace entity by activityTargetableObject
* create useCustomResolver hook
* refactor
* refactoring
* use generic component
* rename FetchMoreLoader
* remove deprecated states and hooks
* fix typing
* update typing
* update error message
* renaming
* improve typing
* fix bug on contact creation from same company
2024-03-26 14:50:32 +01:00
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
9f6c578a46
Added context ( #4557 )
2024-03-18 17:13:32 +01:00
872fb2bd49
TWNTY-4450 - Add tests for /modules/activities/emails ( #4520 )
...
* Add tests for `/modules/activities/emails`
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
* Fix tests
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
* Remove temporary changes
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
2024-03-18 17:10:07 +01:00
1cc8edd016
Fix tests and linter
2024-03-15 19:14:57 +01:00
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
c083bb15cd
First batch of modules/activities tests ( #4446 )
...
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: Matheus <matheus_benini@hotmail.com >
Co-authored-by: Thiago Nascimbeni <tnascimbeni@gmail.com >
2024-03-15 16:32:06 +01:00
e8e5af6fcb
fix: Close the email side panel upon clicking an open email thread ( #4329 )
...
* fix: state consistency issue while closing the email thread right drawer (#4205 )
* Refactored to use useRecoilCallback in RightDrawer open/close hook
* - registered an email drawer click outside callback to memorize the thread id when drawer was closed
- added a state to memorize then event that triggered right drawer close
- added a predicate that checks if event that close email thread right drawer is not the same that the open email thread click event AND that the thread that we want to open is not the thread that is just being closed.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-03-14 18:11:27 +01:00
581dfafe11
Renamed nullable utils into isDefined and isUndefinedOrNull ( #4402 )
...
* Renamed nullable utils into isDefined and isUndefinedOrNull
2024-03-11 14:28:57 +01:00
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
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
f543191552
TWNTY-3825 - ESLint rule: const naming ( #4171 )
...
* ESLint rule: const naming
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
* Refactor according to review
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
* refactor: Reverts changes on `twenty-server`
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
---------
Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com >
Co-authored-by: v1b3m <vibenjamin6@gmail.com >
Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev >
2024-02-25 13:52:48 +01:00
917fc5bd4d
3811 add accounts loader ( #3829 )
...
* rename exports
* rename exports
* fix css
* done
* updating image
2024-02-09 15:29:11 +01:00
2ba9a209e8
3804 use email visibility to display only the shared information frontend ( #3875 )
...
* create and use component
* visibility working
* Fix click behavior for email thread previews
* Add dynamic styling to EmailThreadPreview component
* refactor to respect the convention
2024-02-08 17:49:29 +01:00
3831ddc002
3803 use email visibility to display only the shared information backend ( #3871 )
...
* update dto
* wip
* compute thread visibility
* fix bugs
* fix bug
* improve typing
* working
* update according to comments
* use string
2024-02-07 16:35:19 +01:00
8816b7fb31
Fetch viewable thread from apollo cache ( #3783 )
...
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-02-02 14:41:00 +01:00
c6c50180b7
Add animation during email message opening ( #3774 )
...
* Add animation while message opening
* Set isDisplayed as always true
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-02-02 14:37:46 +01:00
142affbeea
[messaging] reorder messages desc to asc ( #3755 )
2024-02-01 15:28:00 +01:00
bd5d930be2
3706 add email loader ( #3731 )
...
* add images
* update component
* wip
* add loader cntainer
* wip
* Loader is working
* fix color and keyframes
* change loading message for threads
2024-02-01 10:15:41 +01:00
389c263e2e
Design fixes + hide email tab if not a company or a person ( #3720 )
...
Design fixes + hide email tab
Co-authored-by: Thomas Trompette <thomast@twenty.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2024-01-31 16:55:04 +01:00
7d898f89a9
3696 add emails tab empty state on shows ( #3702 )
...
* empty inbox
* fix No Files alignment
* add animation when exiting the screen
* update calendar settings to be singular
2024-01-31 12:18:47 +01:00
9597b1ae41
Avoid fetching more emails when first query loading ( #3709 )
...
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-31 10:25:22 +01:00
8b9d62e425
3681 avatars are not appearing in the messages and people name should be bold ( #3692 )
...
* update font weight
* fix picture not appearing
2024-01-30 17:46:25 +01:00
1838d8e6fb
Use scoped recoil state for email thread page ( #3699 )
...
Use scoped recoild state for email thread page
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-30 17:08:34 +01:00
511627ccb8
Fix count avatar color + align thread preview items ( #3695 )
...
Fix count avatar and align items
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-30 15:01:12 +01:00
84b6bea2b9
Split back fetch more loader for record table and emails ( #3693 )
...
* Split back fetch more loader
* Rename loader
---------
Co-authored-by: Thomas Trompette <thomast@twenty.com >
2024-01-30 14:50:33 +01:00
a012ba1087
Fix message opening ( #3687 )
...
* fix
* improve styling so we can close the message by clicking on the whole header
* fix line overflowing
* fix
2024-01-30 11:56:26 +01:00