Weiko
09c704c8bd
Add useGroupBy hook + update calendar view to use groupBy ( #15439 )
...
## Context
Took inspiration from findMany + kanban => Implemented a hook for the
new groupBy API endpoints
Fixed an issue when DnD to an empty day
2025-10-31 18:39:22 +01:00
Raphaël Bosi
bb471cb8a5
Bar chart: Prevent left tick labels to overlap on label ( #15499 )
...
Prevent left tick labels to overlap on label by truncating the tick
label
2025-10-31 22:50:22 +05:30
github-actions[bot]
cd4a151a21
i18n - translations ( #15504 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-31 17:47:12 +01:00
Thomas Trompette
71e7063fc4
Move http node to backend ( #15424 )
...
Fixes https://github.com/twentyhq/twenty/issues/14491
Also adding an url validator.
2025-10-31 17:46:58 +01:00
Abdul Rahman
9f97be67b1
Migrate documentation to Mintlify and configure 301 redirects ( #15502 )
...
## Summary
Completes the migration of all documentation from twenty-website to a
new Mintlify-powered documentation site at docs.twenty.com.
## Changes Made
### New Package: `twenty-docs`
- ✅ Created new Mintlify documentation package
- ✅ Migrated 95 content pages (user-guide, developers, twenty-ui)
- ✅ Migrated 81 images
- ✅ Converted all custom components to Mintlify native components
- ✅ Configured navigation with 2 tabs and 94 pages
- ✅ Added Helper AI Agent with searchArticles tool for docs search
### Updated: `twenty-website`
- ✅ Added 11 redirect rules (301 permanent) in next.config.js
- ✅ Removed all documentation content (111 files)
- ✅ Removed documentation routes (user-guide, developers, twenty-ui)
- ✅ Removed documentation components (9 files)
- ✅ Updated keystatic.config.ts
- ✅ Preserved all marketing/release pages
### Updated: Core Files
- ✅ Updated README.md - docs links point to docs.twenty.com
- ✅ Updated CONTRIBUTING.md - code quality link updated
- ✅ Updated SupportDropdown.tsx - user guide link updated
- ✅ Updated Footer.tsx - user guide link updated
2025-10-31 17:44:14 +01:00
Thomas Trompette
5f13e6fcf4
Put delete button on step footer + add unique fields on upsert action ( #15497 )
...
<img width="491" height="823" alt="Capture d’écran 2025-10-31 à 14 54
38"
src="https://github.com/user-attachments/assets/8058a6a3-8a6c-4cdd-93d9-2af71208dc5a "
/>
2025-10-31 16:39:45 +00:00
Raphaël Bosi
2d1a89c4c2
Update minimum chart sizes ( #15500 )
...
Update minimum chart sizes
2025-10-31 21:29:04 +05:30
nitin
809791a4a8
fix: Orderby secondary dimension sum ( #15493 )
...
before:
https://github.com/user-attachments/assets/6919c45b-1435-408f-87e3-0452dd70fbdb
after:
https://github.com/user-attachments/assets/efa60d28-ac04-4219-831a-92aada13fa9c
2025-10-31 13:54:13 +01:00
github-actions[bot]
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
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
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
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
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
2c39fc04c2
feat: Migrate documentation to Mintlify and implement Helper Agent with search functionality ( #15443 )
2025-10-31 10:17:54 +01:00
nitin
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
Raphaël Bosi
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
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
Ranjeet Baraik
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
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
github-actions[bot]
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
nitin
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
2510cbf614
Add lock on dashboard restricted charts ( #15476 )
...
closes
https://discord.com/channels/1130383047699738754/1433452994132840478
2025-10-30 14:59:34 +00:00
nitin
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
abcc891aed
overflown tabs should be selected upon clicking edit right button ( #15469 )
...
as per title
2025-10-30 19:23:00 +05:30
nitin
28333815d5
update chart tooltip designs ( #15426 )
...
closes
https://discord.com/channels/1130383047699738754/1430845815634657320
~~TODO: add truncation~~
2025-10-30 19:07:59 +05:30
github-actions[bot]
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
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
Charles Bochet
eba3b0ca88
Simplify Code on FetchMore ( #15465 )
...
Simplifying a bit more fetchMore / lazyQuery api
2025-10-30 13:36:30 +01:00
Thomas Trompette
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
Raphaël Bosi
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
Ranjeet Baraik
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
Raphaël Bosi
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
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
Raphaël Bosi
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
Weiko
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
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
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
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
github-actions[bot]
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
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
ab24cae2eb
Front references to views as records ( #15425 )
2025-10-29 12:23:49 +01:00
Etienne
0849483d2e
Common - Remove feature flag ( #15371 )
...
To be done in an other PR, move graphql-query-runner handlers in
common-api-query-runner folder (+ renaming + typing improvments)
Fixes :
- totalCount on findMany (Rest)
- getAllSelectedFields did not handle composite field (Rest)
- issue with endCursor (Rest)
- args processing for updateOne and createOne (Rest + Gql)
- fix findDuplicates (Gql)
2025-10-29 10:01:52 +00:00
沙什瓦特
8d823827da
fix: made standard object labels editable ( #15388 )
...
Fixes #15302
## Video ( Fixed ) :
[Uploading
IssueFixed.mov…](https://drive.google.com/file/d/1XNk3i3ae9Wafelqgbj5GujaPAJRQRcQh/view?usp=sharing )
---------
Co-authored-by: prastoin <paul@twenty.com >
Co-authored-by: Charles Bochet <charles@twenty.com >
2025-10-28 19:03:20 +01:00
github-actions[bot]
0d896fdca8
i18n - translations ( #15409 )
...
Created by Github action
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-28 16:21:16 +01:00
nitin
0fdf76560d
Widget cards ( #15387 )
...
figma -
https://www.figma.com/design/xt8O9mFeLl46C5InWwoMrN/Twenty?node-id=79795-372071&t=0Rg3h23G8F7v80cs-0
for the pinned tab column or the left column -- there is only one state
change! -- which, after talks with @Bonapara -- we should try to keep
the same if possible! -- right now, there is no way to test it -- so I
did not add the same
closes -
https://discord.com/channels/1130383047699738754/1430825706643918942 and
https://discord.com/channels/1130383047699738754/1430599763807436870
story QA -
<img width="1535" height="1239" alt="Screenshot 2025-10-28 at 00 46 23"
src="https://github.com/user-attachments/assets/9293983e-2d08-427b-971f-731e6f1517aa "
/>
2025-10-28 20:25:52 +05:30
Thomas Trompette
da0e5ba342
Support primitive types in filters ( #15402 )
...
When using primitive types such as array, number and boolean, we display
a text field in filters because fieldmetadataId is empty. We should
instead support these as we would do for our own fields.
Adding also a fix for https://github.com/twentyhq/twenty/issues/15282
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-10-28 14:13:10 +00:00
Balaji Krishnamurthy
98b4e8431b
Reset limit to 1 when object is changed ( #15354 )
...
Closes #15345
The issue was that when the `onChange` was called on the Select
component in `WorkflowEditActionFindRecords.tsx`, the limit was being
reset to 1, but it wasn't rendering immediately. The sidebar had to be
closed and reopened.
I have added a `useEffect` as a hack to re-render the
`FormNumberFieldInput` when it's `defaultValue` is changed. I understand
that using `useEffect` is not a good choice. Please suggest a better fix
if any and I will implement it.
---------
Co-authored-by: Charles Bochet <charles@twenty.com >
2025-10-28 15:06:15 +01:00
Baptiste Devessier
2f3912aa98
Always use page layout renderer for dashboards ( #15403 )
...
🙈
2025-10-28 14:26:17 +01:00
Baptiste Devessier
b9bdb12b3c
Hide page layout tab bar when there are less than two tabs to display ( #15385 )
...
- DIsplay the tab bar only if more than 1 tabs can be displayed
- Remove the selfDisplayMode feature: the first tab is now considered to
be the pinned tab on record pages
https://github.com/user-attachments/assets/3f61931d-fde4-4065-b646-5b3a7bdebcc0
2025-10-28 17:20:32 +05:30
github-actions[bot]
3eb3d8fe2f
i18n - translations ( #15396 )
...
Created by Github action
---------
Co-authored-by: github-actions <github-actions@twenty.com >
2025-10-28 11:01:09 +01:00