Commit Graph

2645 Commits

Author SHA1 Message Date
Thomas Trompette
cdf0240ccb
Fix active navigation tab + quick workflows fixes (#8567)
- Active navigation tab hovered in show page
- remove timeline tab + rename workflow tab
- remove {{variable}} placeholder
- fix margin
- Workflow Runs and Versions show page title

<img width="807" alt="Capture d’écran 2024-11-18 à 18 23 12"
src="https://github.com/user-attachments/assets/688dfc67-362e-4f04-b436-3ff94d7e3e4a">
2024-11-19 10:55:25 +00:00
Baptiste Devessier
c17e18b1e9
Add Record Create action in the frontend (#8514)
In this PR:

- Updated the front-end types for workflows to include CRUD actions and
global naming changes
- Allow users to create a Record Create action
- Scaffold the edit for Record Create action; for now, I render a
`<VariableTagInput />` component for every editable field; it's likely
we'll change it soon

Closes https://github.com/twentyhq/private-issues/issues/142

Demo:


https://github.com/user-attachments/assets/6f0b207a-b7d2-46d9-b5ab-9e32bde55d76
2024-11-18 18:23:46 +01:00
parmarKaran01
316537a68a
FIx minor issue related to gap between checkbox & menu item label (#8220)
## Summary
This pull request addresses a minor issue reported in the #8171 , which
was causing misalignment in the content and overall theme spacing.

Fixes #8171

## Fix

> Removed the 5px padding based on the check if its non hoverable, the
current gap between the checkbox and the icon is 8px as expected.

> For the small variant the total size of the non hoverable component is
14x14 as mentioned in the design, for hoverable its 24x24

> For the Large variant the total size of the non hoverable component is
20x20 as mentioned in the design, for hoverable
its 32x32 

> checked for the hoverable checkbox component as well working as
expected



## Screenshot for the fixes

<img width="345" alt="Screenshot 2024-10-30 at 10 49 39 PM"
src="https://github.com/user-attachments/assets/2b5cadb7-67d2-4c61-bd40-0d5a12ae48d0">


#### Thank you for considering this contribution! I look forward to your
feedback.

---------

Co-authored-by: Karan Parmar <karan.parmar@PE-HO-MAC-185.local>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-18 16:50:34 +00:00
Raphaël Bosi
9810c5b6f2
Update ShowPageMoreButton to open the command menu when clicked (#8565)
https://github.com/user-attachments/assets/6e269391-8ea2-4146-8e86-7e75c84982f4
2024-11-18 17:44:23 +01:00
nitin
e1a730a8fc
Stories and SSL Configuration docs update (#8551) 2024-11-18 17:38:02 +01:00
Guillim
2f3c41620c
Wrap Long text fields (textarea) (#8557)
Here we add the option for Text inputs to be wrapped, and to select on
how many lines text should be displayed.

Fix #7552

---------

Co-authored-by: guillim <guillaume@twenty.com>
2024-11-18 17:36:19 +01:00
Antoine Moreaux
83b5eb69b0
feat(env-vars): Add warning validation decorator (#8555)
Introduced a custom decorator 'WarningIf' to log warnings for specific
environment variable conditions. Implemented this for
SESSION_STORE_SECRET to ensure users change it from the default value.
2024-11-18 17:04:10 +01:00
martmull
e3b327de8e
Add missing Icons (#8562)
## Before

![image](https://github.com/user-attachments/assets/54fdddd6-4a48-4e7c-a654-30a6599f22ea)


## After

![image](https://github.com/user-attachments/assets/c4e0318d-f0b0-4fc5-84b7-14cc72447ac3)
2024-11-18 16:22:17 +01:00
Jérémy M
fb0221b4c1
feat: default record group table (#8397)
This PR is preparing states to we'll be able to handle view groups
correctly with table data.
RowIds are now stores in 2 component states, one storing ids by view
group and another storing all the rowIds.
We're doing that because some other state like focus, or select must not
be scoped by view group id.
2024-11-18 15:36:40 +01:00
nitin
0125d58ba8
Favorite folders (#7998)
closes - #5755

---------

Co-authored-by: martmull <martmull@hotmail.fr>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-11-18 15:22:19 +01:00
Vardhaman Bhandari
5115022355
fix: Dropdown Overlapping Sidebar on Column Header Click in Horizontal Table When Scrolling (#8287)
fixes : #8272

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-18 15:19:04 +01:00
shubham yadav
8b8b9fe55b
Add "type" to reserved keywords in object metadata validation (#8548)
This PR adds "type" to the reserved keywords list in
validate-object-metadata-input.util.ts. This prevents users from
creating objects with "type" as a key, which has caused issues in the
past .
issue solved #8543 

1.Updated the RESERVED_KEYWORDS array to include "type"

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-11-18 15:10:49 +01:00
Félix Malfait
d8626b1304
Fix 'Error in devtools while checking fields of object' (#8554)
Fixes https://github.com/twentyhq/twenty/issues/8298

---------

Co-authored-by: Devessier <baptiste@devessier.fr>
2024-11-18 14:59:50 +01:00
Antoine Moreaux
ba847292b6
refactor: add default fallback for session store secret (#8553)
**Description:**
- Add default fallback for session store secret.
- Updated SESSION_STORE_SECRET validation to be optional and of type
string.
2024-11-18 14:29:19 +01:00
Lucas Bordeau
6a977ad529
Created a temporary background transparent blue color for checkboxes (#8363)
Created a temporary background transparent blue color for checkboxes

Co-authored-by: Weiko <corentin@twenty.com>
2024-11-18 12:14:55 +01:00
Thomas Trompette
a0200e6d91
Fix workspace favorites in storybook (#8519)
- create mock page when user not logged in
- add mocks when user logged in

Reset password story
<img width="1073" alt="Capture d’écran 2024-11-15 à 16 49 31"
src="https://github.com/user-attachments/assets/5d70d587-8094-47ad-8029-d8c729bd298d">

Record Index page story
<img width="1073" alt="Capture d’écran 2024-11-15 à 16 49 58"
src="https://github.com/user-attachments/assets/421772a9-62ee-4563-b492-5158db31fb9b">

Reset password page
<img width="1031" alt="Capture d’écran 2024-11-15 à 16 50 18"
src="https://github.com/user-attachments/assets/2d1cb119-5e34-49d0-9cfa-2b856a96f39c">
2024-11-18 12:08:05 +01:00
Weiko
0f1cf0e4e9
Add composite fields to aggregation (#8518)
## Context
This PR introduces a first aggregation for a composite field

## Test
<img width="1074" alt="Screenshot 2024-11-15 at 15 37 05"
src="https://github.com/user-attachments/assets/db2563f9-26b7-421f-9431-48fc13bce49e">
2024-11-18 12:02:57 +01:00
nitin
2f5dc26545
Settings Option Card component (#8456)
fixes - #8195

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-11-18 09:22:33 +00:00
Khuddite
ade1c57ff4
Fix remove redundant onClick event in favor of Link component (#8540)
Fixes: #8531 

1. Summary
There is `onClick` event handler defined for `NavigationDrawerItem`
component, and inside the handler, if `to` is not empty, we trigger
another navigation when it's already handled by `Link` component from
`react-router-dom`

2. Solution
Removed extra navigation logic from `NavigationDrawerItem`'s `onClick`
handler

3. Screen Recording


https://github.com/user-attachments/assets/cfefdd51-1663-4d96-acd2-57783ae9877f
2024-11-18 09:41:14 +01:00
ad-elias
ef5cc80440
Enable array filtering (#8538)
- Set array filtering always enabled
- Rename `IS_ARRAY_AND_JSON_FILTER_ENABLED ` TO
`IS_JSON_FILTER_ENABLED`.
2024-11-18 09:38:46 +01:00
Harsh Singh
9134ed8ce4
fix: prevent non-boolean 'active' prop from being forwarded to DOM (#8534)
Fixes: #8533
2024-11-17 20:11:13 +01:00
ad-elias
badebc513f
Fix multi select filtering (#5358) (#8452)
Allow filtering by multi-select fields.

<img width="1053" alt="Screenshot 2024-11-11 at 11 54 45"
src="https://github.com/user-attachments/assets/a79b2251-94e3-48f8-abda-e808103a6c39">

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-17 15:27:38 +01:00
ad-elias
ac1197afe1
Fix secondary links default value and types (#8532)
Fixes broken companies view
2024-11-17 15:18:02 +01:00
Harshit Singh
8c33e4cdae
fix: Checkbox column width should be fixed (#8489)
## Description

- This PR adds the functionality of fixed column width across all boards
- This PR fixes the issue 
#8463 
#8331

<img width="1167" alt="Screenshot 2024-11-14 at 12 19 02 PM"
src="https://github.com/user-attachments/assets/7c2b1016-2a59-4d08-8d29-9558648bcd67">

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-16 16:47:36 +01:00
Abstergo
859ce89e87
Fixed_Auth_Documentation (#8526)
Fixes #8525 

Fixed a small documentation API change:

AUTH_GOOGLE_APIS_CALLBACK_URL changed to
AUTH_MICROSOFT_APIS_CALLBACK_URL
2024-11-16 09:04:53 +01:00
Félix Malfait
4feb59a369
Fix Vite File does not exist (#8527)
This should fix #8491 

https://vite.dev/config/dep-optimization-options
2024-11-16 09:04:19 +01:00
Thomas des Francs
b733a2f3ec
changed multiItem Field Menu Item button to tertiary (#8517)
Think a simpler fix can fix
https://github.com/twentyhq/twenty/pull/8504/files#diff-13c19c3083bfe3172351cddbdd325960072496e9d50b73919fb35aa661bcdd52

https://github.com/twentyhq/twenty/issues/8492
2024-11-16 07:02:41 +01:00
Nicolas Rouanne
dc42315f12
fix(SingleEntitySelectMenuItems): extract Add New button from entitiesToSelect (#8474)
# Description
Closes #8169

Extract Add New button from entitiesToSelect and add it as a separate
element .
There doesn't seem to be a point in having Add New as part of a list, it
seems better off in its own component, apart from list items

## Rationale
There already is #8353 addressing the same issue, but it seems it
doesn't really remove the duplicate "Add New" in the list, leaving a
duplicate "Add New" in `SingleEntitySelect`

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-16 06:49:55 +01:00
martmull
9b2853bb01
Fix variable dropdown (#8521)
- fixed dropdown width
- add icons
- handle composite fields
## After

![image](https://github.com/user-attachments/assets/b9ac585e-2a39-4ab2-8620-739f83272b9b)

![image](https://github.com/user-attachments/assets/d9f7eabb-5693-4c1c-b81c-45a901479042)

![image](https://github.com/user-attachments/assets/9edced28-8a04-4951-913d-3e5561d4fcbe)
2024-11-15 18:08:03 +00:00
Thomas Trompette
54b28ff7ed
Enable workflow testing + fix header (#8512)
- clean execution header
- enable test on workflows + add snack bar
- display snack bar error if workflow cannot be tested

Behaviour still need to be validated by @Bonapara 
<img width="880" alt="Capture d’écran 2024-11-15 à 12 16 36"
src="https://github.com/user-attachments/assets/1dab0c3b-157c-449f-aee7-4c8cf2e369a6">
<img width="880" alt="Capture d’écran 2024-11-15 à 12 16 48"
src="https://github.com/user-attachments/assets/16279611-0a58-4fe6-b117-0192714a6d5c">
2024-11-15 18:38:39 +01:00
Khuddite
ac93d35538
Fix remove no result menu from relation picker (#8485)
Fixes: #8455 

1. Summary
Removed redundant `No result` menu from relation picker

2. Screenshot


https://github.com/user-attachments/assets/0bf457dc-57d6-4b38-8ef9-e985edd92396
2024-11-15 17:51:18 +01:00
Harshit Singh
9e7b90a551
fix: Added keyboard functionality for esc and Ctrl + a (#8282)
## Description

- This PR fixes 
#8247 
#8206 
- Adds keyboard functionality for esc (deselect all records) and Ctrl +
a (select records)

## Changes

https://github.com/user-attachments/assets/7b2718d6-dbe5-4cd8-8ead-b6baed1fc357

Merged during stream 🎉 

---------

Co-authored-by: Devessier <baptiste@devessier.fr>
2024-11-15 17:15:39 +01:00
Lucas Bordeau
77165a280e
Refactored query result getter handlers to support recursivity (#8497)
The `QueryResultGettersFactory` that is called on every query return to
was called only on the first level of relations because recursivity
wasn't implemented.

In this PR I implement recursivity and add some typing for the possible
forms a GraphQL query field can take.

This PR will fix any issue we have with pictures that were losing their
token (here for person.avatarUrl)

Fixes https://github.com/twentyhq/twenty/issues/8425
Fixes https://github.com/twentyhq/twenty/issues/8498

---------

Co-authored-by: Weiko <corentin@twenty.com>
2024-11-15 15:34:58 +00:00
Hitarth Sheth
4db0d0f8c1
Improve phone input UI (#8266)
[FIX] #8251 

Changes made as suggested by @Bonapara. 


![image](https://github.com/user-attachments/assets/4ba6db50-f122-4f66-9361-8a0a0da0b6a0)

![image](https://github.com/user-attachments/assets/f0f1e1f4-d354-4461-9929-cd171d95835e)

![image](https://github.com/user-attachments/assets/b6b9fdef-d6fa-4e4b-aa8b-c8c3ef8b8c57)

![image](https://github.com/user-attachments/assets/7e68bf25-aff9-428f-a084-0b0631eeecef)

For the `The country code should be Tertiary instead of Primary ` task,
the library "react-phone-number-input" doesn't provide any out of the
box functionality to style the country code.

If the feature **needs** to be implemented here are the possible
solution/workarounds:

1. Finding a more customizable library that allows to change the style
of the country code

OR 

2. Implement custom country selection (😰...)

OR

3. The lib allows a custom input element and a provides a function
(onCountryChange) that triggers whenever the country changes (a country
can be changed in two ways- 1. When the user deliberately chooses it
from dropdown OR 2. Changes the code in the input)

We'll have to get the length of the country code and then style the
first X digits in the custom input field...


![image](https://github.com/user-attachments/assets/21b09c4d-fb5b-4efe-8204-aea4c9040587)

![image](https://github.com/user-attachments/assets/007c2791-a640-4bc9-b852-0f9b597679f1)

Let me know if someone has a better approach.

---------

Co-authored-by: Thomas des Francs <tdesfrancs@gmail.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-15 16:03:48 +01:00
Félix Malfait
c03b1ca7c6
Improve storybook test (#8516)
Just a quick fix
2024-11-15 14:49:07 +01:00
Félix Malfait
34a3a66451
Improve flaky storybook test (#8515)
I don't think that will solve the flaky test but at least it will
cleanup the error message to avoid confusion
2024-11-15 14:29:39 +01:00
Félix Malfait
bd18eb8b42
Add logging for scopeid error (#8513)
Can't figure out https://github.com/twentyhq/twenty/issues/8347 so I'm
adding logs, maybe it'll help debug in the future!
2024-11-15 14:16:09 +01:00
Thomas des Francs
30bcdda323
Modal Background & box shadow fixes (#8506)
# Before

![CleanShot 2024-11-14 at 19 20
59](https://github.com/user-attachments/assets/9a561416-a08c-4cc4-ac71-b3f4410950d8)

# After

![CleanShot 2024-11-14 at 19 21
34](https://github.com/user-attachments/assets/eaa78d94-a337-4d91-9c36-8ac0dd27d952)
2024-11-15 12:44:58 +01:00
martmull
4f99b8eea1
8495 workflow display relevant columns in workflow related tables (#8502)
## After
### Workflows

![image](https://github.com/user-attachments/assets/535e0ff5-1276-41b9-aa52-d66150cd85ae)
### WorkflowRuns

![image](https://github.com/user-attachments/assets/8a7e076b-53ec-4b72-97d8-41bd77ed59ac)
### WorkflowVersions

![image](https://github.com/user-attachments/assets/7d2566b2-e6ea-4a3a-8e88-0f6850203219)

## Change Created By into Executed By in workflowRuns

![image](https://github.com/user-attachments/assets/b90b7a07-a4bc-4bd2-b7f5-ab7d2ae6ee45)
2024-11-15 10:13:36 +00:00
Thomas Trompette
a2a272fed4
Add crud actions (#8500)
Adding update / delete / find actions

Update and delete are not really different than creation.

Find uses the same logique as for graphql filters.
Expected formats are:

Filter
```
{
  "and": [
    {
      "name": {
        "eq": "salut"
      }
    },
    {
      "employees": {
        "eq": "0"
      }
    }
  ]
}
```

Order
`[ { "name": 'AscNullsFirst' } ]`
2024-11-15 10:10:00 +01:00
Félix Malfait
736635a94b
Begin moving to postgres spilo + adding pgvector (#8309)
We will remove the `twenty-postgres` image that was used for local
development and only use `twenty-postgres-pilo` (which we use in prod),
bringing the development environment closer to prod and avoiding having
to maintain 2 images.


Instead of provisioning the super user after the db initialization, we
directly rely on the superuser provided by Spilo for simplicity. We also
introduce a change that tries to create the right database (`default` or
`test`) based on the context.
  

How to test:
```
docker build -t twentycrm/twenty-postgres-spilo:latest -f ./packages/twenty-docker/twenty-postgres-spilo/Dockerfile .
docker images --no-trunc | grep twenty-postgres-spilo
postgres-on-docker:
	docker run \
	--name twenty_pg \
	-e PGUSER_SUPERUSER=twenty \
	-e PGPASSWORD_SUPERUSER=twenty \
	-e ALLOW_NOSSL=true \
	-v twenty_db_data:/home/postgres/pgdata \
	-p 5432:5432 \
	REPLACE_WITH_IMAGE_ID
```
2024-11-15 09:38:30 +01:00
Weiko
cfe3515aa6
Set cache metadata version to infinite TTL (#8507)
## Context
To avoid having a corrupt metadata version, we want to remove TTL for
that key.

## Test
<img width="592" alt="Screenshot 2024-11-15 at 00 02 05"
src="https://github.com/user-attachments/assets/9da0ae33-26a8-4e7b-82d0-dd691135a08f">
2024-11-15 00:05:42 +01:00
Charles Bochet
5384b4aba5
Fix record board export not taking filters into account (#8505)
Fix Export CSV action not taking into account the filters applied on the
Kanban index view
2024-11-14 23:28:53 +01:00
Marie
a799370483
Aggregated queries #1 (#8345)
First step of https://github.com/twentyhq/twenty/issues/6868

Adds min.., max.. queries for DATETIME fields
adds min.., max.., avg.., sum.. queries for NUMBER fields 

(count distinct operation and composite fields such as CURRENCY handling
will be dealt with in a future PR)

<img width="1422" alt="Capture d’écran 2024-11-06 à 15 48 46"
src="https://github.com/user-attachments/assets/4bcdece0-ad3e-4536-9720-fe4044a36719">

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
Co-authored-by: Weiko <corentin@twenty.com>
2024-11-14 18:05:05 +01:00
Harsh Singh
c966533f26
fix: search error in filter & sort dropdowns (#8493)
Fixes: #8483

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-14 17:51:54 +01:00
Ketan Mehta
51c54d4c5b
validation on Select field (#8316)
fix #8204
I changed "API keys" to "API values".
Stopped inputting special characters in Select field option keys.

@lucasbordeau please check the changes and tell me if I need to do any
other changes. :)

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-14 17:46:18 +01:00
Guillim
15b8b9b158
Feature : Adding percentage option to Input Number (#8481)
fixing #7375

---------

Co-authored-by: guillim <guillaume@twenty.com>
2024-11-14 14:23:25 +01:00
martmull
090f612c4b
Fix open api specs for MULTI_SELECT (#8494)
## Before

![image](https://github.com/user-attachments/assets/b7384fb3-0f32-498b-99bb-27b8c15db00c)

## After

![image](https://github.com/user-attachments/assets/a8429849-559d-4494-8636-e5a6ddda7b47)
2024-11-14 12:07:31 +01:00
martmull
9ac949dec8
[Workflow] Add search in variable dropdown (#8479)
- fix Icon variable Plus
- add search input 
- fix dropdown height

## Before

![image](https://github.com/user-attachments/assets/49f73efd-21cc-4ecd-a494-f51edc34dc57)


## After

![image](https://github.com/user-attachments/assets/2af2c7ee-72fd-4dae-a1ef-19e75e1ac026)
2024-11-14 11:40:06 +01:00
BOHEUS
d72068eb99
Fix BullMQ deprecation warning (#8486)
Related to #8470
2024-11-13 19:38:29 +01:00
Harsh Singh
c98a8a2258
fix: dropdown toggle functionality (#8476)
Fixes: #8468
2024-11-13 19:36:21 +01:00
Khuddite
2fb920f68c
Fix typo in branch name (#8480)
Fixes #8471 

Updated `0.33.0-canaray` -> `0.33.0-canary`

![CleanShot 2024-11-13 at 09 45
36](https://github.com/user-attachments/assets/6a365542-9b4d-4279-9ef4-966d22863eba)
2024-11-13 19:35:15 +01:00
nitin
795cb12a12
minor fix - spacing on Data model title fixed (#8467) 2024-11-13 19:34:15 +01:00
Nicolas Rouanne
cde96cf526
Fix/validate access token user not found (#8484)
# Description
Closes #7244 

See details about implementation:
https://github.com/twentyhq/twenty/issues/7244#issuecomment-2473845859
and
https://github.com/twentyhq/twenty/issues/7244#issuecomment-2473905514

# Changes
- return a `USER_NOT_FOUND` error instead of `INVALID_INPUT` error
- tweak unit tests to correctly test `AuthExceptionCode`, as it wasn't
properly tested; it was actually a _false positive_. This is because
[`toThrow`](https://jestjs.io/docs/expect#tothrowerror) from jest only
checks the `message`, and not any other method / attributes from the
`Error`. It's a know behaviour and not considered a bug, see
https://github.com/jestjs/jest/issues/13232#issuecomment-1252392845
2024-11-13 18:50:30 +01:00
Baptiste Devessier
898006f89d
Prevent automatic zoom when focusing inputs on iOS (#8477)
This is the result of a long discussion we had here:
https://github.com/twentyhq/twenty/issues/8001.

The goal is to stop iOS from automatically zooming when the user focuses
on an input whose font size is less than 16px.

The options were:

1. Disable zoom for all devices
2. Disable zoom for devices detected as iOS devices, which doesn't
prevent users from zooming manually but fixes the auto-zoom bug
3. Set the font size of the inputs to be equal to or greater than
16px—this change would take a lot of time

To me, the second option is the best, as iOS prevents developers from
disabling zoom. They saw that it was overused and chose to restrict this
setting. Setting a `maximum-scale` doesn't prevent users from zooming,
but it fixes the initial bug we had.

My implementation can be seen as [progressive
enhancement](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement
): If we can detect that the user uses an iOS device, we'll set the
`maximum-scale` viewport property. Relying on the user agent is always
unstable, and the check might fail unpredictably. We might not disallow
auto-zoom for some iOS devices.

However, I think we can either:

- Invest some time to choose a more reliable user detection pattern if
the one I suggest is not sufficient ([we find many different checks on
the
internet](https://stackoverflow.com/questions/9038625/detect-if-device-is-ios),
I'm not sure which one is the best)
- Choose to apply the viewport setting to all devices and remove the JS
code. According to my tests, it doesn't prevent zooming on desktops.
However, it does on Android phones. I think it's not lovely to disallow
zoom, but if the team agrees that we should go this way, I won't
disagree.

I know my JavaScript code does not follow a pattern we want to spread in
the app. The synchronous script will run as soon as possible to ensure
the viewport is correctly set when the website launches. This shouldn't
be an example followed by others.

Thanks, @harshit078, for your help in thinking about the best option.

I'm tagging @lucasbordeau and @charlesBochet for a technical review.

I would appreciate if someone could test on a more recent iOS device
than mine.

Here is a demonstration of the behavior on iOS:


https://github.com/user-attachments/assets/d49fb65f-dd76-455c-9ac0-d4c002a7fe89
2024-11-13 15:34:20 +01:00
Thomas Trompette
faeea2b887
Create record action (#8460)
- Add create record action
- Migrate all step name => action in a common folder
- Separate types
2024-11-13 15:21:40 +01:00
martmull
ba79a1d324
Fix style (#8475)
## Before

![image](https://github.com/user-attachments/assets/1c96c30c-da06-4caa-a05d-1c58006dcfa5)

## After

![image](https://github.com/user-attachments/assets/523fac64-7521-4c0f-bfa8-457d48493628)
2024-11-13 13:32:40 +00:00
Thomas des Francs
d2af97276d
0.32 changelog (#8461)
<img width="800" alt="0 32-webhooks"
src="https://github.com/user-attachments/assets/0c91bda3-4a8d-4808-bb8c-3b351a186a21">

<img width="800" alt="0 32-improved-cmdk"
src="https://github.com/user-attachments/assets/ebb98c2e-4b79-4dad-8946-e9ecd6c51bbc">
2024-11-13 12:57:30 +01:00
martmull
269eaf4422
Update zapier trigger payload (#8464)
- fixes zapier tests
2024-11-12 17:58:36 +01:00
Baptiste Devessier
31f03764d6
Improve the layout of the Workflow Visualizer (#8372)
- Increase the dimensions of the ReactFlow nodes. This allows to ditch
scaling which made it hard to get the width of the nodes as they were
visually scaled by 1.3.
- Center the flow when the flow mounts and when the state of the right
drawer opens.
- Put the node type inside of the node so it doesn't overlap with the
arrow
- Make the edges non deletable

We'll have to make a refactor so the viewport can be animated properly:
https://github.com/twentyhq/twenty/issues/8387.


https://github.com/user-attachments/assets/69494a32-5403-4898-be75-7fc38058e263

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-12 17:52:12 +01:00
martmull
aadcb49dcb
Fix missing timeline activity events (#8459)
Fixes bug introduced in https://github.com/twentyhq/twenty/pull/8193

Taking into account linked event name `linked-{eventName}` as before
issue

## Before
`linked-created` and `linked-updated` activity targets were not created
in `timelineActivity` table

## After
`linked-created` and `linked-updated` activity targets are created in
`timelineActivity` table
2024-11-12 12:04:58 +01:00
Marie
bec4da496d
Data settings new layout - anchor navigation (#8334)
Follow-up of https://github.com/twentyhq/twenty/pull/7979
Navigation between settings and fields tabs is now reflected in URL. 
<img width="1106" alt="Capture d’écran 2024-11-07 à 18 38 57"
src="https://github.com/user-attachments/assets/24b153ef-9e68-4aa2-8e3a-6bf70834c5ad">

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com>
Co-authored-by: Weiko <corentin@twenty.com>
Co-authored-by: Charles Bochet <charles@twenty.com>
2024-11-11 14:06:38 +01:00
Charles Bochet
9d6a850ee8
Mark main version as 0.33 canary (#8453) 2024-11-11 11:59:33 +01:00
Khuddite
ff77f85aee
Fix broken documentation pages in mobile view (#8432)
Fixes: #8396

1. Summary
The document content container is missing `width` and has only `padding`
CSS property, which means the width can overflow its parent based on the
content. The code block inside headings was missing `fontSize` for
mobile view, it was set for only desktop views.
    
2. Solution
I set `width` for document content container and `fontSize` for code
blocks in headings for mobile view.
    
3. Screenshots

![localhost_3000_developers_local-setup(iPad
Mini)](https://github.com/user-attachments/assets/4adf695f-3849-4ddc-8629-be03a70d32b1)
![localhost_3000_developers(iPhone 12
Pro)](https://github.com/user-attachments/assets/52254b3a-674b-4db0-9e6c-a68d59cb4401)
2024-11-11 09:32:00 +01:00
Harsh Singh
29d92abaff
fix: bookmarkIcon flash on hover exit (#8448)
Fixes: #8447

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-11 09:30:03 +01:00
nitin
c19e54f24b
Hide tabs (#7841)
@FelixMalfait WDYT?
We can refactor shouldDisplay Files/Tasks/Notes Tab etc into a hook.

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-11 09:26:27 +01:00
Harsh Singh
6d62dd9fd1
fix: object activate dropdown (#8438)
Fixes: #8436 
Fixes: #8435 
& other duplicate ```DropdownMenu```
2024-11-11 09:26:07 +01:00
Harsh Singh
51d1305e27
fix: timeline padding (#8440)
Fixes: #8437

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-09 08:19:28 +01:00
Harshit Singh
8ee827d05d
fix: Developers page dropdown not optimised for mobile viewport (#8392)
## Description

- This PR is a minor fix to issue #8379 
- Fixed dropdown for mobile viewports

## Changes


https://github.com/user-attachments/assets/76692233-996e-4a1a-884a-84d31464fc85
2024-11-09 07:59:15 +01:00
Charles Bochet
eb316074ef
Add People API upgrade instruction to upgrade guide (#8441)
I'm updating the docs as we now require the People API to be available
to use messaging sync. This has been reported by a user self-hosting the
app on discord.
2024-11-08 20:34:10 +01:00
Hitarth Sheth
e3e638579b
[FIX] Text overflow on timeline (#8325)
FIX: #6977 

Implementation:

1. Parent (Summary componenet) width is set to 100%. (dosen't grow even
if the child exceeds width)
2. span element is set to `text-overflow: ellipses` when overflown.

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-08 18:20:41 +00:00
Hitarth Sheth
6ec8a5b76e
[FIX] slash-menu-height-fix (#8327)
FIX #8326 

I've used the `height: fit-content` property just for customSlashMenu
but I think it will work for all dropdown menu's.
I tested it for a few and works fine, but not sure for edge cases. 

Let me know if the height should be changed to `fir-content`


![image](https://github.com/user-attachments/assets/dacbedb5-08e0-4d08-8952-21d8b9de1176)

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-08 16:22:18 +00:00
martmull
354ee86cb9
8311 serverless function functions can be executed with any input (#8380)
- remove ts-morph
- update inputSchema shape

![image](https://github.com/user-attachments/assets/e62f3fdb-5be8-4666-8172-44f73a1981b9)


https://github.com/user-attachments/assets/913cd305-9e7c-48da-b20f-c974a8ac7cea

## TODO
- have inputTypes to match the inputSchema type (string, number,
boolean, etc...), only string for now
- handle required/optional inputs
- handle case when inputSchema changes, fix data reset when switching
function
2024-11-08 16:15:27 +00:00
Harshit Singh
0381996fb9
fix: dropdown menu doesn't close and remains open (#8302)
## Description

- Fixes #8285 
- Added fix for both Currency and PhoneCountry dropdown

## Changes



https://github.com/user-attachments/assets/cbf85100-7791-40da-a676-2c87c6a32976

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-08 16:13:15 +00:00
Lucas Bordeau
045f569d62
Fixed dropdown menu field settings (#8374)
2 dropdown menu components were used. Using only one and using dropdown
props for passing width to its internal dropdown menu component.
2024-11-08 17:11:37 +01:00
Raphaël Bosi
e8bf81de5b
8172 update the right drawer action menu to open with command o (#8375)
Closes #8172 

- Added a shortcut property to the button component
- Displays the actions inside a dropdown
- The dropdown is toggled either by clicking on the button or with the
`command + O` shortcut



https://github.com/user-attachments/assets/4c4c88fa-85dc-404e-bb42-f2b0d57c8960
2024-11-08 17:08:09 +01:00
khuddite
0bf2cb69da
Fix multi-dropdown field can't have no options selected (#8391)
Fixes: #8224 

1. Summary
All multi-dropdowns across the application don't accept empty options
because emptiness is perceived as an invalid state.

2. Solution
The issue came down to the back-end and the specific string utility
function that converts a string separated by `,` to an array of options.
But the problem with it is that it returns `['']` for an empty string
representing an emptiness. And then `['']` fails on the parser because
simply `''` is not a valid option the user selected for the dropdown. So
I updated the string utility function to return an empty array for cases
like `'', '{}', '{ }'`, etc

3. Recording


https://github.com/user-attachments/assets/071fe5d2-2123-4deb-878c-67f62d9b3431
2024-11-08 16:10:14 +01:00
Raphaël Bosi
5a53ef1ade
Make filters work on export csv action (#8389)
- Create a new component state `contextStoreFiltersComponentState` and
refactor `contextStoreTargetedRecordsRuleComponentState`
- Refactor `computeContextStoreFilters` to use filters when no records
are selected
2024-11-08 15:38:45 +01:00
Harshit Singh
d44f7a46b6
fix: Misalignment and Excessive Padding in Relation Card (#8292)
## Description

- This PR solves the issue #8249 
- Maintained the overall padding, aligned content to left matching and
decreased Spacing between the card title and content should be smaller

## Changes

<img width="346" alt="Screenshot 2024-11-03 at 2 37 13 AM"
src="https://github.com/user-attachments/assets/91ba35bb-ff25-4001-af15-1fa10e5e1772">

---------

Co-authored-by: Thomas des Francs <tdesfrancs@gmail.com>
2024-11-08 14:10:15 +00:00
Harsh Singh
61cdc0e6da
fix: kanban column margin should extend to bottom (#8394)
Fixes: #7868 

[Screencast from 2024-11-08
13-33-47.webm](https://github.com/user-attachments/assets/1de620d8-8f05-43f8-bde9-a2c9cbea4b9f)

---------

Co-authored-by: ehconitin <nitinkoche03@gmail.com>
2024-11-08 14:55:45 +01:00
Raphaël Bosi
aa270950d9
Make csv export unavailable when only one record is selected (#8409)
Make csv export unavailable when only one record is selected
2024-11-08 14:50:04 +01:00
Baptiste Devessier
f3e3c186dc
Fix noninteractive toggle (#8383)
- Use a label to make the whole card interactive
- Disallow the Toggle component to shrink; it used to on mobile devices

A focus indicator is missing for the Toggle component. We'll have to add
one.
2024-11-08 12:42:15 +01:00
Marie
8b5e90aca9
Update searchVector expression based on rich text fields (#8390)
Search vector fields based on `RICH_TEXT` fields were generated using a
treatment on `RICH_TEXT` fields's `body`
column, to only extract and index the core text.
([PR](https://github.com/twentyhq/twenty/pull/7953))

Actually our RICH_TEXT fields are of datatype `text` in our database,
allowing users to insert non-json values, which breaks the search vector
generation (as it expects json values).

Our vision is unclear for now: for instance we may want to turn
RICH_TEXT into a composite field where the plain text would be stored in
a different column.

So for now, we will (1) treat rich_text data as text, and (2) update the
search vector expressions for the existing workspaces.
2024-11-08 12:41:11 +01:00
Thomas Trompette
813c57fba6
Create workflow setup command (#8406)
Steps to enable workflows:
- enable feature flags
- run metadata sync
- run this command

If the feature flag is not true, the command will fail. Which will be
useful to prevent seeding a wrong workspace.

Including a little fix for send email aciton error
2024-11-08 12:40:11 +01:00
Félix Malfait
b2004fe6b4
Fix contributor website import script (#8404)
We had duplicate entries in the database for issueLabels/ prLabels
2024-11-08 10:57:17 +01:00
Ana Sofia Marin Alexandre
f06cdbdfc6
refactor webhookAnalytics call and enrich analytics module (#8253)
**TLDR**

Refactor WebhoonAnalytics Graph to a more abstract version
AnalyticsGraph (in analytics module). Thus enabling the components to be
used on different instances (ex: new endpoint, new kind of graph).

**In order to test:**

1. Set ANALYTICS_ENABLED to true
2. Set TINYBIRD_JWT_TOKEN to the ADMIN token from the workspace
twenty_analytics_playground
3. Set TINYBIRD_JWT_TOKEN to the datasource or your admin token from the
workspace twenty_analytics_playground
4. Create a Webhook in twenty and set wich events it needs to track
5. Run twenty-worker in order to make the webhooks work.
6. Do your tasks in order to populate the data
7. Enter to settings> webhook>your webhook and the statistics section
should be displayed.

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2024-11-08 10:00:51 +01:00
brendanlaschke
f9c076df31
o365 calendar sync (#8044)
Implemented:

* Account Connect
* Calendar sync via delta ids then requesting single events


I think I would split the messaging part into a second pr - that's a
step more complex then the calendar :)

---------

Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
2024-11-07 18:13:22 +01:00
Lucas Bordeau
83f3963bfb
Be able to specify front port (#8382)
- Added REACT_APP_PORT in front .env
- Use value if specified otherwise 3001 by default

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
2024-11-07 18:11:51 +01:00
gitstart-app[bot]
6264d509bd
Migrate to twenty-ui - navigation/menu-item (#8213)
This PR was created by [GitStart](https://gitstart.com/) to address the
requirements from this ticket:
[TWNTY-7536](https://clients.gitstart.com/twenty/5449/tickets/TWNTY-7536).

 --- 

### Description

Migrate all menu items components to twenty ui and update imports.

```typescript
MenuItem
MenuItemAvata
MenuItemCommand
MenuItemCommandHotKeys
MenuItemDraggable
MenuItemMultiSelect
MenuItemMultiSelectAvatar
MenuItemMultiSelectTag
MenuItemNavigate
MenuItemSelect
MenuItemSelectAvatar
MenuItemSelectColor
MenuItemSelectTag
MenuItemSuggestion
MenuItemToggle
```

\
Also migrate all other dependent components and utilities like
`Checkbox` & `Toggle`\
\
Fixes twentyhq/private-issues#82

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-07 16:51:39 +00:00
Raphaël Bosi
f9a136ab6d
Update CanAccessMessageThreadService (#8388)
Trying to fix #7830
2024-11-07 17:32:41 +01:00
Raphaël Bosi
fb22efd9e9
Fix CalendarOngoingStaleJob being in wrong queue (#8385)
Fix CalendarOngoingStaleJob being in the wrong queue
(`MessageQueue.messagingQueue` instead of `MessageQueue.calendarQueue`)
2024-11-07 17:29:00 +01:00
Guillim
d9c0530dd3
Integration test : Sync mode + db reset option + cleaning (#8376)
Run the CI integrationin sync mode
and add the option to run it without db reset
cleaning all the useless integration test

---------

Co-authored-by: guillim <guillaume@twenty.com>
2024-11-07 17:22:47 +01:00
Marie
ac233b771c
Simplify multi-object picker logic with search (#8010)
Simplifying the logic around multi-object pickers and search by getting
rid of the behaviour that keeped selected elements even when they did
not match the search filter (eg keeping selected record "Brian Chesky"
in dropdown even when search input is "Qonto"). This allows us to
simplify the fetch queries around the search to only do one query.

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-07 17:09:19 +01:00
BOHEUS
c571c9bdca
Playwright POM (#8109)
Related to #6641
2024-11-07 15:38:28 +01:00
BOHEUS
c3343d3600
Playwright basic utils (#7930)
Related to #6641
2024-11-07 15:34:53 +01:00
Harshit Singh
4f2b055ee0
fix: Minor bugs in UI (#7891)
## Description

- This PR fixed #7890

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
2024-11-07 14:04:33 +00:00
Marie
60349d0989
Fix broken relation picker in Kanban (#8377)
Fixes https://github.com/twentyhq/twenty/issues/8233

Typing a search input was triggering a re-render of the whole
RecordBoardCard, resetting the search input to its initial value, an
empty string, making it impossible to actually type anything.
useRelationPicker had (legacy?) useless dependencies to recoil states
that caused the rerenders.
2024-11-07 13:55:21 +00:00
gitstart-app[bot]
7bab65b569
Implement object fields and settings new layout (#7979)
### Description

- This PR has as the base branch the TWNTY-5491 branch, but we also had
to include updates from the main branch, and currently, there are
conflicts in the TWNTY-5491, that cause errors on typescript in this PR,
so, we can update once the conflicts are resolved on the base branch,
but the functionality can be reviewed anyway
- We Implemented a new layout of object details settings and new, the
data is auto-saved in `Settings `tab of object detail
- There is no indication to the user that data are saved automatically
in the design, currently we are disabling the form

### Demo\

<https://www.loom.com/share/4198c0aa54b5450780a570ceee574838?sid=b4ef0a42-2d41-435f-9f5f-1b16816939f7>

### Refs

#TWNTY-5491

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com>
Co-authored-by: Marie Stoppa <marie.stoppa@essec.edu>
Co-authored-by: Weiko <corentin@twenty.com>
2024-11-07 14:50:53 +01:00
prathameshpatil5181
3be30651b7
fix : 7223 Clicking Outside Fields domain link email phone Close Them (#7804)
fixes #7223

https://github.com/user-attachments/assets/1150e96f-4fb5-40ba-ac17-89d8b2ab16e7
2024-11-07 12:40:28 +00:00
martmull
f3a38679ae
Add try catch to command (#8381)
fixes 0-32 command
2024-11-07 11:27:33 +01:00