fb936cccfb
i18n - translations ( #10168 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 17:11:13 +01:00
c30f416912
Add log ( #10162 )
...
add log to fix issue in staging
2025-02-12 15:01:34 +00:00
f98668febf
i18n - translations ( #10160 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 15:20:02 +01:00
f3586d4989
HandleAlias ( #10156 )
...
If a user has microsoft aliases, they will be taken into account, in a
similar way as we did for google
2025-02-12 14:22:13 +01:00
2b24bf43a4
i18n - translations ( #10157 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 13:22:35 +01:00
23d2e54439
RICH_TEXT_V2 upgrade command ( #10094 )
...
Adds two migration commands:
- copy note and task `body` data to `bodyV2`
- hide `body` view field and swap position with `bodyV2` view field
Related to issue https://github.com/twentyhq/twenty/issues/7613
---------
Co-authored-by: ad-elias <elias@autodiligence.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2025-02-12 12:26:29 +01:00
33af71ccd3
Create base search record action ( #10135 )
...
Create Search Record action without filters neither sorting
<img width="234" alt="Capture d’écran 2025-02-11 à 18 19 25"
src="https://github.com/user-attachments/assets/f18caaa3-476a-436f-9f93-1ad506b24da2 "
/>
<img width="262" alt="Capture d’écran 2025-02-11 à 18 19 38"
src="https://github.com/user-attachments/assets/25fcbfcf-57fb-476f-aba9-119be7c3e067 "
/>
<img width="236" alt="Capture d’écran 2025-02-11 à 18 19 53"
src="https://github.com/user-attachments/assets/1eb2be25-0727-4797-868c-afdc05040e6a "
/>
2025-02-12 10:29:32 +00:00
9cc6ea501a
i18n - translations ( #10149 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 11:20:24 +01:00
e4ae76ac20
[permissions] Add permission gates on API & Webhooks + Security settings ( #10133 )
...
Closes https://github.com/twentyhq/core-team-issues/issues/312
Closes https://github.com/twentyhq/core-team-issues/issues/315
2025-02-12 09:40:26 +00:00
08fd227049
i18n - translations ( #10145 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 09:21:13 +01:00
2c0f66dab6
Progress on translations ( #10142 )
2025-02-12 08:13:29 +01:00
b55a366e2f
i18n - translations ( #10144 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 03:43:55 +01:00
1d4bf2c576
i18n - translations ( #10143 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-12 01:32:33 +01:00
6faf356be2
i18n - translations ( #10141 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-11 23:19:57 +01:00
d5b247fa6b
i18n - translations ( #10140 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-11 21:20:29 +01:00
88ab7cb553
i18n - translations ( #10137 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-11 19:21:13 +01:00
252922b522
Admin panel refactor ( #10119 )
...
addressing >
There are two patterns to avoid:
Creating functions that return JSX like renderThing() -> this was taken
already addressed in https://github.com/twentyhq/twenty/pull/10011
Making a hook that "stores" all the logic of a component - > this PR is
addressing this particular pattern
In essence, handlers should remain in the component and be connected to
their events.
And everything in a handler can be abstracted into its dedicated hook.
For example:
const { myReactiveState } =
useRecoilValue(myReactiveStateComponentState);
const { removeThingFromOtherThing } = useRemoveThingFromOtherThing();
const handleClick = () => {
if (isDefined(myReactiveState)) {
removeThingFromOtherThing();
}
}
Broadly speaking, this is how you can split large components into
several sub-hooks.
---------
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2025-02-11 17:10:28 +00:00
83bf2d1739
Webhook follow up ( #10124 )
...
- fix webhook creation
- fix pointer
2025-02-11 16:30:11 +00:00
5252b22b64
i18n - translations ( #10131 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
Co-authored-by: github-actions <github-actions@twenty.com >
2025-02-11 17:21:21 +01:00
a4806b72c7
folders ( #10081 )
...
# Folders
Adding the possibility to synchronize messages form more than one
microsoft folder (think "inbox" or "sent items")
It will keep the current way for gmail.
- step 1 : implement a first version of full message & partial message ✅
- step 2 : implement retro-compatibility which includes the command to
run the migration to backfill microsoft synccursor from messageChannelt
o messageFolders
2025-02-11 16:19:53 +00:00
ed4a5b0c15
fix: many fields in an object ( #10061 )
...
Co-authored-by: Charles Bochet <charles@twenty.com >
2025-02-11 17:15:30 +01:00
0307815e84
i18n - translations ( #10126 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
Co-authored-by: github-actions <github-actions@twenty.com >
2025-02-11 15:50:25 +01:00
cc68deaab1
Translations cleaning / workflows ( #10125 )
2025-02-11 15:26:21 +01:00
6da9976193
Fix readonly in some steps ( #10121 )
...
- readonly in titles
- readonly in code step
- update a few icons
- update event label
2025-02-11 14:22:18 +00:00
02ced028e5
add role assignment page ( #10115 )
...
## Context
This PR introduces the "assignment" tab in the Role edit page, currently
allowing admin users to assign workspace members to specific roles.
Note: For now, a user can only have one role and a modal will warn you
if you try to re-assign a user to a new role.
## Test
<img width="648" alt="Screenshot 2025-02-10 at 17 59 21"
src="https://github.com/user-attachments/assets/dabd7a17-6aca-4d2b-95d8-46182f53e1e8 "
/>
<img width="668" alt="Screenshot 2025-02-10 at 17 59 33"
src="https://github.com/user-attachments/assets/802aab7a-db67-4f83-9a44-35773df100f7 "
/>
<img width="629" alt="Screenshot 2025-02-10 at 17 59 42"
src="https://github.com/user-attachments/assets/277db061-3f05-4ccd-8a83-7a96d6c1673e "
/>
2025-02-11 14:51:31 +01:00
4f06b83d7f
RICH_TEXT_V2 frontend ( #10083 )
...
Adds task and note support for the new `bodyV2` field. (Field metadata
type of `bodyV2` is `RICH_TEXT_V2`.)
Related to issue https://github.com/twentyhq/twenty/issues/7613
Upgrade commands will be in separate PRs.
Fixes https://github.com/twentyhq/twenty/issues/10084
---------
Co-authored-by: ad-elias <elias@autodiligence.com >
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com >
2025-02-11 10:21:03 +00:00
de91a5e39e
chore(twenty-server): remove eslint warn + add maxWarning 0 ( #10103 )
2025-02-11 10:38:43 +01:00
3eaafbde55
fix log + add 3 indexes on fielMetadata and indexFieldMetadata ( #10113 )
2025-02-11 00:34:33 +01:00
d52c7ffd73
we don't create companies for personal domain emails anylonger ( #10110 )
...
and we reomve an usued function
2025-02-10 16:34:35 +00:00
0083f0b939
chore: add translations ( #10112 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2025-02-10 17:16:03 +01:00
5948bc2685
Fix: Get rid of subgroups in admin/env-variables ( #10105 )
...
closes https://github.com/twentyhq/core-team-issues/issues/379
---------
Co-authored-by: Félix Malfait <felix@twenty.com >
2025-02-10 16:54:37 +01:00
f733307517
refacto(*): rename hostname to custom domain ( #10100 )
2025-02-10 15:12:36 +00:00
62e44de831
Fix issue with pr-PT and pt-BR casing ( #10106 )
...
Fix a casing issue affecting MacOS users
2025-02-10 15:25:36 +01:00
d4ffd52988
add invalid captcha and messageChannel sync status health monitoring ( #10029 )
...
Context :
We want to implement some counters to monitor server health. First
counters will track : messageChannel sync status during job execution
and invalid captcha.
How :
Counters are stored in cache and grouped by one-minute windows.
Controllers are created for each metric, aggregating counter over a
five-minutes window.
Endpoints are public and will be queried by Prometheus.
closes https://github.com/twentyhq/core-team-issues/issues/55
2025-02-10 11:24:42 +00:00
e70e69cf94
Store output step by step ( #10101 )
...
- add context field
- store it with the output after each step execution
2025-02-10 11:27:15 +01:00
d4b23e020a
chore: add translations ( #10098 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
Co-authored-by: Félix Malfait <felix@twenty.com >
2025-02-10 10:29:13 +01:00
1b98f40f17
feat(custom-domain): enable UI for custom domain ( #10062 )
2025-02-10 08:43:13 +00:00
f8c653f153
Iterations on i18n CI ( #10093 )
2025-02-10 08:27:09 +01:00
f9d7f62ec2
I18n CI and small type improvement ( #10092 )
2025-02-09 22:17:54 +01:00
bb24c97f80
Translations - Crowdin, Set workspace member locale on signup, and optimizations ( #10091 )
...
More progress on translations:
- Migrate from translations.io to crowdin
- Optimize performance and robustness
- Set workspaceMember/user locale upon signup
2025-02-09 22:10:41 +01:00
c16cbc6fd5
Updates in the workflow actions config ( #10080 )
...
- Update discard draft icon
- Pin `Remove from favorites` action
- Update workflow action labels to add clarity
Note: this is a small PR, the number of modified lines is due to the
translations
2025-02-07 16:26:25 +00:00
ead626c2ec
360 workflow implement workflow cron triggers frontend 2 ( #10051 )
...
as title, closes https://github.com/twentyhq/core-team-issues/issues/360
## Cron Setting behavior
https://github.com/user-attachments/assets/0de3a8b9-d899-4455-a945-20c7541c3053
## Cron running behavior
https://github.com/user-attachments/assets/4c33f167-857c-4fcb-9dbe-0f9b661c9e61
2025-02-07 17:15:03 +01:00
a24e411384
[permissions] Add SettingsPermissionGuard on data model and roles features ( #10063 )
...
Adding SettingsPermissionsGuard to execute permission check.
The guard is added directly in resolver, either at resolver level (ex:
roles) or resolver-endpoint level (ex: metadata). this can be challenged
!
2025-02-07 16:48:04 +01:00
859e7c94f9
[permissions] Add settingsPermissions to getCurrentUser ( #10054 )
...
For a member with admin role:
<img width="392" alt="Capture d’écran 2025-02-06 à 15 04 07"
src="https://github.com/user-attachments/assets/f47e8611-9577-4d0b-889c-0846acfb0d75 "
/>
For a member without admin role:
<img width="394" alt="Capture d’écran 2025-02-06 à 15 04 51"
src="https://github.com/user-attachments/assets/5daacd7a-aa4f-4e06-a886-661bf0830418 "
/>
For a member of a workspace that does not have the feature flag enabled:
<img width="390" alt="Capture d’écran 2025-02-06 à 15 05 22"
src="https://github.com/user-attachments/assets/05071bd6-fd2d-4823-b121-8fd11313b833 "
/>
2025-02-07 15:33:17 +01:00
aee43b10ad
[BUG] Avoid backfilling record position on update one ( #10069 )
...
# Introduction
Disabled backfilling position process on single record update
It might be a too global solution ? feels a bit too easy tbh
Please let me know, could not think of other side-effects
close [#9925 ](https://github.com/twentyhq/twenty/issues/9925 )
2025-02-07 14:19:58 +00:00
22c9acf993
Remove session store secret ( #10074 )
...
Fixes #10033
2025-02-07 14:58:50 +01:00
68183b7c85
feat(): enable custom domain usage ( #9911 )
...
# Content
- Introduce the `workspaceUrls` property. It contains two
sub-properties: `customUrl, subdomainUrl`. These endpoints are used to
access the workspace. Even if the `workspaceUrls` is invalid for
multiple reasons, the `subdomainUrl` remains valid.
- Introduce `ResolveField` workspaceEndpoints to avoid unnecessary URL
computation on the frontend part.
- Add a `forceSubdomainUrl` to avoid custom URL using a query parameter
2025-02-07 14:34:26 +01:00
8df59c085d
Lingui working with NODE ENV=production again ( #10067 )
...
Lingui now offers an option to disable stripping even in prod mode so we
can bring it back
2025-02-07 10:05:07 +01:00
12cec01d80
Update billing to EE ( #10060 )
...
Doesn't make sense to have billing under GPL since it's only used for
our cloud and not by self-hosters
2025-02-06 21:10:30 +01:00
1b150e1da6
Environment variables in admin panel (read only) - front ( #10011 )
...
Frontend for https://github.com/twentyhq/core-team-issues/issues/293
POC - https://github.com/twentyhq/twenty/pull/9903
---------
Co-authored-by: Félix Malfait <felix@twenty.com >
Co-authored-by: Félix Malfait <felix.malfait@gmail.com >
2025-02-06 17:08:44 +01:00