Commit Graph
7639 Commits
Author SHA1 Message Date
0c33dcc16a i18n - translations (#13933)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-14 18:49:57 +02:00
EtienneandGitHub f6d0af5fb8 Move duplicate key error handling in ORM (#13893)
Error available in REST API
<img width="1360" height="653" alt="Screenshot 2025-08-13 at 11 48 19"
src="https://github.com/user-attachments/assets/a055859d-ce54-4ff6-9aba-fac48e03a98d"
/>

`curl http://localhost:3000/rest/people \
  --request POST \
  --header 'Content-Type: application/json' \
  --data '{
  "emails": {
    "primaryEmail": "test@test.com"
  }
}'`

closes https://github.com/twentyhq/twenty/issues/13567
2025-08-14 16:38:04 +00:00
Charles BochetandGitHub 5c61daa201 Refactor board inline-cell input (#13928)
Makes board use the Input portals for Inline Cells
2025-08-14 17:43:27 +02:00
WeikoandGitHub 1707e00ad4 Workspace schema migration runner v2 (#13899) 2025-08-14 15:58:25 +02:00
c1885233bc i18n - translations (#13925)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-14 15:03:14 +02:00
Lucas BordeauandGitHub fd2b063d84 Add RecordField abstraction (#13923)
This PR adds a new RecordField abstraction to mimick the behavior of
RecordFilter, RecordSort and other similar concepts that allow to have
something that is not related directly to views.

It is closely following the same pattern with an Effect component to
initialize it from views and CRUD hooks to modify it.

Although for this concept we save to view fields automatically for every
modification.

This PR does not implement saving to view fields, it is just a parallel
code path that is meant to be built to see if everything behaves the
same then we'll remove the old code path at the end by saving record
fields instead of the many states for columns, fields definitions, etc.
2025-08-14 15:00:07 +02:00
Charles BochetandGitHub 8c78314b52 Refactor inline-cell inputs on board (#13921)
Refactor FieldsCard (aka RecordFieldList) and RecordDetailSection so
they re-use the same components
2025-08-14 14:52:38 +02:00
9ea0662936 i18n - translations (#13924)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-14 14:22:51 +02:00
56dda7c135 [fast follows] - improve rest api documentation, fix add new button being considered in drag, fix grip color (#13709)
as per title

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
2025-08-14 14:12:13 +02:00
Thomas TrompetteandGitHub 50c4c50169 Remove workflow context + clean action config (#13919)
- Remove create related version and runs from workflow action config
- Remove WorkflowStepContextProvider. Use states instead
2025-08-14 10:17:07 +00:00
08bf7b6dca i18n - translations (#13922)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-14 11:47:53 +02:00
Paul RastoinandGitHub ad77d2f462 ObjectMetadataServiceV2.updateOne (#13891)
# Introduction
Last service to get migrated, `updateOne` object metadata service v2
2025-08-14 09:37:52 +00:00
3c034c4ab4 i18n - translations (#13920)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-14 11:21:30 +02:00
Charles BochetandGitHub cd0f9aebc0 Refactor inline-cell inputs (#13914)
Continue the work so that inline-cell do not embed their own input which
is inefficient when we have thousands of inline-cell on the table
2025-08-14 11:06:37 +02:00
455ce191e4 feat: ability to pin a manual trigger in the navbar (#13904)
Fixes #13333 

This PR adds the ability to pin a manual trigger in the navbar. As
suggested, the following changes have been made:

**Changes Made**

- **Schema updates**
- Updated the `workflowSchema.ts` and added `isPinned` to the
`workflowManualTriggerSchema` as an optional boolean.

- **Defaults**
- Updated the `getManualTriggerDefaultSettings.ts` to add `isPinned` to
the `WorkflowManualTriggerSettings`, defaulting to false.

- **UI updates**
- Updated the `ManualTriggerAvailabilityOptions.ts` to improve the
Availability labels as suggested in the figma files.
- Created a new file `ManualTriggerIsPinnedOptions.ts` that contains the
options (label, value and icon) for the `isPinned` select component.
- Updated the `WorkflowEditTriggerManualForm.tsx` to incorporate the
added `isPinned` select component.

- **Action handling**
- Modified `useRunWorkflowRecordActions.tsx` to add `isPinned:
activeWorkflowVersion.trigger?.settings?.isPinned` to the returned
action config.

---------

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
Co-authored-by: Félix Malfait <felix@twenty.com>
Co-authored-by: Raphaël Bosi <71827178+bosiraphael@users.noreply.github.com>
Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
2025-08-14 09:03:35 +00:00
Baptiste DevessierandGitHub 36fcb29e86 Implement proper arrows between nodes for workflows and workflow versions (#13909)
> [!IMPORTANT]
> We still have to implement the new arrows for **workflow runs**. I
kept the old arrows because they currently indicate the success state of
an execution. In the new version, arrows will all look the same,
regardless of the execution state of the previous node, so we'll be able
to use the same arrows everywhere.

## Workflows

You can see that arrows start from the right spot and end just above the
target node. **We will soon remove the round top handle, and the arrow
will gently touch the top of the node.**


https://github.com/user-attachments/assets/febd5f49-393f-4d97-addc-bede5cf6944a

## Workflow versions


https://github.com/user-attachments/assets/e519850f-abd9-4d75-8337-c4c44a2dbfed

Closes https://github.com/twentyhq/core-team-issues/issues/1369
2025-08-14 10:05:42 +02:00
Thomas TrompetteandGitHub 88735f6788 Stop propagating full workflow in components (#13900)
Workflow, workflow version and workflow runs should not be passed
through props or context. These are set in recoil component states and
that's where all hooks should look for these.

This PR stop propagating workflow with version through all components.
2025-08-13 16:02:13 +00:00
EtienneandGitHub 5eba2a8011 UpdateMany - Process connect queries in batch (#13907)
closes https://github.com/twentyhq/core-team-issues/issues/1357
2025-08-13 17:53:04 +02:00
Charles BochetandGitHub 6528038e9e Refactor inline-cell-input hover on field-list (#13906)
This is first step toward separating the path between display mode and
input mode for inline-cells like we have done for tableCell.

The idea is to have 1 floating or anchored field input shared between
all cells. This should be done for field-list, board and task/note row +
for hover and edit mode.

This PR is only about field-list and hover
2025-08-13 17:51:11 +02:00
Raphaël BosiandGitHub b3ae72eb9a Disable nx ui terminal (#13910)
Disable nx ui terminal:

https://nx.dev/recipes/running-tasks/terminal-ui#enabledisable-the-terminal-ui
2025-08-13 17:50:10 +02:00
GuillimandGitHub 3f66e81a9f Missing the joincolumnname parsing (#13898)
in graphql-selecvted-fields-parser, we forgot to treat the
joincolumnname case, on top of the relation itself.
2025-08-13 16:49:22 +02:00
Baptiste DevessierandGitHub 36dc6cbcb8 Allow deleting any branch via keyboard (#13897)
The heart of the fixing is making edges selectable and deletable in
`packages/twenty-front/src/modules/workflow/workflow-diagram/utils/transformFilterNodesAsEdges.ts`.

## When Branches are enabled


https://github.com/user-attachments/assets/7477c556-d593-4235-8312-e830847192ca

## When Branches are disabled


https://github.com/user-attachments/assets/445c98b7-2370-4d60-b2e8-e47b05e8d8a2
2025-08-13 15:06:42 +02:00
Baptiste DevessierandGitHub dafb43be6d Make source handle blue when node is selected and on hover (#13887)
## Branches disabled


https://github.com/user-attachments/assets/a0f597df-467e-4a45-bfc0-7c55dfbbcf47

## Branches enabled


https://github.com/user-attachments/assets/99d5a1c2-6943-407e-9928-ffabd344bebd
2025-08-13 14:03:32 +02:00
25d27e904f i18n - translations (#13892)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-13 11:48:04 +02:00
38c499468f i18n - translations (#13890)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-13 11:35:55 +02:00
Lucas BordeauandGitHub 3f0ee0139c Refactor record-field into ui sub-folder (#13888)
This PR prepares the refactor of record field definition and column
definition.

We need to separate the two concepts of FieldInput and FieldContext at
the cell level, and the new RecordField concept that will replace
FieldDefinition at the metadata and state level.

So we create a new ui sub-folder in the already existing record-field
folder, in order to separate those two concepts that are still very
close.
2025-08-13 11:31:39 +02:00
Paul RastoinandGitHub e8e81957a6 ObjectMetadataServiceV2.deleteOne (#13871)
# Introduction
- Implementing the delete one for the new object metadata service v2.
- Handling relation fields and fields in the first place to finally
remove the object
- puting back updatedAt and createdAt in flat metadatas
- duplicate criteria addition for flat object
- removing datasource id from object metadata dto
2025-08-13 09:20:17 +00:00
Baptiste DevessierandGitHub 98e1a325a8 Only allow deleting branches when branches are enabled (#13889)
## When filtering is enabled


https://github.com/user-attachments/assets/820e0a3a-265d-490d-9bd2-6d1bce9900a6

## When filtering is disabled


https://github.com/user-attachments/assets/cfc6cf9f-f66b-402a-8db9-9e8a34de6feb
2025-08-13 09:19:46 +00:00
neo773andGitHub 8570f1ce03 followup #13878 (#13886) 2025-08-13 09:57:43 +02:00
Balaji KrishnamurthyandGitHub e0508470e8 Permission table fixes (#13882)
Closes #13865 
`IconEye` has been removed as specified in the issue. There was also a
`PencilIcon` for the `Edit` section, which has been removed. The
alignment issue was caused due to the `See` label being aligned to
`center`, which has now been removed. An optional parameter
`gridColumns` has been added to `StyledObjectFieldTableRow`.

Adding a screenshot for reference:
<img width="1153" height="498" alt="image"
src="https://github.com/user-attachments/assets/12357084-f8d2-45d4-9b58-651488609c07"
/>
2025-08-13 09:37:49 +02:00
8c39f5d1e4 i18n - translations (#13885)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-13 09:34:10 +02:00
Balaji KrishnamurthyandGitHub 02cf00d457 Rename permissions and fix add rule button (#13874)
Closes #13868

- `Permissions` has been renamed to `Records`
- `Add object rule` has been shortened to `Add rule`

Attaching screenshot for reference
<img width="730" height="491" alt="image"
src="https://github.com/user-attachments/assets/09141334-07ad-4916-9f3b-c9a537f52def"
/>
2025-08-13 09:27:43 +02:00
88cc8d48de i18n - translations (#13883)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-13 08:53:07 +02:00
EtienneandGitHub 6936993557 Unique fields - fixes (#13848)
- Enable update to unique for composite field with defaultValue
different from default defaultValue on subfield not included in unique
constraint
- Enable update to unique for standard field + Disable update to
non-unique for standard index
- Fix typo

Fixes https://github.com/twentyhq/core-team-issues/issues/1360
2025-08-13 08:40:46 +02:00
Balaji KrishnamurthyandGitHub f63fe5d478 Remove X icon for fields that cannot be removed (#13876)
Closes #13867
The `IconX` now only renders when `disabled` is `false`. This means,
that the IconX only appears when the field can actually be removed.

Attaching screenshot for reference
<img width="622" height="606" alt="image"
src="https://github.com/user-attachments/assets/7b8895c3-4ed1-4de9-98dc-585ee33e2960"
/>
2025-08-12 22:49:08 +02:00
af835e23be fix: sync color scheme on loading state (#13878)
Before:


https://github.com/user-attachments/assets/a769a2f8-554a-42f7-8adb-e8b4be92a4d1


Aftter:


https://github.com/user-attachments/assets/9200967a-902f-4f8d-822d-827dda32bac2

---------

Co-authored-by: Félix Malfait <felix@twenty.com>
2025-08-12 22:47:58 +02:00
Baptiste DevessierandGitHub 3ffb35d7a8 Bring back edge selection & deletion (#13863)
Bring back what shouldn't have been deleted.
2025-08-12 17:21:52 +02:00
978a3b9171 i18n - translations (#13870)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-12 17:01:04 +02:00
Paul RastoinandGitHub de0468d104 ObjectMetadataServiceV2.createOne (#13849)
# Introduction

Introducing v2 object metadata service create one handler v2, not
overkilling the flatObjectMetadata validation for the moment that will
require sequential validation for the import in order to handle
relations and morph relations
2025-08-12 16:49:35 +02:00
c94f33f1b7 i18n - translations (#13859)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-12 16:06:27 +02:00
Charles BochetandGitHub ef42dace30 Fix destroy many resolver broken on custom objects (#13858)
Fixes https://github.com/twentyhq/twenty/issues/13804
2025-08-12 16:04:21 +02:00
Thomas TrompetteandGitHub cee647435c Improve workflow queue cron reliability (#13818)
Improve workflow enqueue cron : instead of relying on the cache to know
how many workflows we can enqueue, query the DB. Then set the cache and
process the not started workflows.

Also adding a second cron that will look for workflows enqueued one hour
ago or more and put these back in the not started status. This will
allow the first cron to start these again.
2025-08-12 15:54:58 +02:00
Félix MalfaitandGitHub 3c0f3fd2ae Run yarn dedupe and upgrade TS (#13853)
Upgrading TS to the latest version, and cleaning up packages with yarn
dedupe
2025-08-12 15:18:59 +02:00
GuillimandGitHub 62352901ba [Morph] frontend basics init (#13822)
Basic setup for frontend work on morph relations.

FieldMetadata definition and related adjustments
2025-08-12 12:11:18 +00:00
3c6a115ace i18n - translations (#13852)
Created by Github action

---------

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-12 13:58:33 +02:00
nitinandGitHub 7a710aee3c fix IMAP breadcrumb (#13847)
closes https://github.com/twentyhq/twenty/issues/13811
figma -
https://www.figma.com/design/xt8O9mFeLl46C5InWwoMrN/Twenty?node-id=72629-202079&t=CHbHe7QGamvPTnAi-0
2025-08-12 13:49:04 +02:00
d316f7edb9 fix: [Mailbox sync lost banner] Banner overlapping the filters (#13808)
Ignore `undefined` in the banner. I commented out the check for testing
purpose.


https://github.com/user-attachments/assets/f18b918b-b70b-4120-be36-96ba190c99be



/closes #13628

Co-authored-by: Charles Bochet <charles@twenty.com>
2025-08-12 13:47:25 +02:00
Charles BochetandGitHub be8af1eb29 Migrate eslint to mjs (#13850)
Migrating eslint.config.js to eslint.config.mjs to remove ES error while
running linter
2025-08-12 13:12:03 +02:00
828be15405 i18n - translations (#13851)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2025-08-12 13:00:59 +02:00
8b59fcaea7 Remove preconstruct, update wyw (#13844)
To simplify our setup, moving back to Vite to build twenty-shared.

Also upgrading wyw

---------

Co-authored-by: prastoin <paul@twenty.com>
2025-08-12 12:43:35 +02:00