Commit Graph

1027 Commits

Author SHA1 Message Date
Charles Bochet
46dac5a0ef
Fix storybook tests (#6150)
The PRs merged on Friday introduced regressions on our storybook tests
suite
2024-07-06 09:32:30 +02:00
Lucas Bordeau
7b3a590f79
5421 box shadow on frozen header and first column (#6130)
- Refactored components in table
- Added a isTableRecordScrolledLeftState and
isTableRecordScrolledTopState to subscribe to table scroll
- Added a zIndex logic that subscribes to those new states in new tinier
components

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-07-05 18:30:59 +02:00
Weiko
cc6ce142ce
Fix sort with Email and FullName field types and add sort/filter to labelIdentifier column (#6132)
Fixes https://github.com/twentyhq/twenty/issues/5958

<img width="1088" alt="Screenshot 2024-07-04 at 16 23 25"
src="https://github.com/twentyhq/twenty/assets/1834158/746c45a4-7112-4322-8c26-04f3e98add06">

<img width="1280" alt="Screenshot 2024-07-04 at 16 15 39"
src="https://github.com/twentyhq/twenty/assets/1834158/9b9ecc60-9787-44a3-9ba7-0b33ec378e6f">
2024-07-05 17:01:47 +02:00
Charles Bochet
f847e12709
Implement Settings Tabs (#6136)
In this PR:
- Renaming SettingsAccountsEmailBlocklist to
SettingsAccountsEmailBlocklist as the blocklist is not tied to
emails/messaging but is user level
- Changing the UI settings UI by removing /emails/{id} page and adding
tabs on /emails page

<img width="1512" alt="image"
src="https://github.com/twentyhq/twenty/assets/12035771/d215a891-fff9-477d-915d-0d7a697742e8">
2024-07-04 19:05:33 +02:00
Marie
6cd154aac6
Forbid names above 63 characters to comply with pg identifier limit (#6095)
Fixes #6032.

Pg has a char limit on identifiers (= table, columns, enum names) of 63
bytes.
Let's limit the metadata names that will be converted to identifiers
(objects names, fields names, relation names, enum values) to 63 chars.
For the sake of simplicity in the FE we will limit the input length of
labels.

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-07-04 15:32:42 +02:00
ad-elias
4c642a0bb8
Text-to-SQL proof of concept (#5788)
Added:
- An "Ask AI" command to the command menu.
- A simple GraphQL resolver that converts the user's question into a
relevant SQL query using an LLM, runs the query, and returns the result.

<img width="428" alt="Screenshot 2024-06-09 at 20 53 09"
src="https://github.com/twentyhq/twenty/assets/171685816/57127f37-d4a6-498d-b253-733ffa0d209f">

No security concerns have been addressed, this is only a
proof-of-concept and not intended to be enabled in production.

All changes are behind a feature flag called `IS_ASK_AI_ENABLED`.

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-07-04 08:57:26 +02:00
Weiko
c57c5b2554
Fix rating field not editable if null (#6110)
## Context

Rating fields were not editable on the show page and kanban view when
they were null, this is because we don't have a way to leave the empty
state for fields that are editModeContentOnly.
~~This is actually an issue for bool fields (which is the other field
type that has editModeContentOnly) as well but they have default values
can't go be edited to NULL so it's not visible.~~
Actually let's fix bool, this could happen too

Hovering over "Empty" will now show the RatingField edit mode.
I'm not 100% sure about this solution though, we could also make this
behaviour on click? I preferred over since this is the behaviour on the
table view 🤔

## Test


https://github.com/twentyhq/twenty/assets/1834158/6825b5c3-2c62-41f2-8e03-343bc0e895e2
2024-07-03 15:13:41 +02:00
Sudarsh
ea7d52fba8
feature to reset value in select field (#6067)
Fixes #6064 



https://github.com/twentyhq/twenty/assets/55168611/8c553422-6ad2-4e6b-bd00-962dd81c0a93

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-07-02 13:16:17 +02:00
Lucas Bordeau
504e7b7d94
Fix lint and used constant (#6082)
- Fixed lint after merge of #6077 
- Used constant for dropdown id
2024-07-01 15:04:59 +02:00
srikary12
4599f43b6c
Fix: Tasks-List-page-Person-Switcher (#6077)
Fixes #6007, adds context to the ObjectFilter DropdownRecordSelect
2024-07-01 12:06:30 +02:00
Lucas Bordeau
be1503c719
Remove CSS modules (#6017)
CSS modules were used as a first test for performance optimization.

We later found out that Linaria was a better tradeoff.

This PR removes what was implemented in CSS modules and also the CSS
theme file that was created that was overlapping with the TS theme
files.
2024-06-30 21:54:11 +02:00
martmull
cce9bf5730
Improve use set next onboarding state (#6076)
querying workspaceMembers may be slow leads to wrong
setNextOnboardingStatus value. So we added a resolved field in workspace
to get workspaceMemberCount directly
2024-06-30 21:00:20 +02:00
Charles Bochet
411fddd8d7 Fix tests on RelationManyFieldDisplay 2024-06-30 20:44:06 +02:00
Charles Bochet
a8908b6296 Fix tests 2024-06-30 20:36:28 +02:00
Charles Bochet
6683ffb890
Clarify storybook tests (#6073)
In this PR, I'm simplifying storybook setup:
1) Remove build --test configuration that prevent autodocs. We are not
using autodocs at all (the dev experience is not good enough), so I have
completely disabled it.
2) Clarify `serve` vs `test` vs `serve-and-test` configurations


After this PR:
- you can serve storybook in two modes: `npx nx run
twenty-front:storybook:serve:dev` and `npx nx run
twenty-front:storybook:serve:static`
- you can run tests agains an already served storybook (this is useful
in dev so you don't have to rebuild everytime to run tests): `npx nx run
twenty-front:storybook:test`
- you can conbine both: `npx nx run
twenty-front:storybook:serve-and-test:static`
2024-06-30 20:02:13 +02:00
martmull
b8f33f6f59
5095 move onboardingstatus computation from frontend to backend (#5954)
- move front `onboardingStatus` computing to server side
- add logic to `useSetNextOnboardingStatus`
- update some missing redirections in
`usePageChangeEffectNavigateLocation`
- separate subscriptionStatus from onboardingStatus
2024-06-28 17:32:02 +02:00
Weiko
86fa6ec85f
fix navigation panel workspace picker padding (#6062)
## Before
<img width="223" alt="Screenshot 2024-06-27 at 15 23 26"
src="https://github.com/twentyhq/twenty/assets/1834158/18cb5e15-352f-4e65-9cff-6e396abe4318">

## After



<img width="229" alt="Screenshot 2024-06-27 at 15 23 07"
src="https://github.com/twentyhq/twenty/assets/1834158/53502c23-d9b4-4967-9e56-26e62e5e50ea">

<img width="225" alt="Screenshot 2024-06-27 at 15 25 23"
src="https://github.com/twentyhq/twenty/assets/1834158/fbb751ba-2bde-44f0-9c70-a9091e9b9012">
2024-06-27 15:43:00 +02:00
Lucas Bordeau
3c3bd96687
Fixed board card field max width (#6061)
Add a max-width to prevent overflow of board card fields
2024-06-27 15:07:03 +02:00
Marie
46f0840c99
Manage isFocused state for table cells (#6058)
as per title
2024-06-27 14:26:39 +02:00
Marie
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
ADITHYA THEJAS S
dcb709feee
hide delete button for selection over 100 - issue #6023 (#6030)
hide the "Delete" Button when more than 100 records are Selected

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-06-27 11:21:45 +02:00
Félix Malfait
08c081d315
Add boolean with toggle in csv import (#6050)
Better UI when importing boolean via CSV (with a toggle)
2024-06-26 22:55:49 +02:00
Félix Malfait
7b816e500c
Basic import for select in CSV (#6047)
Enables basic support for Select import and field matching in CSV. 
It's not pretty! But it's better than what we had before.
We should iterate on that quickly

<img width="591" alt="Screenshot 2024-06-26 at 18 41 16"
src="https://github.com/twentyhq/twenty/assets/6399865/99f67f39-3f0f-4074-aac6-3200954be08a">
2024-06-26 22:37:07 +02:00
Weiko
1eb9c582f3
Rename mutation maximum affected records (#6042)
As per my last comment on https://github.com/twentyhq/twenty/pull/6039,
we decided to rename this var
2024-06-26 18:00:25 +02:00
Félix Malfait
87abc1b31d
Fix search in csv import (#6045)
A mini quality of life improvements, the search was case-sensitive which
was frustrating
2024-06-26 17:32:25 +02:00
Félix Malfait
cd6775da32
Don't display unmatched columns in csv import (#6037)
Adding a toggle so that, by default, we don't see dozens of fields but
only the field we matched, during the data validation step in csv export

<img width="785" alt="Screenshot 2024-06-26 at 13 25 36"
src="https://github.com/twentyhq/twenty/assets/6399865/ae558eb5-7461-4bc8-a836-ecff8b6d0dff">
2024-06-26 15:37:37 +02:00
Weiko
6599bc136e
Add mutationMaximumRecordAffected to clientConfig (#6039)
We are exposing the server mutationMaximumRecordAffected value via
clientConfig so it can be used by the FE.

This is a first step for https://github.com/twentyhq/twenty/issues/6025

<img width="610" alt="Screenshot 2024-06-26 at 14 58 26"
src="https://github.com/twentyhq/twenty/assets/1834158/9d192976-fd22-45d2-bdaa-a8ff6bb90ca2">
2024-06-26 15:21:13 +02:00
Félix Malfait
cf67ed09d0
Upsert endpoint and CSV import upsert (#5970)
This PR introduces an `upsert` parameter (along the existing `data`
param) for `createOne` and `createMany` mutations.

When upsert is set to `true`, the function will look for records with
the same id if an id was passed. If not id was passed, it will leverage
the existing duplicate check mechanism to find a duplicate. If a record
is found, then the function will perform an update instead of a create.

Unfortunately I had to remove some nice tests that existing on the args
factory. Those tests where mostly testing the duplication rule
generation logic but through a GraphQL angle. Since I moved the
duplication rule logic to a dedicated service, if I kept the tests but
mocked the service we wouldn't really be testing anything useful. The
right path would be to create new tests for this service that compare
the JSON output and not the GraphQL output but I chose not to work on
this as it's equivalent to rewriting the tests from scratch and I have
other competing priorities.
2024-06-26 11:39:16 +02:00
Lucas Bordeau
3b7901b49a
Removed performance optimization and put back previous system with recoil states for edit mode and soft focus to avoid side effects. (#6019)
Fixes https://github.com/twentyhq/twenty/issues/6016

This was another side effect of the optimization made on
RecordTableCellContainer to avoid using recoil states, but which causes
too many unpredictable side effects.

I just put back the previous system which works well. We'll see how to
optimize it again later.
2024-06-25 15:53:31 +02:00
Charles Bochet
ad61efe6ed
Remove multi select usage (#6004)
As per title!

Also, I'm removing an incorrect logic in the enum migration runner that
takes care of the case where we have no defaultValue but non nullable
which is not a valid business case.
2024-06-24 16:39:17 +02:00
Us3r-gitHub
24c31f9b39
Fix(view): Show Kanban View Creation (#5985)
# This PR
- Revise my previous work (PR #5969)
Because it would break the current logic and cause unexpected behavior.
(Issue #5979)
- Solve (Issue #5915) with another way

@lucasbordeau  What do you think about my current approach?
@JarWarren Please check it out—I'd love to get your feedback too!

---------

Co-authored-by: Achsan <achsanh@gmail.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-24 16:05:40 +02:00
Aakarshan Thapa
57bbd7c129
Add update chevron (#5988)
Fixes #5986 


1. Added right chevron to Fields Menu Item
<img width="735" alt="Screenshot 2024-06-21 at 5 59 46 PM"
src="https://github.com/twentyhq/twenty/assets/63531478/1515aba0-6732-424d-a0b3-5cc826a35b16">



2. Changed color of Hidden fields menu item chevron and stroke of left
chevron
<img width="735" alt="Screenshot 2024-06-21 at 6 21 30 PM"
src="https://github.com/twentyhq/twenty/assets/63531478/20952197-2f09-486c-a3bb-5b6c285a6996">

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-24 15:01:21 +02:00
Rob Luke
901ef65545
feat: add australian dollar currency (#5990)
Hi Twenty team,
I'd love to have Australian dollar as an option in Twenty! Please let me
me know if I have missed anything I need to change to enable this.
Thanks for a a great product

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-24 14:55:37 +02:00
Atharv Parlikar
28c8f0df32
Turned on tooltip on kanban cards with shortDelay (#5991)
fixes: #5982 

Demo:


https://github.com/twentyhq/twenty/assets/58113282/6593381c-c01a-4259-9caa-8612247a9e95

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-24 14:51:18 +02:00
Charles Bochet
498e4ff6ba
Refactor infiniteScoll to use debouncing (#5999)
Same as https://github.com/twentyhq/twenty/pull/5996 but with
useDebounced as asked in review
2024-06-24 13:45:07 +02:00
Raunak Singh Jolly
2e4ba9ca7b
Remove Right-Edge Gap in Table Cell Display (#5992)
fixes #5941 

![Screenshot from 2024-06-23
17-24-24](https://github.com/twentyhq/twenty/assets/59247136/ae67603a-824d-4e6b-b873-2d58e6296341)

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-24 12:03:46 +02:00
Charles Bochet
e8f386ce43
Fix infinite scroll issue on table (#5996)
We had an issue on infinite scroll on table view.
The fetch more logic was modifying isTableLastRowVisible state (which is
wrong, how could it know)? This was done to prevent loading too much
data at once. This was causing some race condition on
isTableLastRowVisible (as the table itself was also changing it
depending on the real visibility of the line)

I have remove this hacky usage of isTableLastRowVisible and replaced it
by a setTimeout to let the user some time to scroll and introduce a
throttle logic.
2024-06-24 11:20:16 +02:00
Charles Bochet
158e7a31f4
Improve tests (#5994)
Our tests on FE are red, which is a threat to code quality. I'm adding a
few unit tests to improve the coverage and lowering a bit the lines
coverage threshold
2024-06-23 20:12:18 +02:00
Vitor Hugo Rodrigues
91b0c2bb8e
feat: add brazilian real currency (#5989)
Added support to Brazilian Real currency code, added the new code on
`CurrencyCode.ts` and on `SETTINGS_FIELD_CURRENCY_CODES`
2024-06-22 08:38:52 +02:00
Ymir
d126b148a1
Navigation Panel UI Sizing Changes (#5964)
## Fixes #5902 :
- [x] Navigation items' height should be risen to 28px.
> For clarity:
- [x] Also increased the height of NavigationDrawerSectionTitle to 28px
to match navigation item.
- [x] The gap between sections should be reduced to 12px
> Was already completed it seems.
- [x] The workspace switcher should be aligned with the navigation items

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-21 16:49:48 +02:00
Thomas Trompette
9a4a2e4ca9
Fix links chip design (#5963)
Fix https://github.com/twentyhq/twenty/issues/5938 and
https://github.com/twentyhq/twenty/issues/5655

- Make sure chip count is displayed
- Fix padding
- Fix background colors, border
- Add hover and active states

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-21 16:15:17 +02:00
Akilesh Praveen
732653034e
fix: background colors for record table (#5967)
# Summary
- Address issue #5959 
- Update background color on hover & click for record table

# Test Plan

![Kapture 2024-06-19 at 20 32
44](https://github.com/twentyhq/twenty/assets/10789158/18a58c09-040a-47e6-953d-aac6f3803486)
2024-06-21 16:01:27 +02:00
Aakarshan Thapa
35b9b29f20
Fix: Selected Line Not Fully Highlighted in Blue (#5966)
Fixes: #5942

<img width="1517" alt="Screenshot 2024-06-19 at 5 07 35 PM"
src="https://github.com/twentyhq/twenty/assets/63531478/c88a98e9-7ce3-43fe-a496-1a5dfe796b81">

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-21 15:49:47 +02:00
Thomas Trompette
68e20c0e87
Add disabled style on non-draggable menu items (#5974)
Closes https://github.com/twentyhq/twenty/issues/5653

<img width="256" alt="Capture d’écran 2024-06-20 à 17 19 44"
src="https://github.com/twentyhq/twenty/assets/22936103/c9d7e58f-818b-44f2-8aa4-4d85c8e1b6be">
<img width="231" alt="Capture d’écran 2024-06-20 à 17 20 03"
src="https://github.com/twentyhq/twenty/assets/22936103/5e981e93-9d59-403a-bb6b-0ff75151ace2">
2024-06-21 14:42:48 +02:00
Us3r-gitHub
7a0f097df4
Fix(view): Create Button is not visible when creating Kanban View (#5969)
Closes #5915 

This issue occurs only when there is no select field.

The user then creates a new one in settings and returns back to the view
picker.
And the bug arises, it because `viewPickerKanbanFieldMetadataId` is not
being set correctly.

When a user navigate to settings, the dirty state should be set to
false. As a result, after re-rendering the view picker component, it
triggers the effect to set `viewPickerKanbanFieldMetadataId`

---------

Co-authored-by: Achsan <achsanh@gmail.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-21 12:13:27 +02:00
Pacifique LINJANJA
9228667a57
Add the support of Empty and Non-Empty filter (#5773) 2024-06-20 18:18:12 +02:00
Lucas Bordeau
9e08445bff
Fix date picker wrong on certain timezones (#5972)
Timezone with a negative offset weren't working good with date pickers.

I split the logic for display and parsing between date only and
datetime.

Date time is sending and displaying using timezone, and date only is
sending and displaying by forcing the date to take its UTC day and month
and 00:00:00 time.

This way its consistent across all timezones.
2024-06-20 17:13:30 +02:00
Aditya Pimpalkar
8c6e96c41b
fix: Column header menu Filter button (#5973)
fixes: #5957



https://github.com/twentyhq/twenty/assets/13139771/51d42aa5-c774-4cbe-adca-b95ea6e17bbd
2024-06-20 16:44:28 +02:00
Aditya Pimpalkar
59b9ce689d
add object id column to csv export (#5971)
closes: #5893

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-20 16:42:33 +02:00
Rushikesh Tarapure
bc8c895b0e
Feat : Introduced Delay Options for Tooltip (#5766)
Fixes https://github.com/twentyhq/twenty/issues/5727

---------

Co-authored-by: Rushikesh Tarapure <rushikeshtarapure@gofynd.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-19 16:37:44 +02:00
bosiraphael
d6fcb9cae8
5934 create alert banner component (#5950)
Closes #5934

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-19 15:41:57 +02:00
gitstart-twenty
701059007b
Data Skeleton Loading on Indexes (#5828)
### Description
Data Skeleton Loading on Indexes

### Refs
#4459

### Demo


https://github.com/twentyhq/twenty/assets/140154534/d9c9b0fa-2d8c-4b0d-8d48-cae09530622a


Fixes #4459

---------

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: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-19 15:25:20 +02:00
Thomas Trompette
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
Joshua Zacek
60b60bd4b3
(5943) Match country selector button's background to phone number input's background (#5956)
Fixes #5943

### Before
Light
<img width="218" alt="Screenshot 2024-06-19 at 12 37 22 PM"
src="https://github.com/twentyhq/twenty/assets/57673080/981d1877-be4e-4071-9a8d-9d0ed7e933ab">
Dark
<img width="223" alt="Screenshot 2024-06-19 at 12 39 42 PM"
src="https://github.com/twentyhq/twenty/assets/57673080/a3730ef5-21ba-4d90-998d-d330aec350ad">


### After
Light
<img width="216" alt="Screenshot 2024-06-19 at 12 39 00 PM"
src="https://github.com/twentyhq/twenty/assets/57673080/eef3b743-1b28-43a5-8c1c-bd944a4915c7">
Dark
<img width="228" alt="Screenshot 2024-06-19 at 12 39 29 PM"
src="https://github.com/twentyhq/twenty/assets/57673080/5bf10e51-5a07-4d55-99f1-734517b22781">
2024-06-19 14:46:47 +02:00
Atchyut Preetham Pulavarthi
1c685e8a31
fix(twenty-front): update DateTimeInput styles to apply top border radius to date picker (#5946)
update DateTimeInput styled components to prevent the StyledInput from
overflowing out of it's parent container

<img width="860" alt="Screenshot 2024-06-19 at 9 55 04 AM"
src="https://github.com/twentyhq/twenty/assets/19223383/8c5daf6a-9eb6-4ecd-a2e9-aa2ba8db3874">



Fixes #5940
2024-06-19 14:38:30 +02:00
Lucas Bordeau
76bcf31341
Added a mechanism to reset error boundary on page change. (#5913)
Previously the error boundary component was re-rendering with the same
state as long as we stayed in the same router, so for page change inside
an index container, it would stay on error state.

The fix is to memorize the location the error page is on during its
first render, and then to reset the error boundary if it gets
re-rendered with a different location even in the same index container.

Fixes : #3592
2024-06-19 14:34:11 +02:00
Ravan
c7e6d6959f
Add a ⏎ shortcut on Select options (#5641)
fixes #5540 

Added onkeyDown to 
1. Create new option and 
2. Move focus to it.

[screen-capture
(6).webm](https://github.com/twentyhq/twenty/assets/69167444/ede54ad8-22db-4b09-9617-4d999c6c08c7)

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-19 14:30:26 +02:00
gitstart-twenty
64b456912a
Favicons are being re-rendered on hover (#5849)
### Description

Favicons are being re-rendered on hover

### Refs

#3523

### Demo


https://www.loom.com/share/e3944d940a014283af8c26baac1fed57?sid=e3e96a81-3a54-4969-8602-99c64bb3ffe7

Fixes #3523

---------

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>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-19 13:34:42 +02:00
Thomas Trompette
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
Hanch Han
38537a3967
Add South Korean won to currency codes (#5914)
Greetings from Seoul! I found this amazing project a few days ago, and
trying to introduce it to my team. However there is a tiny but
significant problem, that South Korean won is not available in twenty.

So I added `KRW` to the enum `CurrencyCode` and the constant
`SETTINGS_FIELD_CURRENCY_CODES`. I tested it locally and apparently
works fine.
2024-06-18 11:14:31 +02:00
Aditya Pimpalkar
14abd99bb7
add multiple filters of same FieldMetadataType (#5892)
fixes: #5378
2024-06-18 10:49:33 +02:00
Thomas Trompette
de2b0527a3
Fix secondaryLinks field input (#5911)
PR https://github.com/twentyhq/twenty/pull/5785/files broke links
update.

Also, dropdown "Add link" will be displayed only if a link is already
added. Otherwise, it should be a normal input.
2024-06-17 18:09:46 +02:00
Lucas Bordeau
e1bd3a4c5a
Added and optimized missing RatingFieldDisplay component (#5904)
The display for Rating field type was missing, I just added it based on
RatingInput in readonly mode and optimized a bit for performance also.

Fixes https://github.com/twentyhq/twenty/issues/5900
2024-06-17 17:27:19 +02:00
Thomas Trompette
dba0b28eae
Fix verticale line timeline activity (#5894)
Before 

<img width="400" alt="Capture d’écran 2024-06-17 à 10 23 17"
src="https://github.com/twentyhq/twenty/assets/22936103/01408d7b-9a6c-4a21-9f08-c8cf304e2ea0">

After

<img width="400" alt="Capture d’écran 2024-06-17 à 10 05 39"
src="https://github.com/twentyhq/twenty/assets/22936103/df384726-bbf9-4828-ad47-d1c91724947d">
2024-06-17 11:54:04 +02:00
martmull
d8034b1f40
5236 expandable list leave options when editing (#5890)
Fixes https://github.com/twentyhq/twenty/issues/5236
## After

![image](https://github.com/twentyhq/twenty/assets/29927851/5f0f910c-11b0-40ce-9c59-34e7ce0c2741)
2024-06-17 10:17:31 +02:00
Ymir
605945bd42
Added Thai Baht support (#5881)
Hey, saw Thai Baht support was
[requested](https://github.com/twentyhq/twenty/issues/5876) and thought
it was a cool first issue to get to know the project a little bit.
2024-06-16 09:39:16 +02:00
RobertoSimonini1
dd2db083ce
Record horizontal scrolling mobile (#5843)
I have fixed the scrolling the record container page on mobile making it
hidden.
This PR aims to fix #5745

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-14 16:27:16 +02:00
martmull
eaa2f83eb1
Fix overflow on notes (#5853)
##before

![image](https://github.com/twentyhq/twenty/assets/29927851/c1784340-0741-4701-b11f-d2cf50fab9fb)

##after

![image](https://github.com/twentyhq/twenty/assets/29927851/c095eaf1-15c4-4e68-8cff-c175f99856d0)
2024-06-14 13:11:15 +02:00
martmull
be18ee4d7d
Fix sentry error (#5848)
Fixes
https://twenty-v7.sentry.io/issues/5363536663/?environment=prod&project=4507072499810304&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D&referrer=issue-stream&statsPeriod=7d&stream_index=0

- handle error properly in twenty-server
- display backend error message
2024-06-14 12:41:55 +02:00
Félix Malfait
a2e89af6b2
Collapsible menu (#5846)
A mini PR to discuss with @Bonapara tomorrow

Separating remote objects from others and making the menu collapsible
(style to be changed)
<img width="225" alt="Screenshot 2024-06-12 at 23 25 59"
src="https://github.com/twentyhq/twenty/assets/6399865/b4b69d36-6770-43a2-a5e8-bfcdf0a629ea">

Biggest issue is we don't use local storage today so the collapsed state
gets lost.
I see we have localStorageEffect with recoil. Maybe store it there?
Seems easy but don't want to introduce a bad pattern.


Todo:
- style update
- collapsible favorites
- persistent storage
2024-06-14 12:35:23 +02:00
Siddhant Rai
8d8bf1c128
fix: text field overflow beyond cell limits (#5834)
- fixes #5775 


https://github.com/twentyhq/twenty/assets/47355538/9e440018-ec1e-4faa-a9f3-7131615cf9f1

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-14 11:41:49 +02:00
Aditya Pimpalkar
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
Weiko
39af374de0
fix timeline activity pagination overflow (#5861)
## Before
<img width="250" alt="Screenshot 2024-06-13 at 18 51 56"
src="https://github.com/twentyhq/twenty/assets/1834158/d6c7f5fa-3cc7-48bc-a711-29345e93af92">


## After
<img width="284" alt="Screenshot 2024-06-13 at 18 51 41"
src="https://github.com/twentyhq/twenty/assets/1834158/25029e0a-c1b0-4458-b715-dbab217eeee0">
2024-06-13 19:04:53 +02:00
Thomas Trompette
00d2294728
Add label to mocked connections (#5858)
<img width="865" alt="Capture d’écran 2024-06-13 à 17 48 03"
src="https://github.com/twentyhq/twenty/assets/22936103/2d313448-fbd5-4ff1-a65b-afd4df86117a">
2024-06-13 18:56:55 +02:00
Lucas Bordeau
65fc83a763
Added a fallback default record chip generator (#5860)
The record chip generator context was missing a edge were a new field of
type relation is created and not yet in the metadata so no chip
generator function can be precomputed.

For now I added a fallback default chip generator, to prevent any bug,
but we might want to add a new chip generator function while creating
the new field ?
2024-06-13 18:28:02 +02:00
Marie
582653f9df
Bump to version 0.20.0 (#5857) 2024-06-13 17:39:46 +02:00
Weiko
93c17a8a5b
Remove timelineActivity featureFlag (#5856) 2024-06-13 17:39:31 +02:00
kikoleitao
21dbd6441a
feat: implement row re-ordering via drag and drop (#4846) (#5580)
# Context

Currently, the Twenty platform incorporates "positions" for rows on the
backend, which are functional within the Kanban view. However, this
advantageous feature has yet to be leveraged within list views.

# Feature Proposal

## Implement Row-Reordering via Drag-and-Drop on Frontend (#4846)

- This PR addresses the implementation of row reordering via
Drag-and-Drop on frontend. The objective is to enrich the list view
functionality by introducing a grip that dynamically appears upon
hovering over the left space preceding the checkbox container. This grip
empowers users to effortlessly reposition rows within the list.

#### Proposal Highlights:

- **Enhanced User Interaction**: Introduce a draggable grip to
facilitate intuitive row reordering, enhancing user experience and
productivity.
- **Preservation of Design Aesthetics**: By excluding the grip from the
first row and maintaining the left gap, we uphold design integrity while
providing enhanced functionality.
- **Consistency with Existing Features**: Align with existing
drag-and-drop functionalities within the platform, such as Favorites
re-ordering or Fields re-ordering in table options, ensuring a seamless
user experience.

## Implementation Strategy

### Grip Implementation:

- Add an extra column to the table (header + body) to accommodate the
grip cell, which displays the IconListViewGrip when its container is
hovered over.
- Ensure the preceding left-space is maintained by setting the
corresponding width for this column and removing padding from the table
container (while maintaining padding in other page elements and the
Kanban view for coherence).

### Row Drag and Drop:

- Implement row drag-and-drop functionality using draggableList and
draggableItem, based on the existing logic in the KanbanView for row
repositioning.
- Create a draggableTableBody and apply it to the current
RecordTableBody (including modal open triggering - if dragging while
sorting exists).
- Apply the draggableItem logic to RecordTableRow.

### Sorting Modal Implementation:

- Reuse the ConfirmationModel for the removeSortingModal.
- Create a new state to address the modal.
- Implement sorting removal logic in the corresponding modal file.

## Outcome

- The left-side margin is preserved.
- The grip appears upon hovering.
- Dragging a row gives it and maintains an aesthetic appearance.
- Dropping a row updates its position, and the table gets a new
configuration.
- If sorting is present, dropping a row activates a modal. Clicking on
the "Remove Sorting" button will deactivate any sorting (clicking on
"Cancel" will close the modal), and the table will revert to its default
configuration by position, allowing manual row reordering. Row
repositioning will not occur if sorting is not removed.
- The record table maintains its overall consistency.
- There are no conflicts with DragSelect functionality.


https://github.com/twentyhq/twenty/assets/92337535/73de96cc-4aac-41a9-b4ec-2b8d1c928d04

---------

Co-authored-by: Vasco Paisana <vasco.paisana@tecnico.ulisboa.pt>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-13 17:22:51 +02:00
Weiko
81c4939812
Fix timeline activity missing updated fields (#5854)
## Before
<img width="883" alt="Screenshot 2024-06-13 at 14 48 05"
src="https://github.com/twentyhq/twenty/assets/1834158/0e72ead1-2d59-4ee3-af3b-dfdd593b7f2e">


## After
<img width="908" alt="Screenshot 2024-06-13 at 14 48 14"
src="https://github.com/twentyhq/twenty/assets/1834158/00e32ddf-e40d-4cc9-a80a-9f5b76bd377a">
2024-06-13 15:22:15 +02:00
Lucas Bordeau
e072254555
Fixed new date time formatting util (#5852)
The new date time formatting util made for performance optimization
missed two things :
- Padding 0 for hours and minutes with 1 digit only.
- Correctly parsing the day of the month (now uses JS Date native
getDate() instead of slicing the ISO String)
2024-06-13 14:18:10 +02:00
Lucas Bordeau
6f65fa295b
Added RecordValue use-context-selector to settings field's logic (#5851)
In the settings part of the app, where display fields are used as in
table cell and board cards, we didn't have the new context selector
logic implemented, due to the recent performance optimization.
2024-06-13 12:43:13 +02:00
martmull
b26fd00a40
5663 i should be able to accept an invite even if i have an inactive workspace (#5839)
- make invitation and reset password available on every page
- add a sleep after setKeyPair as tokens are sometimes not updated when
redirecting to Index
- refactor sleep
2024-06-13 11:47:00 +02:00
Jovan
d93c2d6408
#5761 Add "No XXX found" title to filtered empty state (#5838)
Issue: #5761

Changes: 
- Use `useFindManyRecords` in `RecordTableWithWrappers.tsx` to determine
if any records exist for that object
- Add `hasUnfilteredRecords` prop to `RecordTableEmptyState.tsx`. 


This changes to empty state title, but I'm guessing that we'll need to
change the button text and subheading as well you guys can let me know
what you think. If this works I can go on to do those next, thanks!

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-13 11:30:13 +02:00
Lucas Bordeau
7c1d9aebb9
Removed unnecessary on mouse enter for soft focus (#5850)
In RecordTableCellContainer, I just removed onMouseEnter event handler
that was being triggered when we used keyboard soft focus move.

It's not necessary to have it because we already listen on mouse move
which is matching our use case where we only want soft focus to move
when mouse move and not when the cursor stays on top of a cell.
2024-06-13 11:17:17 +02:00
martmull
3986824017
5623 add an inviteteam onboarding step (#5769)
## Changes
- add a new invite Team onboarding step
- update currentUser.state to currentUser.onboardingStep

## Edge cases
We will never display invite team onboarding step 
- if number of workspaceMember > 1
- if a workspaceMember as been deleted

## Important changes
Update typeorm package version to 0.3.20 because we needed a fix on
`indexPredicates` pushed in 0.3.20 version
(https://github.com/typeorm/typeorm/issues/10191)

## Result
<img width="844" alt="image"
src="https://github.com/twentyhq/twenty/assets/29927851/0dab54cf-7c66-4c64-b0c9-b0973889a148">



https://github.com/twentyhq/twenty/assets/29927851/13268d0a-cfa7-42a4-84c6-9e1fbbe48912
2024-06-12 21:13:18 +02:00
Charles Bochet
4a7a8c72ef Fix typing on main 2024-06-12 20:38:44 +02:00
Lucas Bordeau
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
Thomas Trompette
007e0e8b0e
Fix event value elipsis (#5840)
<img width="400" alt="Capture d’écran 2024-06-12 à 14 41 08"
src="https://github.com/twentyhq/twenty/assets/22936103/12d333a9-16ce-45f3-a1eb-060bf77bae96">
<img width="400" alt="Capture d’écran 2024-06-12 à 16 47 53"
src="https://github.com/twentyhq/twenty/assets/22936103/6e154936-82d6-4e19-af4c-e6036b01dd04">
<img width="400" alt="Capture d’écran 2024-06-12 à 16 52 48"
src="https://github.com/twentyhq/twenty/assets/22936103/6440af6b-ea40-4321-942a-a6e728a78104">
2024-06-12 17:30:59 +02:00
Lucas Bordeau
732e8912da
Added Linaria for performance optimization (#5693)
- Added Linaria to have compiled CSS on our optimized field displays
- Refactored mocks for performance stories on fields
- Refactored generateRecordChipData into a global context, computed only
when we fetch object metadata items.
- Refactored ChipFieldDisplay 
- Refactored PhoneFieldDisplay
2024-06-12 16:31:07 +02:00
Weiko
ad6547948b
Activity timeline refactoring followup (#5835)
Following https://github.com/twentyhq/twenty/pull/5697, addressing
review
2024-06-12 16:21:30 +02:00
Juan Martín Miñarro
5fe2fc2778
Add 8px margin to the left of the Tasks' tab list (#5833)
I implemented the margin requested on #5827

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-12 10:24:38 +02:00
Félix Malfait
a0d9fdb3de
Fix bugs and telemetry (#5832)
Bugfix 1:
<img width="491" alt="Screenshot 2024-06-12 at 07 19 42"
src="https://github.com/twentyhq/twenty/assets/6399865/e3ad2771-4edd-453d-9d85-f429177dfd15">

Bugfix 2:
<img width="259" alt="Screenshot 2024-06-12 at 07 47 02"
src="https://github.com/twentyhq/twenty/assets/6399865/2f82c90e-2180-4290-b12e-e72910fb108c">

Change 3:
I remove the "telemetry anonymization enabled" parameter as it was
misleading, we were anonymization ids but still forwarding the workspace
name which is imo more sensitive than an ID
2024-06-12 08:11:48 +02:00
Lucas Bordeau
7d068095cd
Fix of board request fix PR (#5829)
Fix again board requests as first merged PR appears to have missing
commits / code. https://github.com/twentyhq/twenty/pull/5819
2024-06-11 22:30:38 +02:00
Weiko
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
RobertoSimonini1
3328666308
Increased inline relation field hover surface (#5809)
I increased the inline relation of the relations fields, now the edit
pen is visible when hovering the icon and not only the label.
this aims to fix: #5662
2024-06-11 18:39:24 +02:00
marteenaf
6d7782eb5a
Align field values with fixed width for field key. (#5821)
Made the alignment consistent with the field panel. This uses 90px as
the key label width.

**Issue:** #5730 

**Changes:**
- Add a label width of 90 to FieldContext Provider in useFieldContext
function
- Add a label width of 90 to ActivityTargetsInlineCell component

**Screen recording form local testing:**



https://github.com/twentyhq/twenty/assets/120792086/e150530b-4163-4a69-9bd5-119a2f202d4f

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-11 18:24:40 +02:00
RobertoSimonini1
3440889ad0
made sidebar always visible on settings page (#5823)
I made the sidebar/menu always visible on settings page even if the
navigationDrawerOpen is false
This aims to fix #5811
2024-06-11 17:39:51 +02:00
Marie
b84042ddbb
Display and update fields from fromManyObjects relations in Show card (#5801)
In this PR, we implement the display and update of fields from
fromManyObjects (e.g update Employees for a Company).

Product requirement
- update should be triggered at each box check/uncheck, not at lose of
focus

Left to do in upcoming PRs
- add the column in the table views (e.g. column "Employees" on
"Companies" table view)
- add "Add new" possibility when there is no records (as is currently
exists for "one" side of relations:)
<img width="374" alt="Capture d’écran 2024-06-10 à 17 38 02"
src="https://github.com/twentyhq/twenty/assets/51697796/6f0cc494-e44f-4620-a762-d7b438951eec">

- update cache after an update affecting other records (e.g "Listings"
have one "Person"; if listing A belonged to Person A but then we
attribute listing A to Person B, Person A is no longer owner of Listing
A. For the moment that would not be reflected immediatly leading, to
potential false information if information is accessed from cache)
- try to get rid of the glitch - we also have it on the task page
example. (probably) due to the fact that we are using a recoil state to
read, update then re-read


https://github.com/twentyhq/twenty/assets/51697796/54f71674-237a-4946-866e-b8d96353c458
2024-06-11 15:53:17 +02:00
Kyriaki Darivaki
58fb86f2c3
Added support for Links filtering (#5785)
References #5741

---------

Co-authored-by: kiridarivaki <k.darivaki03@gmail.com>
2024-06-11 15:24:34 +02:00
Siddhant Rai
63578e6480
fix: calendar tile fonts underlined (#5820)
- fixes #5797
2024-06-11 15:24:23 +02:00
Shashank Vishwakarma
07d07ff876
Fixed: Select fields now selects on pressing the enter key (#5576)
Now while pressing the `Enter` button, the select field selects the
relevant option.

- Added a `handleKeyDown` function to set the `persistField` with the
selected option.
- Added an `onKeyDown` event on `DropdownMenuSearchInput` component, to
trigger `handleKeyDown` when `Enter` is pressed.
- Fixes: #5556

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-06-11 12:59:31 +02:00
Lucas Bordeau
8a88bf41dd
Fixed soft focus stuck (#5639)
Soft focus could be stuck when exiting edit mode, in some cases it would
prevent to have soft focus if just moving the mouse into a cell.
2024-06-11 12:31:50 +02:00
Lucas Bordeau
25a38dc693
Added one request per column on board. (#5819)
- Changed to one find many request per column on board.
2024-06-11 12:29:33 +02:00
Lucas Bordeau
d4610774fa
Fix unclosable cell (#5776)
In some cases we couldn't open a table cell if the soft focus was still
on another.
2024-06-09 00:10:18 +02:00
Pacifique LINJANJA
520a883c73
Fix the "Delete" action on the Kaban view (#5646)
# This PR

- Fixes #5520 
- Created a shared confirmation modal component for the `ContextMenu`
and the `ActionBar` components to avoid code repetition - with its
storybook file

Looking forward to getting feedback @charlesBochet
2024-06-07 17:23:32 +02:00
RobertoSimonini1
e9cf449706
Search dialog fullscreen on mobile (#5765)
I changed the visibility of the search dialog to make it full screen on
mobile, this should already be ok but I couldn't try it on mobile, so I
just used devtools, if I need to do something else on this PR just tell
me :)
This PR aims to fix: #5746

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-07 17:09:09 +02:00
brendanlaschke
908990315d
Datamodel overview improvements (#5771)
closes #5586
<img width="707" alt="Bildschirmfoto 2024-06-07 um 14 05 39"
src="https://github.com/twentyhq/twenty/assets/48770548/af5fa200-d71b-41ed-9478-35becfc306a3">
2024-06-07 14:53:12 +02:00
RobertoSimonini1
e478c68734
Switched current Sort Button with same used for filters and options ones (#5764)
I changed the Sort button used in the Header using
StyledHeaderDropdownButton component (the same used for Filter and
Options') instead of LightButton.
This PR aims to fix the issue: #5743

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-07 11:23:33 +02:00
Hinson Chan
c76bc4729d
[4725] Inverted Variants of buttons (#5671)
Resolves #4725

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-06 16:41:22 +02:00
martmull
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
Weiko
fda0d2a170
Fix edit button missing in activity editor (#5757)
## Context
Fixing `setIsFocused is not a function` and the fact that edit buttons
were not showing up anymore.
A new FieldFocusContextProvider has been introduced and added to
RecordInlineCell but not ActivityTargetsInlineCell. This should fix the
issue.

<img width="523" alt="Screenshot 2024-06-05 at 17 42 07"
src="https://github.com/twentyhq/twenty/assets/1834158/1c1f919e-3829-4e40-b573-3b1b75b7c16f">
2024-06-05 18:14:09 +02:00
Félix Malfait
89f914ebf8
Improve csv import (#5753)
This is a small PR to improve the design of our CSV import.

I noticed the back button that was implemented in a recent PR #5625 was
broken and would need to be fixed (e.g. try to come back to the very
first upload step from the sheet selection step). cc @shashankvish0010
if you want to give a stab at fixing your PR that'd be amazing, thanks!
2024-06-05 17:01:13 +02:00
martmull
e9d3ed99ca
5078 ability to invite team members (#5750)
## Added features
- update team member setting page
- add a section to send invitation by email
- add a new invitation email
- update email font to 'Trebuchet MS' as Google Inter font is not
working, we need to use a web safe font
https://templates.mailchimp.com/design/typography/

## Demo

https://github.com/twentyhq/twenty/assets/29927851/c731d883-1599-4281-87e3-0671f36994ae

## Invitation Email

![image](https://github.com/twentyhq/twenty/assets/29927851/d569fc64-fa0c-4769-a3dd-1193a12b495c)
2024-06-05 16:35:14 +02:00
Leo157
3c4b497846
fix:person head photo (#5749)
before:


https://github.com/twentyhq/twenty/assets/76474110/2d9d3e60-886e-4ad3-a1a3-b9484e49791c

after:


https://github.com/twentyhq/twenty/assets/76474110/877a15e6-ca72-450a-b25c-b4b323656d7f
2024-06-05 16:15:00 +02:00
Weiko
126d9ef2e6
Bump versions to 0.12.2 (#5751) 2024-06-05 15:26:27 +02:00
Félix Malfait
5164c7fd3c
Update icon and fix relation creation (#5742)
A minor fix (update icon and fix relation creation when creating a
relation in right drawer)
2024-06-05 11:07:48 +02:00
Marie
6d869297b5
Fix select field options update (#5736)
Update of select fields options was failing if we deleted an option that
was used for at least one row: former code would not update the value to
null but leave it to the no-longer-allowed value.
2024-06-05 11:06:22 +02:00
gitstart-twenty
bb7d94a455
Create ESLint rule to discourage usage of navigate() and prefer Link (#5642)
### Description
Create ESLint rule to discourage usage of navigate() and prefer Link


### Refs
#5468 

### Demo

![Capture-2024-05-29-112852](https://github.com/twentyhq/twenty/assets/140154534/28378c09-86bb-49d3-9e9a-49aa1c07ad11)

![Capture-2024-05-29-112843](https://github.com/twentyhq/twenty/assets/140154534/2c05ea92-e19b-49ae-acb9-07f6ec9182ab)

Fixes #5468

---------

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: Félix Malfait <felix.malfait@gmail.com>
2024-06-04 17:04:57 +02:00
bosiraphael
234e062232
Refactor sync sub status and throttle (#5734)
- Rename syncSubStatus to syncStage
- Rename ongoingSyncStartedAt to syncStageStartedAt
- Remove throttlePauseUntil from db and compute it with
syncStageStartedAt and throttleFailureCount
2024-06-04 16:52:57 +02:00
Anand Krishnan M J
ce1469cf0c
[ Fix ] [ Issue - 5701 ] Mouse down and drag is selecting records, while file import modal is open (#5716)
## Changes Made

- Prevent mouse event propagation outside modal 
- Prevent text selection inside the modal during drag event

## Related Issue

https://github.com/twentyhq/twenty/issues/5701

## Evidence

### Before


https://github.com/twentyhq/twenty/assets/87609792/c15c2a1d-5e3b-4fc5-a98a-638615e8d7b9

### After

Actual drag operation is done, but not visible in the video



https://github.com/twentyhq/twenty/assets/87609792/f2e68e67-1eb1-4a15-83c8-8cb4313bcaa1

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-04 15:55:02 +02:00
Jeet Desai
fa70f9cfc7
Fix: Reduce spacing gap between Task title and subtitle (#5711)
Fixes: #5669

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-04 15:17:46 +02:00
Lucas Bordeau
5e32cb215e
Fix 5598 - View field creation (#5732)
- Fix duplicate view field creation
- Fix redirect to proper settings data model page
- Refetch view fields after field creation (temporary solution)

Fixes  https://github.com/twentyhq/twenty/issues/5598
2024-06-04 15:10:56 +02:00
Thomas Trompette
c5d5d18347
Remove checkbox padding (#5733)
Regression has been introduced by this PR
https://github.com/twentyhq/twenty/pull/4883

Production

<img width="885" alt="Capture d’écran 2024-06-04 à 14 51 19"
src="https://github.com/twentyhq/twenty/assets/22936103/ad6d8490-815c-485a-b9c0-945aa7fba45c">

After fix

<img width="885" alt="Capture d’écran 2024-06-04 à 14 51 41"
src="https://github.com/twentyhq/twenty/assets/22936103/72fd6094-21c2-4737-bd20-0faf9adceb38">
2024-06-04 15:02:19 +02:00
Marie
a4e5e486f5
Fix boolean field in table view (#5728)
Boolean field was not working in display (unfocused) mode.

Before fix
<img width="269" alt="Capture d’écran 2024-06-04 à 11 50 55"
src="https://github.com/twentyhq/twenty/assets/51697796/9140f71c-41e4-44b4-9514-933edab33dd6">

https://github.com/twentyhq/twenty/assets/51697796/831c34a7-b91c-4df9-81d8-ced01cc7b9b6

After fix
<img width="284" alt="Capture d’écran 2024-06-04 à 11 51 01"
src="https://github.com/twentyhq/twenty/assets/51697796/7e4a089d-0c55-4624-a5d3-44c00681c6ca">

https://github.com/twentyhq/twenty/assets/51697796/b5103f39-64c1-4ace-ab32-353aba364471
2024-06-04 13:02:38 +02:00
Félix Malfait
719cce1ea2
Improve design of fields menu (#5729)
Improve design of field options menu and redirect to the right object
edit page



<img width="215" alt="Screenshot 2024-06-04 at 12 15 43"
src="https://github.com/twentyhq/twenty/assets/6399865/a8da18a1-49d4-40e3-b2cd-3a1a384366b2">
2024-06-04 12:16:47 +02:00
Félix Malfait
d964f656f9
Fix field input offset (#5726)
Fix issue introduced in https://github.com/twentyhq/twenty/pull/5426

It's not a beautiful solution. Maybe one day we should have a dedicated
component for title but it also comes with downsides (lot of code to
copy paste, such as "esc" to leave field, copy button, etc.). This one
doesn't create less debt in my opinion. Once we have the layout/widget
system we might have a dedicated widget type and the right abstraction
layers
2024-06-04 11:44:54 +02:00
gitstart-twenty
cd9ac529a5
Add storybook tests for User & Metadata loading (#5650)
### Description
Add storybook tests for User & Metadata loading

### Refs
#5590

### Demo



https://github.com/twentyhq/twenty/assets/140154534/2434fc50-8d95-420b-9f62-6fbdf43ce9e5


Fixes #5590

---------

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-06-04 10:51:33 +02:00
Kyriaki Darivaki
59c7bcd705
Fix 4363 modify kanban menu (#5337)
**Changes:**

- Changed -/+ to eye and eye off icons
- Changed menu width to 200px
- Created separate menu for hidden fields
- Added Edit Fields option to hidden fields menu
- Added test file MenuItemSelectTag (wasn't included in the issue)

As this is my first pr, feedback is very welcome!
**Note:** 
These changes cover most of #4363 . I left out the implementation of the
RightIcon in the "Hidden Fields" menu item.

---------

Co-authored-by: kiridarivaki <k.darivaki03@gmail.com>
Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2024-06-03 22:17:37 +02:00
rostaklein
dcd769f20f
spreadsheet import utf8 emoji support (#5720)
fixes https://github.com/twentyhq/twenty/issues/5476

took some time to find the right spot, but ChatGPT was helpful enough in
this case 😄

<img width="311" alt="Screenshot 2024-06-03 at 20 24 26"
src="https://github.com/twentyhq/twenty/assets/19856731/4ea0188b-bee5-4a4f-a8af-2630e3b1c373">
2024-06-03 21:26:08 +02:00
Marie
f7cdd14c75
Use same overlay background for field inputs (#5719)
Fixes #5593
2024-06-03 17:17:25 +02:00
Félix Malfait
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
JustGJ
8e8078d596
fix remove favorite on opportunity delete (#5686)
- fix : #5521

When we deleted an opportunity that had been added to the favorites
list, the opportunity was removed correctly, but it still remained in
the favorites list. The issue was due to not accounting for the removal
of the opportunity from the favorites during the deletion process.

This problem has now been fixed : 



https://github.com/twentyhq/twenty/assets/78202522/3d3cb689-3228-43fc-bf50-e824370582a7

Co-authored-by: Jeff Gasparini <jeff@Jeff.local>
2024-06-03 16:09:27 +02:00
Shashank Vishwakarma
04dcbffe75
Fixed: Inconsistent Field Label Display on Task Side Panel (#5687)
Now all the required fields are displayed with the respective labels.

- Added a `FieldContextProvider` for the field `Reminder` in the
`ActivityEditorFields`.
- Fixed the missing label values, by adding a missed optional
`showLabel` within the `fieldDefinition` in the `useFieldContext`.

fixes: #5667 

![Screenshot
(342)](https://github.com/twentyhq/twenty/assets/140178357/adf9563a-6cab-4809-8616-1c256abab717)
2024-06-03 15:58:58 +02:00
Shashank Vishwakarma
a6b8beed68
Fixed: Fields Disappear on Drag and Drop (#5703)
Now the fields don't disappear on drag and drop.

- After reviewing the codebase, I checked that when `inView` is true the
`RecordInlineCell` is rendered otherwise the
`StyledRecordInlineCellPlaceholder` will render which causes the fields
get disappear.
- So, I added the condition to check if `isDragSelectionStartEnabled` is
false then `StyledRecordInlineCellPlaceholder` will be rendered
otherwise `RecordInlineCell`.

fixes: #5651 



https://github.com/twentyhq/twenty/assets/140178357/022195ca-fec2-43a7-8808-f4974dbe66cf

---------

Co-authored-by: martmull <martmull@hotmail.fr>
2024-06-03 15:15:32 +02:00
rostaklein
e49db63f30
accounts page loader as skeleton (#5702)
fixes https://github.com/twentyhq/twenty/issues/5659



https://github.com/twentyhq/twenty/assets/19856731/aeae6f08-bc6e-4d71-9067-39b6382ebf15
2024-06-03 15:14:08 +02:00
spiderman3000
24941c66b7
[Improvement] LeftPanel skeleton loader (#5705)
This change solves #5664 
This modifies the left-side panel skeleton loader in accordance with the
default view.

![old-loading-ui](https://github.com/twentyhq/twenty/assets/171416711/83fe8a06-6f49-4581-bb84-00d2a0291f37)

![new-loading-ui](https://github.com/twentyhq/twenty/assets/171416711/4ba45fc0-8932-4ee9-b558-9f810d7891bd)

![default-loaded-view](https://github.com/twentyhq/twenty/assets/171416711/40c301d2-1015-4a2c-9458-0d2fb9d7de75)
2024-06-03 14:49:57 +02:00
Pacifique LINJANJA
7fa05bf539
feat (improvement): update the createOneObjectMetaItem (#5673)
# This PR

- Fix #5278 
- Updates the implementation of the `createOneObjectMataItem` hook to
reduce the number of api calls
- Users can now navigate to the newly created object first and the
graphql api calls to cache data are happening in the background - this
will improve the user experience and reduce the create object api call
time by >2
<img width="1508" alt="Screenshot 2024-05-30 at 12 00 15"
src="https://github.com/twentyhq/twenty/assets/61581306/46513fd1-d46e-40bc-a036-07e3acdf2870">

In the issue description, it also suggested to have a loading indicator
while creating the object, it seems like on #5352 we adopted to disable
it while creating the object - which looks good to me and it works, let
me know if we still need the loading indicator instead @Bonapara

Looking forward to getting your feedback
cc: @charlesBochet

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-03 12:12:04 +02:00
Sagar Hedaoo
52864889da
Updated Snackbar as shown in Figma Fixes #5666 (#5700)
<img width="282" alt="Screenshot 2024-06-01 at 1 07 16 AM"
src="https://github.com/twentyhq/twenty/assets/10000167/0b1cd2f5-9036-4a31-8dfa-b90972ebe1aa">


Updated the font weight and added Cancel label on the left of the icon
as shown in figma design.
Also, didn't increased the gap because it's already like the figma
design!
Let me know if you want more gap between title and description.

Closes https://github.com/twentyhq/twenty/issues/5666

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-06-03 12:05:04 +02:00
Sudarsh
c960d2e8ef
Incorrect Icon Width on Menu Items #5678 (#5688)
Fixes https://github.com/twentyhq/twenty/issues/5678
2024-05-31 18:40:23 +02:00
Thomas Trompette
9fd761dd10
Remove else if on position calculation (#5691)
As title
2024-05-31 14:31:37 +02:00
Thomas Trompette
fbd8714c76
Make positions possibly negatives (#5690)
Closes https://github.com/twentyhq/twenty/issues/5427
2024-05-31 14:17:49 +02:00
Thomas Trompette
fe941c64be
Build empty state for remote tables (#5652)
Remote tables could be in an empty state because:
- either we do not have data, which is normal
- either the connexion is broken (issue with the server, table requires
updates...)

Apollo throws errors but these will quickly disappear and do not provide
any tips to the user on how handle those.

This PR adds a new empty state placeholder for remote objects, that will
be display when the record list is empty. It will provide a link to the
settings page.

<img width="1512" alt="Capture d’écran 2024-05-30 à 11 49 33"
src="https://github.com/twentyhq/twenty/assets/22936103/fc2dd3cc-e90b-4033-b023-83ac9ff2a70b">
2024-05-31 11:24:42 +02:00
Marie
5e1dfde3e4
After createOneDbConnection mutation, update cache manually instead of using refetchQuery (#5684)
Closes #5057.

RefetchQuery is unreliable - [it won't be executed if the component is
unmounted](https://github.com/apollographql/apollo-client/issues/5419),
which is the case here because of the redirection that occurs after the
mutation.
We want to avoid using refetchQuery as much as possible, and write
directly in the cache instead.
2024-05-31 10:28:44 +02:00
Shashank Vishwakarma
c7f2150ac7
Fixed: In CSV import now users are able to come back to the previous step. (#5625)
Users now can make a back transition from the current step state.

- Added a `BackButton` component to `spreadsheet-import` in order to use
it within the step state components.
- Used the prebuilt `prevStep` from `useStepBar` and passed it as a prop
to the `Uploadflow` to get the previous state as activestep.
- Added a `previousState` to set the previous state with the required
key data.
- Added a `handleOnBack` function in `Uploadflow` to set the correct
state and call the `prevStep` function to make the transition.
- Added a callback function `onBack` and passed it as props to each step
state component.

fixes: #5564 



https://github.com/twentyhq/twenty/assets/140178357/be7e1a0a-0fb8-41f2-a207-dfc3208ca6f0

---------

Co-authored-by: Thomas Trompette <thomas.trompette@sfr.fr>
2024-05-30 18:43:56 +02:00
Aditya Pimpalkar
a12c1aad5e
fix: user has to login every time chrome sidepanel is opened (#5544)
We can pass the auth tokens to our front app via post message, which
will also allow us to pass route names to navigate on it
2024-05-30 12:58:45 +02:00
Indrakant D
d770e56e31
fix: Poor contrast on SlashMenu (#5342)
fixes
[#5304](https://github.com/twentyhq/twenty/issues/5304#issue-2280984063)

dark mode
<img width="1425" alt="Screenshot 2024-05-09 at 1 59 56 AM"
src="https://github.com/twentyhq/twenty/assets/60315832/70230f9e-607a-462a-8823-db8350d86bc4">


<br>
<br>
Light mode
<img width="1448" alt="Screenshot 2024-05-09 at 2 01 06 AM"
src="https://github.com/twentyhq/twenty/assets/60315832/523488a5-21de-4911-b11b-e28fba9adae6">

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-05-30 11:00:23 +02:00
martmull
9a23f9b322
4699 update the onboarding app placeholder (#5616)
## Before

![image](https://github.com/twentyhq/twenty/assets/29927851/e9055c16-eed3-48f1-a4e2-df115a6c2247)

## After

![image](https://github.com/twentyhq/twenty/assets/29927851/254c7573-81c7-487e-b653-5b0ba311cf9e)
2024-05-29 23:35:32 +02:00
Lucas Bordeau
bcb582ffa0
Fixed button icon bug (#5670)
There was a bug with the isEmpty variable actually being a function from
lodash instead of the result of `isFieldEmpty()`.
2024-05-29 21:29:33 +02:00
R894
df2b76ff6c
4848 - Update Checkbox component (#4883)
# Summary
* Add hover state which defaults to **false**
* Add disable state


![chrome_KV2AltSmBK](https://github.com/twentyhq/twenty/assets/54629307/976fba28-b975-4acc-9d06-c14c4fe339d8)


closes #4848

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-05-29 13:34:29 +02:00
Marie
5bb205bd6a
Fix update remote field metadata (#5638)
Closes #5610.

& update fetch-policy when fetching database on the remote databases
show page to get freshest status.
2024-05-28 18:01:05 +02:00