3d21ffb4d1
i18n - translations ( #15494 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-31 13:01:39 +01:00
Raphaël Bosi and GitHub
cf382ccdd9
Fix maximum number of bars for stacked bars ( #15481 )
...
The maximum number of bars feature has been implemented before the
stacked bar one, so it didn't support it.
Now, the same number of bars is displayed with and without group by when
we are in stacked mode.
2025-10-31 17:25:47 +05:30
nitin and GitHub
1b02bc7cc4
remove values/formatted values from chart legends ( #15490 )
...
before:
<img width="639" height="385" alt="Screenshot 2025-10-31 at 15 29 01"
src="https://github.com/user-attachments/assets/5769a160-205d-4a03-ab7b-e037c65dd743 "
/>
after:
<img width="667" height="371" alt="Screenshot 2025-10-31 at 15 27 51"
src="https://github.com/user-attachments/assets/12a4e034-6262-43a9-b257-894d74462d73 "
/>
2025-10-31 17:18:55 +05:30
Ranjeet Baraik and GitHub
6ed1fd841d
fix: composite field label retrieval in spreadsheet import utility ( #15489 )
...
Fixes - https://github.com/twentyhq/twenty/issues/15368
Seems like the sub field was not being used for the actual label lookup
part
<img width="1302" height="354" alt="image"
src="https://github.com/user-attachments/assets/444f76be-117b-4b8b-91fe-dedd293e09af "
/>
2025-10-31 11:39:39 +01:00
nitin and GitHub
d6bfbcc5ab
add max widths on bars ( #15487 )
...
closes
https://discord.com/channels/1130383047699738754/1433444230176440560
before:
https://github.com/user-attachments/assets/db93c705-7c0a-407b-99d8-ecf8fd9eac1b
after:
https://github.com/user-attachments/assets/cb2a5e74-ea41-4381-9fbc-04efee12a50e
2025-10-31 11:15:53 +01:00
Abdul Rahman and GitHub
2c39fc04c2
feat: Migrate documentation to Mintlify and implement Helper Agent with search functionality ( #15443 )
2025-10-31 10:17:54 +01:00
nitin and GitHub
5211d6ac7e
fix: make $groupBy parameter required in group-by queries ( #15485 )
...
before:
<img width="953" height="692" alt="Screenshot 2025-10-31 at 12 16 22"
src="https://github.com/user-attachments/assets/d2ec2a49-256d-4f17-baa7-6fb541e6e691 "
/>
after:
<img width="960" height="718" alt="Screenshot 2025-10-31 at 12 16 34"
src="https://github.com/user-attachments/assets/39843363-8f77-40cc-8203-ed9895efa57e "
/>
2025-10-31 14:10:01 +05:30
769ce95cde
Data labels improvements ( #15475 )
...
Create custom total component and display the total instead of each
group separately
https://github.com/user-attachments/assets/4e3edde8-9675-4bb1-834a-98dbff016063
https://github.com/user-attachments/assets/294555cc-a64b-4148-b1b9-f1dc0f0322ae
---------
Co-authored-by: ehconitin <nitinkoche03@gmail.com >
2025-10-30 23:47:37 +05:30
nitin and GitHub
4c35cf305f
Add support for negative bars on bar chart ( #15418 )
...
in app:
<img width="580" height="591" alt="Screenshot 2025-10-29 at 01 47 51"
src="https://github.com/user-attachments/assets/9e16a597-6367-454d-a726-668beac90e04 "
/>
<img width="747" height="582" alt="Screenshot 2025-10-29 at 02 30 15"
src="https://github.com/user-attachments/assets/d06eb443-16ac-4394-bf4f-e6063f1ac12f "
/>
new stories:
<img width="569" height="359" alt="Screenshot 2025-10-29 at 01 46 50"
src="https://github.com/user-attachments/assets/a4cd33e2-3f15-4b8d-8849-c2d990246dec "
/>
<img width="564" height="360" alt="Screenshot 2025-10-29 at 01 46 45"
src="https://github.com/user-attachments/assets/014a2110-53e4-4f99-afda-1d8c5412a815 "
/>
<img width="604" height="372" alt="Screenshot 2025-10-29 at 01 46 40"
src="https://github.com/user-attachments/assets/bf7a73b4-fe29-40b7-b1a0-2894d5cbeccf "
/>
<img width="635" height="395" alt="Screenshot 2025-10-29 at 01 46 34"
src="https://github.com/user-attachments/assets/3cdfd3b9-dc76-4cf2-98e5-8e2a74e02ac6 "
/>
<img width="652" height="408" alt="Screenshot 2025-10-29 at 01 46 30"
src="https://github.com/user-attachments/assets/c2837d8d-371f-44ac-b66b-8f41ba69245e "
/>
2025-10-30 17:40:34 +01:00
0cbd1e8ec5
fix: login redirection to active objects ( #15366 )
...
Fixes - https://github.com/twentyhq/twenty/issues/15364
- Removed `activeNonSystemObjectMetadataItems` from the hook as it was
not necessary. Hook use `alphaSortedActiveNonSystemObjectMetadataItems`
now.
- Correctly check for read permissions.
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2025-10-30 17:31:26 +01:00
Baptiste Devessier and GitHub
51fdaf2731
Some fixes for colors ( #15479 )
...
Please note the background colors of the tags and of the nodes
## Before
<img width="3456" height="2161" alt="CleanShot 2025-10-30 at 16 03
21@2x"
src="https://github.com/user-attachments/assets/09cbd1bd-26e2-4e05-88bc-f7d96de8a004 "
/>
## After
<img width="3456" height="2160" alt="CleanShot 2025-10-30 at 17 03
25@2x"
src="https://github.com/user-attachments/assets/dc4fe113-1489-4476-a8b6-4cb446addcd5 "
/>
2025-10-30 16:23:22 +00:00
Paul Rastoin and GitHub
a16fcebe67
Activate v2 for new workspaces ( #15472 )
2025-10-30 17:14:14 +01:00
428822f52d
i18n - translations ( #15477 )
...
Created by Github action
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-30 16:35:23 +01:00
ab0cb67686
Render depends on menu items conditionally in chart settings + fix min max values ( #15391 )
...
closes
https://discord.com/channels/1130383047699738754/1430894689317294152
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
Co-authored-by: Raphaël Bosi <71827178+bosiraphael@users.noreply.github.com >
2025-10-30 20:56:37 +05:30
nitin and GitHub
2510cbf614
Add lock on dashboard restricted charts ( #15476 )
...
closes
https://discord.com/channels/1130383047699738754/1433452994132840478
2025-10-30 14:59:34 +00:00
nitin and GitHub
33eaa4f2a2
Fix bar chart X-axis labels when groupBy matches aggregate field ( #15473 )
...
closes -
https://discord.com/channels/1130383047699738754/1430899754728030309
2025-10-30 15:53:17 +01:00
nitin and GitHub
abcc891aed
overflown tabs should be selected upon clicking edit right button ( #15469 )
...
as per title
2025-10-30 19:23:00 +05:30
26039d491f
i18n - translations ( #15468 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-30 14:38:52 +01:00
nitin and GitHub
28333815d5
update chart tooltip designs ( #15426 )
...
closes
https://discord.com/channels/1130383047699738754/1430845815634657320
~~TODO: add truncation~~
2025-10-30 19:07:59 +05:30
Etienne and GitHub
2461296158
Common - fixes ( #15463 )
...
Fixes https://github.com/twentyhq/twenty/issues/15435
Fixes https://github.com/twentyhq/private-issues/issues/338
Fixes https://github.com/twentyhq/twenty/issues/15457
2025-10-30 14:29:57 +01:00
d6d9ebf6eb
i18n - translations ( #15466 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-30 14:23:40 +01:00
nitin and GitHub
369b1b19af
Tabs sidepanel settings on dashboards ( #15454 )
...
question -- should we have confirmation modal on delete -- if yes --
should it appear on save -- or on delete?
figma -
https://www.figma.com/design/xt8O9mFeLl46C5InWwoMrN/Twenty?node-id=79469-817497&t=5gFTRiI5f8nPyzc6-0
Note - Figma has a new side panel header, which is unavailable for now,
so I used the existing one
In a follow-up, we could even have icons for tabs -- would be cool --
and an icon picker for the icons?
followups which could be addressed in separate PRs -
- ~~tabs being edited state (select state?) -- this would have blue
border around tab~~ done
- add icons on tabs -- need to update the entity to add icon -- and set
a default (dashboard) -- at least
- icon picker in the sidepanel header
closes -
https://discord.com/channels/1130383047699738754/1430204556884836532
video QA
https://github.com/user-attachments/assets/a4ad4b93-911d-46ce-9b68-347fd48fe933
2025-10-30 18:45:31 +05:30
Abdullah. and GitHub
f367bd6072
fix: vite related dependabot alerts ( #15464 )
...
Resolves [14 Dependabot
Alerts](https://github.com/twentyhq/twenty/security/dependabot?q=is%3Aopen+package%3Avite+manifest%3Ayarn.lock+has%3Apatch )
simultaneously.
Vitest 1.4.0 was imported in root package.json, which further imported
Vite 5. However, Vitest solved no purpose at the moment since we still
rely on Jest for testing. Therefore, removed the package and we can
import the latest 4x version when we move from Jest to Vitest.
For the rest of the use-cases of Vite, ran `yarn up vite --recursive`
for the version used to be greater than 7.0.8.
<p align="center">
<img width="403" height="132" alt="image"
src="https://github.com/user-attachments/assets/a4ff7a75-2e3f-4dea-9f40-9cfdf07d6252 "
/>
</p>
2025-10-30 14:00:28 +01:00
Charles Bochet and GitHub
eba3b0ca88
Simplify Code on FetchMore ( #15465 )
...
Simplifying a bit more fetchMore / lazyQuery api
2025-10-30 13:36:30 +01:00
Thomas Trompette and GitHub
a82b74c1ff
Make upsert action body common with create record instead of update record ( #15442 )
...
We do not want the fields to update multiselect for upsert record
action. We want all available fields displayed by default.
This makes upsert record action closer to create record than update
record.
This PR:
- deletes WorkflowUpdateRecordBody that was common between update and
upsert and put back content into update
- creates WorkflowCreateRecordBody that is now common between create and
upsert
- simplifies shouldDisplayFormField
Before - using fields to update as update record action
<img width="546" height="823" alt="Capture d’écran 2025-10-30 à 10 00
24"
src="https://github.com/user-attachments/assets/9206bc8b-75c2-40fa-a8de-e708b6b2cd05 "
/>
After - displaying all fields as create record action
<img width="546" height="823" alt="Capture d’écran 2025-10-30 à 10 00
04"
src="https://github.com/user-attachments/assets/87141a47-946f-4604-be55-f4c21ff4a3d8 "
/>
2025-10-30 13:36:16 +01:00
martmull and GitHub
8edb2c5520
Stop using .env variables to authenticate with cli ( #15461 )
...
- as title, solves our user facing authentication issues using the
twenty-cli
- update twenty-cli version (breaking change from previous PR)
2025-10-30 11:18:25 +00:00
65a329e900
Fix grip size on widgets ( #15460 )
...
Fix grip size on widgets
---------
Co-authored-by: ehconitin <nitinkoche03@gmail.com >
2025-10-30 11:38:02 +01:00
1929605fd9
fix: password reset redirection ( #15421 )
...
Fixes - https://github.com/twentyhq/twenty/issues/15131
Replace navigate with redirect in PasswordReset component to prevent
race conditions
---------
Co-authored-by: Etienne <45695613+etiennejouan@users.noreply.github.com >
2025-10-30 10:24:06 +00:00
Marie and GitHub
1ad8c05fbc
groupBy fix + typeMapper fix ( #15433 )
...
groupBy fix: when a group's dimension value is NULL, we need to adapt
the raw sql (stage: NULL -> stage IS NULL)
typeMapper fix: a graphql type should be made non-nullable if was
indicated so + does not have a default value. our check on not having a
default value was limited to having a null defaultValue instead of
having a null or undefined defaultValue. This is a breaking change, but
all the queries that were providing a null value for these args were not
functioning anyway, and luckily in the FE we declared all queries adding
a `!` already.
2025-10-30 10:14:56 +00:00
Raphaël Bosi and GitHub
19ea9fff97
Set default graph axis display to NONE ( #15459 )
...
Set default graph axis display to NONE
2025-10-30 10:14:25 +00:00
Weiko and GitHub
736fac021d
Add contextMenu actions to calendar view ( #15451 )
...
<img width="432" height="307" alt="Screenshot 2025-10-29 at 19 31 38"
src="https://github.com/user-attachments/assets/61965305-3a20-46de-b47f-7ac78cb1228c "
/>
2025-10-30 10:59:11 +01:00
Abdullah. and GitHub
3401216cc8
fix: validator.js has a URL validation bypass vulnerability in its isURL function. ( #15437 )
...
Resolves [Dependabot Alert
299](https://github.com/twentyhq/twenty/security/dependabot/299 ) -
validator has a URL validation bypass vulnerability in its isURL
function.
Used `yarn up validator --recursive` to update the version in yarn.lock
file.
2025-10-29 20:34:59 +01:00
Abdullah. and GitHub
9a0ce141d4
chore: next.js may leak x-middleware-subrequest-id to external hosts. ( #15438 )
...
Resolves [Dependabot Alert
298](https://github.com/twentyhq/twenty/security/dependabot/298 ) -
next.js may leak x-middleware-subrequest-id to external hosts.
Updated the version of react-email used to update the version of
Next.js.
2025-10-29 20:34:14 +01:00
Abdullah. and GitHub
f2d9262e6a
fix: on-headers is vulnerable to http response header manipulation ( #15453 )
...
Resolves [Dependabot Alert
245](https://github.com/twentyhq/twenty/security/dependabot/245 ) -
on-headers is vulnerable to http response header manipulation.
Updated the version of express-session from `1.18.1` to `1.18.2`.
2025-10-29 20:32:15 +01:00
Raphaël Bosi and GitHub
198bf5a333
Complete color refactoring ( #15414 )
...
# Complete color refactoring
Closes https://github.com/twentyhq/core-team-issues/issues/1779
- Updated all colors to use Radix colors with P3 color space allowing
for brighter colors
- Created our own gray scale interpolated on Radix's scale to have the
same values for grays as the old ones in the app
- Introduced dark and light colors as well as there transparent versions
- Added many new colors from radix that can be used in the tags or in
the graphs
- Updated multiple color utilities to match new behaviors
- Changed the computation of Avatar colors to return only colors from
the theme (before it was random hsl)
These changes allow the user to use new colors in tags or charts, the
colors are brighter and with better contrast. We have a full range of
color variations from 1 to 12 where before we only had 4 adaptative
colors.
All these changes will allow us to develop custom themes for the user
soon, where users can choose their accent colors, background colors and
there contrast.
2025-10-29 18:08:51 +00:00
Paul Rastoin and GitHub
f6f52d676f
Explicitly set workspaceId column as uuid type to ease pg LEFT JOIN ( #15430 )
...
Pg scan was redundant because historically the workspaceId was
`varchar`, even though below migration won't change that we had a look
to workspaceId col declaration across the codebase
2025-10-29 19:08:44 +01:00
Weiko and GitHub
33545a072c
Fix creating kanban view when no select field ( #15441 )
...
Adding an early return when no select field exists and you are
redirected to the setting page otherwise it tries to call
setAndPersistViewType with kanban and fails with "No fields for kanban -
should not happen"
2025-10-29 19:04:18 +01:00
martmull and GitHub
a6cc80eedd
1751 extensibility twenty sdk v2 use twenty sdk to define a serverless function trigger ( #15347 )
...
This PR adds 2 columns handlerPath and handlerName in serverlessFunction
to locate the entrypoint of a serverless in a codebase
It adds the following decorators in twenty-sdk:
- ServerlessFunction
- DatabaseEventTrigger
- RouteTrigger
- CronTrigger
- ApplicationVariable
It still supports deprecated entity.manifest.jsonc
Overall code needs to be cleaned a little bit, but it should work
properly so you can try to test if the DEVX fits your needs
See updates in hello-world application
```typescript
import axios from 'axios';
import {
DatabaseEventTrigger,
ServerlessFunction,
RouteTrigger,
CronTrigger,
ApplicationVariable,
} from 'twenty-sdk';
@ApplicationVariable({
universalIdentifier: 'dedc53eb-9c12-4fe2-ba86-4a2add19d305',
key: 'TWENTY_API_KEY',
description: 'Twenty API Key',
isSecret: true,
})
@DatabaseEventTrigger({
universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
eventName: 'person.created',
})
@RouteTrigger({
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
path: '/post-card/create',
httpMethod: 'GET',
isAuthRequired: false,
})
@CronTrigger({
universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
pattern: '0 0 1 1 *', // Every year 1st of January
})
@ServerlessFunction({
universalIdentifier: 'e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf',
})
class CreateNewPostCard {
main = async (params: { recipient: string }): Promise<string> => {
const { recipient } = params;
const options = {
method: 'POST',
url: 'http://localhost:3000/rest/postCards ',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.TWENTY_API_KEY}`,
},
data: { name: recipient ?? 'Unknown' },
};
try {
const { data } = await axios.request(options);
console.log(`New post card to "${recipient}" created`);
return data;
} catch (error) {
console.error(error);
throw error;
}
};
}
export const createNewPostCardHandler = new CreateNewPostCard().main;
```
### [edit] V2
After the v1 proposal, I see that using a class method to define the
serverless function handler is pretty confusing. Lets leave
serverlessFunction configuration decorators on the class, but move the
handler like before. Here is the v2 hello-world serverless function:
```typescript
import axios from 'axios';
import {
DatabaseEventTrigger,
ServerlessFunction,
RouteTrigger,
CronTrigger,
ApplicationVariable,
} from 'twenty-sdk';
@ApplicationVariable({
universalIdentifier: 'dedc53eb-9c12-4fe2-ba86-4a2add19d305',
key: 'TWENTY_API_KEY',
description: 'Twenty API Key',
isSecret: true,
})
@DatabaseEventTrigger({
universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
eventName: 'person.created',
})
@RouteTrigger({
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
path: '/post-card/create',
httpMethod: 'GET',
isAuthRequired: false,
})
@CronTrigger({
universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
pattern: '0 0 1 1 *', // Every year 1st of January
})
@ServerlessFunction({
universalIdentifier: 'e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf',
})
export class ServerlessFunctionDefinition {}
export const main = async (params: { recipient: string }): Promise<string> => {
const { recipient } = params;
const options = {
method: 'POST',
url: 'http://localhost:3000/rest/postCards ',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.TWENTY_API_KEY}`,
},
data: { name: recipient ?? 'Unknown' },
};
try {
const { data } = await axios.request(options);
console.log(`New post card to "${recipient}" created`);
return data;
} catch (error) {
console.error(error);
throw error;
}
};
```
### [edit] V3
After the v2 proposal, we don't really like decorators on empty classes.
We decided to go with a Vercel approach with a config constant
```typescript
import axios from 'axios';
import { ServerlessFunctionConfig } from 'twenty-sdk';
export const main = async (params: { recipient: string }): Promise<string> => {
const { recipient } = params;
const options = {
method: 'POST',
url: 'http://localhost:3000/rest/postCards ',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.TWENTY_API_KEY}`,
},
data: { name: recipient ?? 'Unknown' },
};
try {
const { data } = await axios.request(options);
console.log(`New post card to "${recipient}" created`);
return data;
} catch (error) {
console.error(error);
throw error;
}
};
export const config: ServerlessFunctionConfig = {
universalIdentifier: 'e56d363b-0bdc-4d8a-a393-6f0d1c75bdcf',
routeTriggers: [
{
universalIdentifier: 'c9f84c8d-b26d-40d1-95dd-4f834ae5a2c6',
path: '/post-card/create',
httpMethod: 'GET',
isAuthRequired: false,
}
],
cronTriggers: [
{
universalIdentifier: 'dd802808-0695-49e1-98c9-d5c9e2704ce2',
pattern: '0 0 1 1 *', // Every year 1st of January
}
],
databaseEventTriggers: [
{
universalIdentifier: '203f1df3-4a82-4d06-a001-b8cf22a31156',
eventName: 'person.created',
}
]
}
```
2025-10-29 16:51:43 +00:00
Thomas Trompette and GitHub
75ed5cb3a2
Fix email editor-email discrepancies ( #15436 )
...
Fix https://github.com/twentyhq/twenty/issues/15346
- email not centered
- reduced title sizes
- made paragraph line height and margin consistent with editor
- display line jumps
Editor
<img width="1505" height="701" alt="Capture d’écran 2025-10-29 à 16 46
20"
src="https://github.com/user-attachments/assets/5f6c6377-62b2-4697-861e-39a648cd48bb "
/>
Email
<img width="1505" height="648" alt="Capture d’écran 2025-10-29 à 16 46
36"
src="https://github.com/user-attachments/assets/a596acd8-567f-4726-996c-248519b250c5 "
/>
2025-10-29 16:10:21 +00:00
Harshit Singh and GitHub
be3ceca0a3
Add listkit to tiptap extension in workflow node ( #15363 )
...
## Description
- This PR address issue -
https://github.com/twentyhq/core-team-issues/issues/1768
- Added listkit bundle from tiptap which includes BulletList,
orderedList, ListItem and ListKeymap in one single import
- This bundle also includes keyboards shortcuts - `Cmd + Shift + 7` and
`Cmd + Shift + 8` for ordered and bullet list
## Visual Appearance
https://github.com/user-attachments/assets/7eff1233-8503-4854-bad2-2521898bc568
## Why this Approach
- our current version of tiptap is 3.4.2 while the latest is 3.8.0 hence
installing these versions manually would install the latest version of
3.8.0. The issue when downgrading to 3.4.2 was that Version 3.8.0 of
`@tiptap/extension-list` requires `renderNestedMarkdownContent` from
@tiptap/core
but our `@tiptap/core` version 3.4.2 doesn't export this function.
2025-10-29 16:01:54 +01:00
Paul Rastoin and GitHub
0070fc10f8
Debug sentry redis integration ( #15431 )
2025-10-29 15:34:47 +01:00
8f009e66f1
i18n - translations ( #15432 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-29 15:20:58 +01:00
Paul Rastoin and GitHub
c19a799973
Fix view rest api in v2 ( #15398 )
...
# Introduction
Initially wanted to reactive the test introduced in
https://github.com/twentyhq/twenty/pull/15393 , that was failing because
of direct data source access removing all views ( even seeded one )
which was making the test fail
While doing so discovered a lot of issue with the rest API:
- Rest api wasn't consuming the v2 at all
- Rest api wasn't prepared to handle v2 exceptions
- Rest api did not handled unknown exceptions ( timeout )
Refactored the cleanup of each test to follow black box pattern and
avoid test leakage
2025-10-29 15:07:08 +01:00
nitin and GitHub
28c6edfa1f
add validation on widgets grid position and sizing ( #15397 )
...
closes https://github.com/twentyhq/core-team-issues/issues/1606
As discussed in DMS -- overlapping is not a concern since the library
handles the collision and handles overlapping widgets (if created
through api) using the compact type vertical (ie, move the widget
vertically to create space)
2025-10-29 14:05:26 +00:00
Marie and GitHub
473efb5dc5
[groupBy] Order by within records ( #15404 )
...
Closes https://github.com/twentyhq/core-team-issues/issues/1727
<img width="1415" height="625" alt="image"
src="https://github.com/user-attachments/assets/cd132582-4a95-463c-8946-87b77670e023 "
/>
2025-10-29 14:49:10 +01:00
ab10aa356d
i18n - translations ( #15429 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-29 12:31:42 +01:00
Charles Bochet and GitHub
7b70a1bff6
Fix infinite loop on FE ( #15415 )
...
Fixes https://github.com/twentyhq/twenty/issues/15369
It's the first time we are hitting this weird behavior on apollo
onCompleted / onError. Theoretically if the reference of the onCompleted
(resp onError) callback is changing, this will trigger a re-run of
onCompleted. But also theretically the reference here is a
recoilCallback so should never change.
As this is synchronous I have move this logic to a sync way
2025-10-29 12:25:23 +01:00
Paul Rastoin and GitHub
a9fa0c33ff
Fix workspace views prefill ( #15428 )
2025-10-29 12:24:06 +01:00
Paul Rastoin and GitHub
ab24cae2eb
Front references to views as records ( #15425 )
2025-10-29 12:23:49 +01:00
eaa82af22f
i18n - translations ( #15423 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-29 11:21:25 +01:00