-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Right drawer to edit records #5551
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Summary: Right Drawer to Edit Records
- New Right Drawer for Editing Records: Introduces a new side panel for editing records, replacing activity-specific states with record-specific states.
- State Management Refactor: Replaces
viewableActivityIdState
withviewableRecordIdState
across multiple components and hooks to align with the new right drawer functionality. - Component and State Additions: Adds new components and states, such as
RightDrawerRecord
andviewableRecordIdState
, to support the new editing functionality. - UI Simplifications: Removes components like
ActivityTypeDropdown
andTag
to streamline the UI.
Notes:
- Potential Impact: The removal of
viewableActivityIdState
and related components may affect existing functionality that relied on these states. - Code Reuse Opportunity: The new
viewableRecordIdState
can be leveraged across other modules for consistent state management.
Comments
packages/twenty-front/src/modules/activities/emails/components/EmailThreadHeader.tsx
- Line 2: Remove the unused import statement for
IconMail
andTag
.
packages/twenty-front/src/modules/activities/emails/hooks/tests/useEmailThread.test.tsx
- Line 25: The expectation should be updated to reflect the new state being tested. Consider changing
viewableRecordId
toviewableEmailThreadId
for clarity.
packages/twenty-front/src/modules/activities/emails/hooks/useEmailThread.ts
- Line 10: Typo in variable name:
openEmailThredRightDrawer
should beopenEmailThreadRightDrawer
.
packages/twenty-front/src/modules/activities/hooks/tests/useOpenActivityRightDrawer.test.tsx
- Lines 9 - 10: Duplicate import of
viewableRecordIdState
. Remove one of these imports.
packages/twenty-front/src/modules/activities/states/viewableActivityIdState.ts
- Line 1: The deletion of
viewableActivityIdState
will affect components and hooks that depend on this state. Ensure that all references to this state are updated or removed accordingly.
packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts
- Line 95: Remove the commented-out
navigate(pathToShowPage);
line if it's no longer needed.
packages/twenty-front/src/modules/ui/layout/page/PageBody.tsx
- Line 33: The
isRightDrawerOpen
prop is defined but not used inStyledLeftContainer
. Consider removing it if it's not needed.
packages/twenty-front/src/modules/ui/layout/page/RightDrawerContainer.tsx
- Line 1: The deletion of
RightDrawerContainer.tsx
will impact all components that used this container. Ensure that all references toRightDrawerContainer
are updated or removed to prevent broken imports and runtime errors.
Overall the direction LGTM, I'll have a closer look tomorrow |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Summary
- Introduced a new side panel for editing records, replacing specific state management with a generic
viewableRecordIdState
. - Removed
viewableCalendarEventIdState
,viewableEmailThreadIdState
, andviewableActivityIdState
files. - Updated components and hooks to use
viewableRecordIdState
for consistent state management. - Added
RightDrawerRecord
component and new Recoil states for the right drawer functionality. - Modified
RecordShowContainer
to support rendering within the right drawer context.
const setViewableCalendarEventId = useSetRecoilState( | ||
viewableCalendarEventIdState, | ||
); | ||
const setViewableCalendarEventId = useSetRecoilState(viewableRecordIdState); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider renaming setViewableCalendarEventId
to setViewableRecordId
for consistency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
import styled from '@emotion/styled'; | ||
import { IconMail, Tag } from 'twenty-ui'; | ||
|
||
import { beautifyPastDateRelativeToNow } from '~/utils/date-utils'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider removing unused imports to keep the code clean.
viewableRecordNameSingular ?? '', | ||
viewableRecordId ?? '', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nullish coalescing operator ??
is redundant here since viewableRecordNameSingular
and viewableRecordId
are already checked for null/undefined.
const pageTitle = pageName.trim() | ||
? `${pageName} - ${capitalize(objectNameSingular)}` | ||
: capitalize(objectNameSingular); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider extracting the page title logic into a separate utility function for better readability and testability.
Bug when we switch page, an animation plays but it shouldn't do anything when the drawer is folded. Enregistrement.de.l.ecran.2024-06-03.a.11.19.50.mov |
const setViewableCalendarEventId = useSetRecoilState( | ||
viewableCalendarEventIdState, | ||
); | ||
const setViewableCalendarEventId = useSetRecoilState(viewableRecordIdState); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes
packages/twenty-front/src/modules/activities/comment/__stories__/Comment.stories.tsx
Outdated
Show resolved
Hide resolved
packages/twenty-front/src/modules/activities/comment/__stories__/CommentHeader.stories.tsx
Outdated
Show resolved
Hide resolved
@@ -17,19 +17,19 @@ export const useEmailThread = () => { | |||
.getValue(); | |||
|
|||
const viewableEmailThreadId = snapshot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
viewableRecordId
packages/twenty-front/src/modules/activities/hooks/useOpenCreateActivityDrawer.ts
Outdated
Show resolved
Hide resolved
packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx
Outdated
Show resolved
Hide resolved
...c/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx
Outdated
Show resolved
Hide resolved
...y-front/src/modules/object-record/relation-picker/hooks/useAddNewRecordAndOpenRightDrawer.ts
Outdated
Show resolved
Hide resolved
|
||
const handleButtonClick = () => { | ||
setIsRightDrawerExpanded(!isRightDrawerExpanded); | ||
isRightDrawerExpanded ? downsizeRightDrawer() : expandRightDrawer(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If / else
...enty-front/src/modules/ui/layout/right-drawer/components/RightDrawerTopBarMinimizeButton.tsx
Show resolved
Hide resolved
cc @pombredanne fyi, sorry it took so long! We finally enabled the ability to create records from a side panel, without leaving the main page. Looking forward to your feedback Fixes #4901 Will be deployed in the next release in 2 weeks |
This PR introduces a new side panel to edit records and the ability to minimize the side panel. The goal is leverage this sidepanel to be able to create records while being in another show page. I'm opening the PR for feedback since it involved refactoring and therefore already touches a lot of files, even though it was quick to implement. <img width="1503" alt="Screenshot 2024-05-23 at 17 41 37" src="https://github.com/twentyhq/twenty/assets/6399865/6f17e7a8-f4e9-4eb4-b392-c756db7198ac">
commit 96da777107cd366fd0d43054c301fa606f214746 Author: Thomas Trompette <[email protected]> Date: Wed Jun 19 11:54:11 2024 +0200 Handle no concurrency option (#5952) Fix error in local `teamConcurrency must be an integer between 1 and 1000` commit d045bcbb94a5027f8e4cafc129056653670a4b16 Author: Thomas Trompette <[email protected]> Date: Wed Jun 19 10:39:09 2024 +0200 Add http status to graphql errors (#5896) Graphql errors are not properly filtered by our handler. We still receive errors like `NOT_FOUND` in sentry while they should be filtered. Example [here](https://twenty-v7.sentry.io/issues/5490383016/?environment=prod&project=4507072499810304&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D&referrer=issue-stream&statsPeriod=7d&stream_index=6). We associate statuses with errors in our map `graphQLPredefinedExceptions` but we cannot retrieve the status from the error. This PR lists the codes that should be filtered. To test: - call `findDuplicates` with an invalid id - before, server would breaks - now the error is simply returned commit 6fd8dab55243cda291fa45f896caaa9d5e5160b8 Author: martmull <[email protected]> Date: Tue Jun 18 18:55:13 2024 +0200 5582 get httpsapitwentycomrestmetadata objects filters dont work (#5906) - Remove filters from metadata rest api - add limite before and after parameters for metadata - remove update from metadata relations - fix typing issue - fix naming - fix before parameter --------- Co-authored-by: Félix Malfait <[email protected]> commit dbaa787d191f08cd0ff27989e506ee6d636cb9af Author: Félix Malfait <[email protected]> Date: Tue Jun 18 18:40:19 2024 +0200 website / Fix broken links, slow loading, and prod errors (#5932) The code is in a bad state, this is just fixing it but not improving the structure commit 6b1548ebbe0ca51d756704da6c6005c2448046db Author: Thomas Trompette <[email protected]> Date: Tue Jun 18 18:38:14 2024 +0200 Add loader and transition for details page tabs (#5935) Closes https://github.com/twentyhq/twenty/issues/5656 https://github.com/twentyhq/twenty/assets/22936103/3e4beea2-9aa9-4015-bb99-ee22adb53b63 commit cff85615975fcafec26af3e424d6435b9f5d4128 Author: martmull <[email protected]> Date: Tue Jun 18 17:34:16 2024 +0200 Upgrade pg graphql version to 1.5.6 (#5937) - update `pg_graphql` version doc - update `pg_graphql` version to 1.5.6 commit 38537a39671abd23e12a4fce3ce1759e8f9f9f20 Author: Hanch Han <[email protected]> Date: Tue Jun 18 18:14:31 2024 +0900 Add South Korean won to currency codes (#5914) Greetings from Seoul! I found this amazing project a few days ago, and trying to introduce it to my team. However there is a tiny but significant problem, that South Korean won is not available in twenty. So I added `KRW` to the enum `CurrencyCode` and the constant `SETTINGS_FIELD_CURRENCY_CODES`. I tested it locally and apparently works fine. commit 14abd99bb774171ec1bba56d4c584482858b4f9d Author: Aditya Pimpalkar <[email protected]> Date: Tue Jun 18 09:49:33 2024 +0100 add multiple filters of same FieldMetadataType (#5892) fixes: #5378 commit de2b0527a3fc64f9c651a0cd11c718687c3b2c07 Author: Thomas Trompette <[email protected]> Date: Mon Jun 17 18:09:46 2024 +0200 Fix secondaryLinks field input (#5911) PR https://github.com/twentyhq/twenty/pull/5785/files broke links update. Also, dropdown "Add link" will be displayed only if a link is already added. Otherwise, it should be a normal input. commit e1bd3a4c5a38f93bebc9f934f0d7180091c35df4 Author: Lucas Bordeau <[email protected]> Date: Mon Jun 17 17:27:19 2024 +0200 Added and optimized missing RatingFieldDisplay component (#5904) The display for Rating field type was missing, I just added it based on RatingInput in readonly mode and optimized a bit for performance also. Fixes https://github.com/twentyhq/twenty/issues/5900 commit dba0b28eae9063437ebff7ad695e78635378cd1d Author: Thomas Trompette <[email protected]> Date: Mon Jun 17 11:54:04 2024 +0200 Fix verticale line timeline activity (#5894) Before <img width="400" alt="Capture d’écran 2024-06-17 à 10 23 17" src="https://github.com/twentyhq/twenty/assets/22936103/01408d7b-9a6c-4a21-9f08-c8cf304e2ea0"> After <img width="400" alt="Capture d’écran 2024-06-17 à 10 05 39" src="https://github.com/twentyhq/twenty/assets/22936103/df384726-bbf9-4828-ad47-d1c91724947d"> commit 1ba7037fdc06941009167b33ffeafe5dac51b808 Author: martmull <[email protected]> Date: Mon Jun 17 10:59:29 2024 +0200 5581 get httpsapitwentycomrestmetadata relations not working (#5867) Filtering relations is not allowed (see`packages/twenty-server/src/engine/metadata-modules/relation-metadata/dtos/relation-metadata.dto.ts`) so we remove filtering for find many relation we also fixed some bug in result structure and metadata open-api schema commit d8034b1f40aebc6eafab9cec6132aa6cb97d1d02 Author: martmull <[email protected]> Date: Mon Jun 17 10:17:31 2024 +0200 5236 expandable list leave options when editing (#5890) Fixes https://github.com/twentyhq/twenty/issues/5236 ![image](https://github.com/twentyhq/twenty/assets/29927851/5f0f910c-11b0-40ce-9c59-34e7ce0c2741) commit d99b9d1d6b11f7961fb4131ba66aa94447779530 Author: Jérémy M <[email protected]> Date: Mon Jun 17 09:49:37 2024 +0200 feat: Enhancements to MessageQueue Module with Decorators (#5657) This PR introduces significant enhancements to the MessageQueue module by integrating `@Processor`, `@Process`, and `@InjectMessageQueue` decorators. These changes streamline the process of defining and managing queue processors and job handlers, and also allow for request-scoped handlers, improving compatibility with services that rely on scoped providers like TwentyORM repositories. 1. **Decorator-based Job Handling**: Use `@Processor` and `@Process` decorators to define job handlers declaratively. 2. **Request Scope Support**: Job handlers can be scoped per request, enhancing integration with request-scoped services. The `@Processor` decorator is used to define a class that processes jobs for a specific queue. The `@Process` decorator is applied to methods within this class to define specific job handlers. ```typescript import { Processor, Process, InjectMessageQueue } from 'src/engine/integrations/message-queue'; @Processor('taskQueue') export class TaskProcessor { @Process('taskA') async handleTaskA(job: { id: string, data: any }) { console.log(`Handling task A with data:`, job.data); // Logic for task A } @Process('taskB') async handleTaskB(job: { id: string, data: any }) { console.log(`Handling task B with data:`, job.data); // Logic for task B } } ``` In the example above, `TaskProcessor` is responsible for processing jobs in the `taskQueue`. The `handleTaskA` method will only be called for jobs with the name `taskA`, while `handleTaskB` will be called for `taskB` jobs. ```typescript import { Processor, Process, InjectMessageQueue } from 'src/engine/integrations/message-queue'; @Processor('generalQueue') export class GeneralProcessor { @Process() async handleAnyJob(job: { id: string, name: string, data: any }) { console.log(`Handling job ${job.name} with data:`, job.data); // Logic for any job } } ``` In this example, `GeneralProcessor` handles all jobs in the `generalQueue`, regardless of the job name. The `handleAnyJob` method will be invoked for every job added to the `generalQueue`. You can use the `@InjectMessageQueue` decorator to inject a queue into a service and add jobs to it. ```typescript import { Injectable } from '@nestjs/common'; import { InjectMessageQueue, MessageQueue } from 'src/engine/integrations/message-queue'; @Injectable() export class TaskService { constructor( @InjectMessageQueue('taskQueue') private readonly taskQueue: MessageQueue, ) {} async addTaskA(data: any) { await this.taskQueue.add('taskA', data); } async addTaskB(data: any) { await this.taskQueue.add('taskB', data); } } ``` In this example, `TaskService` adds jobs to the `taskQueue`. The `addTaskA` and `addTaskB` methods add jobs named `taskA` and `taskB`, respectively, to the queue. To utilize request-scoped job handlers, specify the scope in the `@Processor` decorator. This is particularly useful for services that use scoped repositories like those in TwentyORM. ```typescript import { Processor, Process, InjectMessageQueue, Scope } from 'src/engine/integrations/message-queue'; @Processor({ name: 'scopedQueue', scope: Scope.REQUEST }) export class ScopedTaskProcessor { @Process('scopedTask') async handleScopedTask(job: { id: string, data: any }) { console.log(`Handling scoped task with data:`, job.data); // Logic for scoped task, which might use request-scoped services } } ``` Here, the `ScopedTaskProcessor` is associated with `scopedQueue` and operates with request scope. This setup is essential when the job handler relies on services that need to be instantiated per request, such as scoped repositories. - **Decorators**: Refactor job handlers to use `@Processor` and `@Process` decorators. - **Request Scope**: Utilize the scope option in `@Processor` if your job handlers depend on request-scoped services. Fix #5628 --------- Co-authored-by: Weiko <[email protected]> commit 605945bd427e033d5c715b907ed1516d82a625d9 Author: Ymir <[email protected]> Date: Sun Jun 16 09:39:16 2024 +0200 Added Thai Baht support (#5881) Hey, saw Thai Baht support was [requested](https://github.com/twentyhq/twenty/issues/5876) and thought it was a cool first issue to get to know the project a little bit. commit 99f4a75b5844a1af03b3dc50d0ffd9d7c901207b Author: Félix Malfait <[email protected]> Date: Fri Jun 14 19:05:48 2024 +0200 Fix website docs (#5873) There was a 500 on the playground and the switch between core and metadata commit 9c8407c197f842c0c03b058a42028c99498b974b Author: Thomas des Francs <[email protected]> Date: Fri Jun 14 16:59:42 2024 +0200 Wrote 0.20 changelog (#5870) Created the changelog for 0.2 commit 3d3cef079742e447d2595e2a15e3436f209ea0e3 Author: Michael Gold <[email protected]> Date: Fri Jun 14 10:48:29 2024 -0400 fix: 404 generate API key link (#5871) - update api key link in the docs commit dd2db083ce4d4d5ad7113ac74da8466818dc990f Author: RobertoSimonini1 <[email protected]> Date: Fri Jun 14 16:27:16 2024 +0200 Record horizontal scrolling mobile (#5843) I have fixed the scrolling the record container page on mobile making it hidden. This PR aims to fix #5745 --------- Co-authored-by: Lucas Bordeau <[email protected]> commit eaa2f83eb1e01a90495c3da375983bbc3d3f3544 Author: martmull <[email protected]> Date: Fri Jun 14 13:11:15 2024 +0200 Fix overflow on notes (#5853) ![image](https://github.com/twentyhq/twenty/assets/29927851/c1784340-0741-4701-b11f-d2cf50fab9fb) ![image](https://github.com/twentyhq/twenty/assets/29927851/c095eaf1-15c4-4e68-8cff-c175f99856d0) commit be18ee4d7d4e0056429b573d2564be76b3496553 Author: martmull <[email protected]> Date: Fri Jun 14 12:41:55 2024 +0200 Fix sentry error (#5848) Fixes https://twenty-v7.sentry.io/issues/5363536663/?environment=prod&project=4507072499810304&query=is%3Aunresolved+issue.priority%3A%5Bhigh%2C+medium%5D&referrer=issue-stream&statsPeriod=7d&stream_index=0 - handle error properly in twenty-server - display backend error message commit 82741d3b046f9cf0a6715e58064815d118bdb286 Author: bosiraphael <[email protected]> Date: Fri Jun 14 12:38:35 2024 +0200 Fix error log on message import (#5866) Modify #5863 to log the connected account id rather than the message channel id to be consistent with the other logs and stringify the error. commit 28202cc9e051b9fb09e685473841f107bdea38dd Author: martmull <[email protected]> Date: Fri Jun 14 12:36:24 2024 +0200 Fix workspaceLogo in invite-email (#5865) ![image](https://github.com/twentyhq/twenty/assets/29927851/5fb1524b-874d-4723-8450-0284382bbeb3) - duplicates and adapt `getImageAbsoluteURIOrBase64` from `twenty-front` in `twenty-email` - send `SERVER_URL` to email builder commit a2e89af6b26aa115760d96fd90b6b54e9646f7ab Author: Félix Malfait <[email protected]> Date: Fri Jun 14 12:35:23 2024 +0200 Collapsible menu (#5846) A mini PR to discuss with @Bonapara tomorrow Separating remote objects from others and making the menu collapsible (style to be changed) <img width="225" alt="Screenshot 2024-06-12 at 23 25 59" src="https://github.com/twentyhq/twenty/assets/6399865/b4b69d36-6770-43a2-a5e8-bfcdf0a629ea"> Biggest issue is we don't use local storage today so the collapsed state gets lost. I see we have localStorageEffect with recoil. Maybe store it there? Seems easy but don't want to introduce a bad pattern. Todo: - style update - collapsible favorites - persistent storage commit 8d8bf1c1282cdbf748e8a854c925df58815a9cda Author: Siddhant Rai <[email protected]> Date: Fri Jun 14 15:11:49 2024 +0530 fix: text field overflow beyond cell limits (#5834) - fixes #5775 https://github.com/twentyhq/twenty/assets/47355538/9e440018-ec1e-4faa-a9f3-7131615cf9f1 --------- Co-authored-by: Charles Bochet <[email protected]> Co-authored-by: Lucas Bordeau <[email protected]> commit 4603999d1c0e968ed6c4f583d5ccc6d834970744 Author: Aditya Pimpalkar <[email protected]> Date: Fri Jun 14 10:23:37 2024 +0100 Support orderBy as array (#5681) closes: #4301 --------- Co-authored-by: Félix Malfait <[email protected]> commit 85fd801480ecceb44429139585d0e10c0e70d909 Author: Charles Bochet <[email protected]> Date: Fri Jun 14 09:36:39 2024 +0200 Add log for errors on message import (#5863) As per title :) commit 39af374de00dfc0f4d27ec8cfb8736c4a3471c8e Author: Weiko <[email protected]> Date: Thu Jun 13 19:04:53 2024 +0200 fix timeline activity pagination overflow (#5861) <img width="250" alt="Screenshot 2024-06-13 at 18 51 56" src="https://github.com/twentyhq/twenty/assets/1834158/d6c7f5fa-3cc7-48bc-a711-29345e93af92"> <img width="284" alt="Screenshot 2024-06-13 at 18 51 41" src="https://github.com/twentyhq/twenty/assets/1834158/25029e0a-c1b0-4458-b715-dbab217eeee0"> commit 00d22947284bcda2f1efb5ad1e8f70fddf1feb33 Author: Thomas Trompette <[email protected]> Date: Thu Jun 13 18:56:55 2024 +0200 Add label to mocked connections (#5858) <img width="865" alt="Capture d’écran 2024-06-13 à 17 48 03" src="https://github.com/twentyhq/twenty/assets/22936103/2d313448-fbd5-4ff1-a65b-afd4df86117a"> commit 65fc83a763516e66ba2820723636241c9cfbaa5c Author: Lucas Bordeau <[email protected]> Date: Thu Jun 13 18:28:02 2024 +0200 Added a fallback default record chip generator (#5860) The record chip generator context was missing a edge were a new field of type relation is created and not yet in the metadata so no chip generator function can be precomputed. For now I added a fallback default chip generator, to prevent any bug, but we might want to add a new chip generator function while creating the new field ? commit 582653f9df59446d98199ad6dc893d41a89379b2 Author: Marie <[email protected]> Date: Thu Jun 13 17:39:46 2024 +0200 Bump to version 0.20.0 (#5857) commit 93c17a8a5bb3cea5d7ed8582bf04f44b2f3b57f1 Author: Weiko <[email protected]> Date: Thu Jun 13 17:39:31 2024 +0200 Remove timelineActivity featureFlag (#5856) commit 21dbd6441a4b2b1f7c2209fc59633905b9eaa8e5 Author: kikoleitao <[email protected]> Date: Thu Jun 13 16:22:51 2024 +0100 feat: implement row re-ordering via drag and drop (#4846) (#5580) Currently, the Twenty platform incorporates "positions" for rows on the backend, which are functional within the Kanban view. However, this advantageous feature has yet to be leveraged within list views. - This PR addresses the implementation of row reordering via Drag-and-Drop on frontend. The objective is to enrich the list view functionality by introducing a grip that dynamically appears upon hovering over the left space preceding the checkbox container. This grip empowers users to effortlessly reposition rows within the list. - **Enhanced User Interaction**: Introduce a draggable grip to facilitate intuitive row reordering, enhancing user experience and productivity. - **Preservation of Design Aesthetics**: By excluding the grip from the first row and maintaining the left gap, we uphold design integrity while providing enhanced functionality. - **Consistency with Existing Features**: Align with existing drag-and-drop functionalities within the platform, such as Favorites re-ordering or Fields re-ordering in table options, ensuring a seamless user experience. - Add an extra column to the table (header + body) to accommodate the grip cell, which displays the IconListViewGrip when its container is hovered over. - Ensure the preceding left-space is maintained by setting the corresponding width for this column and removing padding from the table container (while maintaining padding in other page elements and the Kanban view for coherence). - Implement row drag-and-drop functionality using draggableList and draggableItem, based on the existing logic in the KanbanView for row repositioning. - Create a draggableTableBody and apply it to the current RecordTableBody (including modal open triggering - if dragging while sorting exists). - Apply the draggableItem logic to RecordTableRow. - Reuse the ConfirmationModel for the removeSortingModal. - Create a new state to address the modal. - Implement sorting removal logic in the corresponding modal file. - The left-side margin is preserved. - The grip appears upon hovering. - Dragging a row gives it and maintains an aesthetic appearance. - Dropping a row updates its position, and the table gets a new configuration. - If sorting is present, dropping a row activates a modal. Clicking on the "Remove Sorting" button will deactivate any sorting (clicking on "Cancel" will close the modal), and the table will revert to its default configuration by position, allowing manual row reordering. Row repositioning will not occur if sorting is not removed. - The record table maintains its overall consistency. - There are no conflicts with DragSelect functionality. https://github.com/twentyhq/twenty/assets/92337535/73de96cc-4aac-41a9-b4ec-2b8d1c928d04 --------- Co-authored-by: Vasco Paisana <[email protected]> Co-authored-by: Lucas Bordeau <[email protected]> Co-authored-by: Félix Malfait <[email protected]> commit 81c4939812f86df3aa2f0cef3a046b5d7fc386d1 Author: Weiko <[email protected]> Date: Thu Jun 13 15:22:15 2024 +0200 Fix timeline activity missing updated fields (#5854) <img width="883" alt="Screenshot 2024-06-13 at 14 48 05" src="https://github.com/twentyhq/twenty/assets/1834158/0e72ead1-2d59-4ee3-af3b-dfdd593b7f2e"> <img width="908" alt="Screenshot 2024-06-13 at 14 48 14" src="https://github.com/twentyhq/twenty/assets/1834158/00e32ddf-e40d-4cc9-a80a-9f5b76bd377a"> commit e0722545551ee44e98a7db8eb47086d3d71445e1 Author: Lucas Bordeau <[email protected]> Date: Thu Jun 13 14:18:10 2024 +0200 Fixed new date time formatting util (#5852) The new date time formatting util made for performance optimization missed two things : - Padding 0 for hours and minutes with 1 digit only. - Correctly parsing the day of the month (now uses JS Date native getDate() instead of slicing the ISO String) commit 6f65fa295b8006267b6421e36ecc3478c0024361 Author: Lucas Bordeau <[email protected]> Date: Thu Jun 13 12:43:13 2024 +0200 Added RecordValue use-context-selector to settings field's logic (#5851) In the settings part of the app, where display fields are used as in table cell and board cards, we didn't have the new context selector logic implemented, due to the recent performance optimization. commit b26fd00a4086ac03761fe47decd899a040cd0c47 Author: martmull <[email protected]> Date: Thu Jun 13 11:47:00 2024 +0200 5663 i should be able to accept an invite even if i have an inactive workspace (#5839) - make invitation and reset password available on every page - add a sleep after setKeyPair as tokens are sometimes not updated when redirecting to Index - refactor sleep commit d93c2d64088e59928994e68ffc6177d288b2f063 Author: Jovan <[email protected]> Date: Thu Jun 13 05:30:13 2024 -0400 Issue: #5761 Changes: - Use `useFindManyRecords` in `RecordTableWithWrappers.tsx` to determine if any records exist for that object - Add `hasUnfilteredRecords` prop to `RecordTableEmptyState.tsx`. This changes to empty state title, but I'm guessing that we'll need to change the button text and subheading as well you guys can let me know what you think. If this works I can go on to do those next, thanks! --------- Co-authored-by: Thomas Trompette <[email protected]> commit 7c1d9aebb963d8afe5aca20b09ac362b0a3fe138 Author: Lucas Bordeau <[email protected]> Date: Thu Jun 13 11:17:17 2024 +0200 Removed unnecessary on mouse enter for soft focus (#5850) In RecordTableCellContainer, I just removed onMouseEnter event handler that was being triggered when we used keyboard soft focus move. It's not necessary to have it because we already listen on mouse move which is matching our use case where we only want soft focus to move when mouse move and not when the cursor stays on top of a cell. commit f825bea07117f4aa10e44fe176d853e9b11a5127 Author: bosiraphael <[email protected]> Date: Thu Jun 13 07:53:28 2024 +0200 5629 update blocklist for messaging v2 (#5756) Closes #5629 - Add subdomain support in blocklist (if @example.com is blocked, every subdomain will be blocked) commit 374237a9888a35206b40aa9a998c3873e39f5dd8 Author: Félix Malfait <[email protected]> Date: Wed Jun 12 21:54:33 2024 +0200 Refacto rest api, fix graphl playground, improve analytics (#5844) - Improve the rest api by introducing startingAfter/endingBefore (we previously had lastCursor), and moving pageInfo/totalCount outside of the data object. - Fix broken GraphQL playground on website - Improve analytics by sending server url commit 04edf2bf7b22e06a67d042c039f8440b6cdacf9f Author: Jérémy M <[email protected]> Date: Wed Jun 12 21:17:31 2024 +0200 feat: add resolve absolute path util (#5836) Add a new util called `resolveAbsolutePath` to allow providing absolute path for environment variable like `STORAGE_LOCAL_PATH`. If the path in the env start with `/` we'll not prefix it with `process.cwd()`. Also we're using a static path for the old `db_initialized` file now named `db_status` and stop using the env variable for this file as this one shouldn't ne stored in the `STORAGE_LOCAL_PATH`. Fix #4794 --------- Co-authored-by: Quentin Galliano <[email protected]> commit 3986824017767a09e38b12fee138dd497a240a9a Author: martmull <[email protected]> Date: Wed Jun 12 21:13:18 2024 +0200 5623 add an inviteteam onboarding step (#5769) - add a new invite Team onboarding step - update currentUser.state to currentUser.onboardingStep We will never display invite team onboarding step - if number of workspaceMember > 1 - if a workspaceMember as been deleted Update typeorm package version to 0.3.20 because we needed a fix on `indexPredicates` pushed in 0.3.20 version (https://github.com/typeorm/typeorm/issues/10191) <img width="844" alt="image" src="https://github.com/twentyhq/twenty/assets/29927851/0dab54cf-7c66-4c64-b0c9-b0973889a148"> https://github.com/twentyhq/twenty/assets/29927851/13268d0a-cfa7-42a4-84c6-9e1fbbe48912 commit 2fdd2f4949cddec3b88d91b491f20a5f64dc6c05 Author: Quentin G <[email protected]> Date: Wed Jun 12 21:11:58 2024 +0200 Fix/release workflow (#5802) Here is a fix for https://github.com/twentyhq/twenty/issues/5163 I tested it on another repo and should work as intended this time arround. I've created two workflows - One that creates a PR - The second that watch PR merge with specific labels - I also check the author of the PR to make sure it was created by a bot You can now disable the creation of the a draft release --------- Co-authored-by: Charles Bochet <[email protected]> commit 4a7a8c72ef2030bad0163bcd1bd42e5daf1b6b4f Author: Charles Bochet <[email protected]> Date: Wed Jun 12 20:38:44 2024 +0200 Fix typing on main commit 03b3c8a67ac24fd660876929637b59265dfa76b7 Author: Lucas Bordeau <[email protected]> Date: Wed Jun 12 18:36:25 2024 +0200 Refactored all FieldDisplay types for performance optimization (#5768) This PR is the second part of https://github.com/twentyhq/twenty/pull/5693. It optimizes all remaining field types. The observed improvements are : - x2 loading time improvement on table rows - more consistent render time Here's a summary of measured improvements, what's given here is the average of hundreds of renders with a React Profiler component. (in our Storybook performance stories) | Component | Before (µs) | After (µs) | | ----- | ------------- | --- | | TextFieldDisplay | 127 | 83 | | EmailFieldDisplay | 117 | 83 | | NumberFieldDisplay | 97 | 56 | | DateFieldDisplay | 240 | 52 | | CurrencyFieldDisplay | 236 | 110 | | FullNameFieldDisplay | 131 | 85 | | AddressFieldDisplay | 118 | 81 | | BooleanFieldDisplay | 130 | 100 | | JSONFieldDisplay | 248 | 49 | | LinksFieldDisplay | 1180 | 140 | | LinkFieldDisplay | 140 | 78 | | MultiSelectFieldDisplay | 770 | 130 | | SelectFieldDisplay | 230 | 87 | commit 007e0e8b0ebe7f7e8f72d0abaf6154216035fa40 Author: Thomas Trompette <[email protected]> Date: Wed Jun 12 17:30:59 2024 +0200 Fix event value elipsis (#5840) <img width="400" alt="Capture d’écran 2024-06-12 à 14 41 08" src="https://github.com/twentyhq/twenty/assets/22936103/12d333a9-16ce-45f3-a1eb-060bf77bae96"> <img width="400" alt="Capture d’écran 2024-06-12 à 16 47 53" src="https://github.com/twentyhq/twenty/assets/22936103/6e154936-82d6-4e19-af4c-e6036b01dd04"> <img width="400" alt="Capture d’écran 2024-06-12 à 16 52 48" src="https://github.com/twentyhq/twenty/assets/22936103/6440af6b-ea40-4321-942a-a6e728a78104"> commit 732e8912da32b6a18c0392df760240cebd4990fe Author: Lucas Bordeau <[email protected]> Date: Wed Jun 12 16:31:07 2024 +0200 Added Linaria for performance optimization (#5693) - Added Linaria to have compiled CSS on our optimized field displays - Refactored mocks for performance stories on fields - Refactored generateRecordChipData into a global context, computed only when we fetch object metadata items. - Refactored ChipFieldDisplay - Refactored PhoneFieldDisplay commit 30d3ebc68a3dac225fb1cb41d3af31f562798745 Author: martmull <[email protected]> Date: Wed Jun 12 16:25:04 2024 +0200 Fix missing cursor on rest api (#5841) ![image](https://github.com/twentyhq/twenty/assets/29927851/fc3bad2d-5238-4afa-b528-409fbff3902c) ![image](https://github.com/twentyhq/twenty/assets/29927851/418174c1-aafb-4ea2-a936-50c03ea17764) ![image](https://github.com/twentyhq/twenty/assets/29927851/03439033-db6b-44b0-9613-f766babc1d2d) ![image](https://github.com/twentyhq/twenty/assets/29927851/f0e5e998-3c61-437d-863f-7289609d0d30) commit ad6547948bba2c1140fc6f9d1c076319aa7523db Author: Weiko <[email protected]> Date: Wed Jun 12 16:21:30 2024 +0200 Activity timeline refactoring followup (#5835) Following https://github.com/twentyhq/twenty/pull/5697, addressing review commit bd22bfce2ed3f80914e86e2a996bbb44391b0f5b Author: Félix Malfait <[email protected]> Date: Wed Jun 12 12:35:46 2024 +0200 Push event for user signup (#5837) Need to setup Twenty as a CRM for Twenty the Twenty team commit 5fe2fc2778b30b8db18c47faa646d6d1386b76b4 Author: Juan Martín Miñarro <[email protected]> Date: Wed Jun 12 05:24:38 2024 -0300 Add 8px margin to the left of the Tasks' tab list (#5833) I implemented the margin requested on #5827 --------- Co-authored-by: Thomas Trompette <[email protected]> commit 5ec98b5ac34c67af0ad9bd8a0d9239e2440e2a14 Author: Charles Bochet <[email protected]> Date: Wed Jun 12 08:21:35 2024 +0200 Fix not possible to read message from other workspaceMember commit a0d9fdb3de824eece3ca1e6fe96c2035b388033e Author: Félix Malfait <[email protected]> Date: Wed Jun 12 08:11:48 2024 +0200 Fix bugs and telemetry (#5832) Bugfix 1: <img width="491" alt="Screenshot 2024-06-12 at 07 19 42" src="https://github.com/twentyhq/twenty/assets/6399865/e3ad2771-4edd-453d-9d85-f429177dfd15"> Bugfix 2: <img width="259" alt="Screenshot 2024-06-12 at 07 47 02" src="https://github.com/twentyhq/twenty/assets/6399865/2f82c90e-2180-4290-b12e-e72910fb108c"> Change 3: I remove the "telemetry anonymization enabled" parameter as it was misleading, we were anonymization ids but still forwarding the workspace name which is imo more sensitive than an ID commit 7d068095cdb9c3d3012c8281b49cf4d99a55344e Author: Lucas Bordeau <[email protected]> Date: Tue Jun 11 22:30:38 2024 +0200 Fix of board request fix PR (#5829) Fix again board requests as first merged PR appears to have missing commits / code. https://github.com/twentyhq/twenty/pull/5819 commit a57e2512085522eef3862813add5914e65fb321b Author: Charles Bochet <[email protected]> Date: Tue Jun 11 19:06:37 2024 +0200 Fix docs build in CI (#5826) commit be96c68416cee67cfb342a561eae62751eeefd66 Author: Weiko <[email protected]> Date: Tue Jun 11 18:53:28 2024 +0200 POC timeline activity (#5697) TODO: - remove WorkspaceIsNotAuditLogged decorators on activity/activityTarget to log task/note creations - handle attachments - fix css and remove unnecessary styled components or duplicates commit 64b8e4ec4d344d5704f803b6aa9cdd67c5bbb7d4 Author: bosiraphael <[email protected]> Date: Tue Jun 11 18:52:38 2024 +0200 Fix access token refresh (#5825) In `messaging-gmail-messages-import.service`, we were refreshing the access token before each query but we were passing the old access token to `fetchAllMessages`. I modified the function to query the updated connectedAccount with the new access token. This will solve the 401 errors we were getting in production. commit 3328666308d1138a96cf66508583b49a1feef432 Author: RobertoSimonini1 <[email protected]> Date: Tue Jun 11 18:39:24 2024 +0200 Increased inline relation field hover surface (#5809) I increased the inline relation of the relations fields, now the edit pen is visible when hovering the icon and not only the label. this aims to fix: #5662 commit 6d7782eb5a7d8ba421a207a82148b623430c396e Author: marteenaf <[email protected]> Date: Tue Jun 11 17:24:40 2024 +0100 Align field values with fixed width for field key. (#5821) Made the alignment consistent with the field panel. This uses 90px as the key label width. **Issue:** #5730 **Changes:** - Add a label width of 90 to FieldContext Provider in useFieldContext function - Add a label width of 90 to ActivityTargetsInlineCell component **Screen recording form local testing:** https://github.com/twentyhq/twenty/assets/120792086/e150530b-4163-4a69-9bd5-119a2f202d4f --------- Co-authored-by: Thomas Trompette <[email protected]> commit 3440889ad0f712883c94d3dd7b9c9316881ad7fd Author: RobertoSimonini1 <[email protected]> Date: Tue Jun 11 17:39:51 2024 +0200 made sidebar always visible on settings page (#5823) I made the sidebar/menu always visible on settings page even if the navigationDrawerOpen is false This aims to fix #5811 commit b84042ddbb1b744d4b8647702d877ba99ee94d80 Author: Marie <[email protected]> Date: Tue Jun 11 15:53:17 2024 +0200 Display and update fields from fromManyObjects relations in Show card (#5801) In this PR, we implement the display and update of fields from fromManyObjects (e.g update Employees for a Company). Product requirement - update should be triggered at each box check/uncheck, not at lose of focus Left to do in upcoming PRs - add the column in the table views (e.g. column "Employees" on "Companies" table view) - add "Add new" possibility when there is no records (as is currently exists for "one" side of relations:) <img width="374" alt="Capture d’écran 2024-06-10 à 17 38 02" src="https://github.com/twentyhq/twenty/assets/51697796/6f0cc494-e44f-4620-a762-d7b438951eec"> - update cache after an update affecting other records (e.g "Listings" have one "Person"; if listing A belonged to Person A but then we attribute listing A to Person B, Person A is no longer owner of Listing A. For the moment that would not be reflected immediatly leading, to potential false information if information is accessed from cache) - try to get rid of the glitch - we also have it on the task page example. (probably) due to the fact that we are using a recoil state to read, update then re-read https://github.com/twentyhq/twenty/assets/51697796/54f71674-237a-4946-866e-b8d96353c458 commit 4994a9c3a9ec581c5af803a8646af6c3bd54f031 Author: brendanlaschke <[email protected]> Date: Tue Jun 11 15:31:48 2024 +0200 Api docs remove Relations from Post & Patch (#5817) * Remove relations where they cannot be used * Removed duplicated schema for findMany * Reuse schema for Relation variant to reduce size of sent json object closes #5778 --------- Co-authored-by: Félix Malfait <[email protected]> Co-authored-by: martmull <[email protected]> commit 58fb86f2c337775f8e4b3c47622a7313ad7ef08a Author: Kyriaki Darivaki <[email protected]> Date: Tue Jun 11 16:24:34 2024 +0300 Added support for Links filtering (#5785) References #5741 --------- Co-authored-by: kiridarivaki <[email protected]> commit 63578e6480eefb3af444ca41404a6a850921f882 Author: Siddhant Rai <[email protected]> Date: Tue Jun 11 18:54:23 2024 +0530 fix: calendar tile fonts underlined (#5820) - fixes #5797 commit 5c15fcd249bc298b79a55eaa296528d0bcc6b8ea Author: martmull <[email protected]> Date: Tue Jun 11 14:54:02 2024 +0200 5805 typing issue in rest api (#5818) Fixed types for: - uuid - email - datetime - date - number - currency.amountMicros - select - multiSelect ![image](https://github.com/twentyhq/twenty/assets/29927851/4bfa3a6d-a26f-47e4-a46f-7a5582825482) ![image](https://github.com/twentyhq/twenty/assets/29927851/0bbab32f-4172-4525-91d1-76c37f299ac0) commit 710291238ead27953992e4f92bc8b73cebba6776 Author: TheUnspokenFifth <[email protected]> Date: Tue Jun 11 04:54:19 2024 -0700 Inline link chips cropped (#5810) Issue: [#5654](https://github.com/twentyhq/twenty/issues/5654) Changed chip vertical padding from 3px to 1px. This resulted in vertical size changing from 24px to 20px. ![image](https://github.com/twentyhq/twenty/assets/124464818/aaed1e57-91e3-4d98-91b5-5dd10b857c9f) ![image](https://github.com/twentyhq/twenty/assets/124464818/c16223b5-35f4-40b0-b0ad-828973bb47a2) --------- Co-authored-by: ktang520 <[email protected]> Co-authored-by: Félix Malfait <[email protected]> Co-authored-by: Sage Bain <[email protected]> Co-authored-by: Shyesta <[email protected]> commit 07d07ff8764257355db5421b52bcff07f686e8bf Author: Shashank Vishwakarma <[email protected]> Date: Tue Jun 11 16:29:31 2024 +0530 Fixed: Select fields now selects on pressing the enter key (#5576) Now while pressing the `Enter` button, the select field selects the relevant option. - Added a `handleKeyDown` function to set the `persistField` with the selected option. - Added an `onKeyDown` event on `DropdownMenuSearchInput` component, to trigger `handleKeyDown` when `Enter` is pressed. - Fixes: #5556 --------- Co-authored-by: Lucas Bordeau <[email protected]> commit 8a88bf41dd1a8332eaea8b526ecba08ac713c901 Author: Lucas Bordeau <[email protected]> Date: Tue Jun 11 12:31:50 2024 +0200 Fixed soft focus stuck (#5639) Soft focus could be stuck when exiting edit mode, in some cases it would prevent to have soft focus if just moving the mouse into a cell. commit 25a38dc6936b85a02d5c33af5c3e6fb9837e1ee8 Author: Lucas Bordeau <[email protected]> Date: Tue Jun 11 12:29:33 2024 +0200 Added one request per column on board. (#5819) - Changed to one find many request per column on board. commit 9307d206c5af33cac92858ed977e58bb0b7577b1 Author: martmull <[email protected]> Date: Tue Jun 11 12:08:21 2024 +0200 Add authentication optional api url parameter (#5803) commit af8c6373552fd64a93c3750722589e94048c6321 Author: Félix Malfait <[email protected]> Date: Tue Jun 11 10:18:08 2024 +0200 Temporary fix README (#5814) Emergency fix for broken readme images commit ff1bca1816c8ce678846393c27a0c8a53a987cd0 Author: Ady Beraud <[email protected]> Date: Tue Jun 11 10:45:17 2024 +0300 Docs modifications (#5804) - Fixes #5504 - Fixes #5503 - Return 404 when the page does not exist - Modified the footer in order to align it properly - Removed "noticed something to change" in each table of content - Fixed the URLs of the edit module - Added the edit module to Developers - Fixed header style on the REST API page. - Edited the README to point to Developers - Fixed selected state when clicking on sidebar elements --------- Co-authored-by: Félix Malfait <[email protected]> commit 3c5a4ba692ae0dfb595887bb74b3b836f52a8cd2 Author: Charles Bochet <[email protected]> Date: Sun Jun 9 22:46:11 2024 +0200 Handle Network errors in messaging sync (#5795) In this PR, I'm doing 2 things: - refresh connectedAccount token on message-list-fetch. It's currently only refresh while doing the messages-import. However messages-import stage are only triggered if new messages are detected (which could take days or week depending of the messageChannel activity). We should also refresh it while trying to fetch the list - handle Unhandled Gmail error code 500 with reason "backendError". These can occur on gmail side. In this case, we just retry later. commit 01c0378b7a91c374af2d3ff2a7ae065d479092a1 Author: Charles Bochet <[email protected]> Date: Sun Jun 9 09:59:55 2024 +0200 Handle Network errors in messaging sync commit e4a4499b7994841f25458aa513066dc416a5b206 Author: Charles Bochet <[email protected]> Date: Sun Jun 9 01:27:43 2024 +0200 Fix messaging sharing inconsitency commit 9ebf7a61ab4e2436bb287e0e51a57f8d658bc44d Author: Charles Bochet <[email protected]> Date: Sun Jun 9 00:56:59 2024 +0200 Remove threadId defined assertion as it could not be in messaging sync commit f2cd65557ebd2c4f2a80364ab2fbbfa1605a38bd Author: Charles Bochet <[email protected]> Date: Sun Jun 9 00:15:12 2024 +0200 Remove messageId defined assertion as it could not be in messaging sync (#5784) Instead, we will log but ignore the message commit d4610774fa7d60ff19ac671d317233fba5ccae43 Author: Lucas Bordeau <[email protected]> Date: Sun Jun 9 00:10:18 2024 +0200 Fix unclosable cell (#5776) In some cases we couldn't open a table cell if the soft focus was still on another. commit 32804ec2965859073a92aa71a22d347cebf5352e Author: Félix Malfait <[email protected]> Date: Sun Jun 9 00:06:44 2024 +0200 Disable prefetching on contributors page (website) (#5783) Disable prefetching on contributors list as it spams the server commit d7ce42cff75c15da1ce9d1f2096bce923bc08cc2 Author: Charles Bochet <[email protected]> Date: Sat Jun 8 23:46:52 2024 +0200 Throw exception when error code is not defined in messaging import commit a79b25640901071d822dd06cbe35898f52480b1a Author: Charles Bochet <[email protected]> Date: Sat Jun 8 23:18:17 2024 +0200 Throw exception when error code is not defined in messaging import commit afac4de67997a91ea8057261074670f461f22402 Author: Charles Bochet <[email protected]> Date: Sat Jun 8 22:59:59 2024 +0200 Throw exception when an unknown error is caught on messaging sync (#5782) As per title for this one ;) commit 7f9fdf3ff68529cdc1ef2c6213f06b19300f0145 Author: Charles Bochet <[email protected]> Date: Sat Jun 8 11:07:36 2024 +0200 Fix performance issue mail (#5780) In this PR, I'm mainly doing two things: - uniformizing messaging-messages-import and messaging-message-list-fetch behaviors (cron.job and job) - improving performances of these cron.jobs by not triggering the jobs if the stage is not relevant - making sure these jobs have same signature (workspaceId + messageChannelId) commit 520a883c7379d76dce9ed6620b7db2647dc91b16 Author: Pacifique LINJANJA <[email protected]> Date: Fri Jun 7 17:23:32 2024 +0200 Fix the "Delete" action on the Kaban view (#5646) - Fixes #5520 - Created a shared confirmation modal component for the `ContextMenu` and the `ActionBar` components to avoid code repetition - with its storybook file Looking forward to getting feedback @charlesBochet commit e9cf4497067ee66d5f74c13cab4b8db0a1ada3cd Author: RobertoSimonini1 <[email protected]> Date: Fri Jun 7 17:09:09 2024 +0200 Search dialog fullscreen on mobile (#5765) I changed the visibility of the search dialog to make it full screen on mobile, this should already be ok but I couldn't try it on mobile, so I just used devtools, if I need to do something else on this PR just tell me :) This PR aims to fix: #5746 --------- Co-authored-by: Félix Malfait <[email protected]> commit 908990315d0056f0b67778971d17e32d0b137667 Author: brendanlaschke <[email protected]> Date: Fri Jun 7 14:53:12 2024 +0200 Datamodel overview improvements (#5771) closes #5586 <img width="707" alt="Bildschirmfoto 2024-06-07 um 14 05 39" src="https://github.com/twentyhq/twenty/assets/48770548/af5fa200-d71b-41ed-9478-35becfc306a3"> commit 1208fed7b30eb9dd97e5d044b9d8943964da65cd Author: Thomas Trompette <[email protected]> Date: Fri Jun 7 14:45:24 2024 +0200 Add endpoint to create postgres credentials (#5767) First step for creating credentials for database proxy. In next PRs: - When calling endpoint, create database Postgres on proxy server - Setup user on database using postgresCredentials - Build remote server on DB to access workspace data commit e478c68734ccc15569bd129469752c1d5944334f Author: RobertoSimonini1 <[email protected]> Date: Fri Jun 7 11:23:33 2024 +0200 Switched current Sort Button with same used for filters and options ones (#5764) I changed the Sort button used in the Header using StyledHeaderDropdownButton component (the same used for Filter and Options') instead of LightButton. This PR aims to fix the issue: #5743 --------- Co-authored-by: Félix Malfait <[email protected]> commit c76bc4729d2ec29dcb5b07c43b0e333cc2ab4467 Author: Hinson Chan <[email protected]> Date: Thu Jun 6 07:41:22 2024 -0700 [4725] Inverted Variants of buttons (#5671) Resolves #4725 --------- Co-authored-by: Félix Malfait <[email protected]> commit 9567103d5fb0c263564d78e3a1c101e455b8b7b6 Author: Thomas Trompette <[email protected]> Date: Thu Jun 6 11:00:46 2024 +0200 Remove check unique position (#5760) Currently position can be the same for records displayed in a board view. Removing unicity check until we find a new startegy. commit 9f6a6c3282c158cbfecf1f63df97c2bbdb715bf8 Author: martmull <[email protected]> Date: Wed Jun 5 18:16:53 2024 +0200 5622 add a syncemail onboarding step (#5689) - add sync email onboarding step - refactor calendar and email visibility enums - add a new table `keyValuePair` in `core` schema - add a new resolved boolean field `skipSyncEmail` in current user https://github.com/twentyhq/twenty/assets/29927851/de791475-5bfe-47f9-8e90-76c349fba56f commit fda0d2a1708a3b3f48b795bd2f3e64f928a37cb1 Author: Weiko <[email protected]> Date: Wed Jun 5 18:14:09 2024 +0200 Fix edit button missing in activity editor (#5757) Fixing `setIsFocused is not a function` and the fact that edit buttons were not showing up anymore. A new FieldFocusContextProvider has been introduced and added to RecordInlineCell but not ActivityTargetsInlineCell. This should fix the issue. <img width="523" alt="Screenshot 2024-06-05 at 17 42 07" src="https://github.com/twentyhq/twenty/assets/1834158/1c1f919e-3829-4e40-b573-3b1b75b7c16f"> commit 89f914ebf846b995733abc30dee4973905e3134e Author: Félix Malfait <[email protected]> Date: Wed Jun 5 17:01:13 2024 +0200 Improve csv import (#5753) This is a small PR to improve the design of our CSV import. I noticed the back button that was implemented in a recent PR #5625 was broken and would need to be fixed (e.g. try to come back to the very first upload step from the sheet selection step). cc @shashankvish0010 if you want to give a stab at fixing your PR that'd be amazing, thanks! commit e9d3ed99ca30dab4808eddc0e87e364eba018ba0 Author: martmull <[email protected]> Date: Wed Jun 5 16:35:14 2024 +0200 5078 ability to invite team members (#5750) - update team member setting page - add a section to send invitation by email - add a new invitation email - update email font to 'Trebuchet MS' as Google Inter font is not working, we need to use a web safe font https://templates.mailchimp.com/design/typography/ https://github.com/twentyhq/twenty/assets/29927851/c731d883-1599-4281-87e3-0671f36994ae ![image](https://github.com/twentyhq/twenty/assets/29927851/d569fc64-fa0c-4769-a3dd-1193a12b495c) commit 3c4b497846a1f85a3d24f70e1d94b1e171267ceb Author: Leo157 <[email protected]> Date: Wed Jun 5 22:15:00 2024 +0800 fix:person head photo (#5749) before: https://github.com/twentyhq/twenty/assets/76474110/2d9d3e60-886e-4ad3-a1a3-b9484e49791c after: https://github.com/twentyhq/twenty/assets/76474110/877a15e6-ca72-450a-b25c-b4b323656d7f commit 126d9ef2e6b5eaed65cdf000dbb0d13c6d84d412 Author: Weiko <[email protected]> Date: Wed Jun 5 15:26:27 2024 +0200 Bump versions to 0.12.2 (#5751) commit 5164c7fd3c502bc9cb22ec9d1b6fd27e699a21b4 Author: Félix Malfait <[email protected]> Date: Wed Jun 5 11:07:48 2024 +0200 Update icon and fix relation creation (#5742) A minor fix (update icon and fix relation creation when creating a relation in right drawer) commit 6d869297b558b55a0a7077ac7280ef9f0acfdd2c Author: Marie <[email protected]> Date: Wed Jun 5 11:06:22 2024 +0200 Fix select field options update (#5736) Update of select fields options was failing if we deleted an option that was used for at least one row: former code would not update the value to null but leave it to the no-longer-allowed value. commit 1bbfc0b715cc75dcd48dc2b1d688033a602ce95c Author: Marie <[email protected]> Date: Tue Jun 4 22:27:27 2024 +0200 Add unicity constraint between object nameSingular and namePlural (#5737) commit bb7d94a455e2b1a0ddf9fd129c57c15693a72570 Author: gitstart-twenty <[email protected]> Date: Tue Jun 4 11:04:57 2024 -0400 Create ESLint rule to discourage usage of navigate() and prefer Link (#5642) Create ESLint rule to discourage usage of navigate() and prefer Link ![Capture-2024-05-29-112852](https://github.com/twentyhq/twenty/assets/140154534/28378c09-86bb-49d3-9e9a-49aa1c07ad11) ![Capture-2024-05-29-112843](https://github.com/twentyhq/twenty/assets/140154534/2c05ea92-e19b-49ae-acb9-07f6ec9182ab) Fixes #5468 --------- Co-authored-by: gitstart-twenty <[email protected]> Co-authored-by: v1b3m <[email protected]> Co-authored-by: Matheus <[email protected]> Co-authored-by: Félix Malfait <[email protected]> commit 234e0622327eb977bc8d694101418feecbcd3ae6 Author: bosiraphael <[email protected]> Date: Tue Jun 4 16:52:57 2024 +0200 Refactor sync sub status and throttle (#5734) - Rename syncSubStatus to syncStage - Rename ongoingSyncStartedAt to syncStageStartedAt - Remove throttlePauseUntil from db and compute it with syncStageStartedAt and throttleFailureCount commit ce1469cf0cbefc12e2106983b531b6dfa046502e Author: Anand Krishnan M J <[email protected]> Date: Tue Jun 4 19:25:02 2024 +0530 [ Fix ] [ Issue - 5701 ] Mouse down and drag is selecting records, while file import modal is open (#5716) - Prevent mouse event propagation outside modal - Prevent text selection inside the modal during drag event https://github.com/twentyhq/twenty/issues/5701 https://github.com/twentyhq/twenty/assets/87609792/c15c2a1d-5e3b-4fc5-a98a-638615e8d7b9 Actual drag operation is done, but not visible in the video https://github.com/twentyhq/twenty/assets/87609792/f2e68e67-1eb1-4a15-83c8-8cb4313bcaa1 --------- Co-authored-by: Thomas Trompette <[email protected]> commit fa70f9cfc7cf8b2889015e3f3cfd03c2a527b233 Author: Jeet Desai <[email protected]> Date: Tue Jun 4 18:47:46 2024 +0530 Fix: Reduce spacing gap between Task title and subtitle (#5711) Fixes: #5669 --------- Co-authored-by: Thomas Trompette <[email protected]> commit 5e32cb215e9174e63e9e50c41b6fcdaa26bfc4b1 Author: Lucas Bordeau <[email protected]> Date: Tue Jun 4 15:10:56 2024 +0200 Fix 5598 - View field creation (#5732) - Fix duplicate view field creation - Fix redirect to proper settings data model page - Refetch view fields after field creation (temporary solution) Fixes https://github.com/twentyhq/twenty/issues/5598 commit c5d5d183476c09a8a6bb4c45f49a711636c7e53d Author: Thomas Trompette <[email protected]> Date: Tue Jun 4 15:02:19 2024 +0200 Remove checkbox padding (#5733) Regression has been introduced by this PR https://github.com/twentyhq/twenty/pull/4883 Production <img width="885" alt="Capture d’écran 2024-06-04 à 14 51 19" src="https://github.com/twentyhq/twenty/assets/22936103/ad6d8490-815c-485a-b9c0-945aa7fba45c"> After fix <img width="885" alt="Capture d’écran 2024-06-04 à 14 51 41" src="https://github.com/twentyhq/twenty/assets/22936103/72fd6094-21c2-4737-bd20-0faf9adceb38"> commit 25f4e44aec8b630501d7aecae6f7773c0b235db3 Author: Thomas Trompette <[email protected]> Date: Tue Jun 4 14:10:58 2024 +0200 Add backfill position job by workspace (#5725) - Removing existing listener that was backfilling created records without position - Switch to a job that backfill all objects within workspace - Adapting `FIND_BY_POSITION` so it can fetch objects without position. Currently we needed to input a number commit b1f12d72570621693a984a55d2f4f9134dc8abae Author: Thomas Trompette <[email protected]> Date: Tue Jun 4 13:26:40 2024 +0200 Fix input position backfill (#5731) Some objects do not have position field so they should not be backfilled commit a4e5e486f58beab63e38eea7d15203f8413649a8 Author: Marie <[email protected]> Date: Tue Jun 4 13:02:38 2024 +0200 Fix boolean field in table view (#5728) Boolean field was not working in display (unfocused) mode. Before fix <img width="269" alt="Capture d’écran 2024-06-04 à 11 50 55" src="https://github.com/twentyhq/twenty/assets/51697796/9140f71c-41e4-44b4-9514-933edab33dd6"> https://github.com/twentyhq/twenty/assets/51697796/831c34a7-b91c-4df9-81d8-ced01cc7b9b6 After fix <img width="284" alt="Capture d’écran 2024-06-04 à 11 51 01" src="https://github.com/twentyhq/twenty/assets/51697796/7e4a089d-0c55-4624-a5d3-44c00681c6ca"> https://github.com/twentyhq/twenty/assets/51697796/b5103f39-64c1-4ace-ab32-353aba364471 commit 719cce1ea2b3b05aab1f2033d8cae6e9d8d81f3c Author: Félix Malfait <[email protected]> Date: Tue Jun 4 12:16:47 2024 +0200 Improve design of fields menu (#5729) Improve design of field options menu and redirect to the right object edit page <img width="215" alt="Screenshot 2024-06-04 at 12 15 43" src="https://github.com/twentyhq/twenty/assets/6399865/a8da18a1-49d4-40e3-b2cd-3a1a384366b2"> commit d964f656f99f8659e46ac6a46528f77563acdb35 Author: Félix Malfait <[email protected]> Date: Tue Jun 4 11:44:54 2024 +0200 Fix field input offset (#5726) Fix issue introduced in https://github.com/twentyhq/twenty/pull/5426 It's not a beautiful solution. Maybe one day we should have a dedicated component for title but it also comes with downsides (lot of code to copy paste, such as "esc" to leave field, copy button, etc.). This one doesn't create less debt in my opinion. Once we have the layout/widget system we might have a dedicated widget type and the right abstraction layers commit cd9ac529a573dd1fe9be84b84f309233f5fcb036 Author: gitstart-twenty <[email protected]> Date: Tue Jun 4 04:51:33 2024 -0400 Add storybook tests for User & Metadata loading (#5650) Add storybook tests for User & Metadata loading https://github.com/twentyhq/twenty/assets/140154534/2434fc50-8d95-420b-9f62-6fbdf43ce9e5 Fixes #5590 --------- Co-authored-by: gitstart-twenty <[email protected]> Co-authored-by: v1b3m <[email protected]> Co-authored-by: Thiago Nascimbeni <[email protected]> commit 3f9f2c3ba611b082f0b4f230283eeef937fbd729 Author: bosiraphael <[email protected]> Date: Tue Jun 4 10:29:05 2024 +0200 5620 implement throttle logic for message and calendar sync (#5718) Closes #5620 and improve messages filters commit 32d4b37d372eaa8bf13e397e1b359fb9ee383d34 Author: Indrakant D <[email protected]> Date: Tue Jun 4 13:33:07 2024 +0530 Change Navigation Font Weight (#5704) fixes [#5665](https://github.com/twentyhq/twenty/issues/5665). | Before | After | | --- | --- | | <img width="257" alt="Screenshot 2024-06-02 at 1 22 09 AM" src="https://github.com/twentyhq/twenty/assets/60315832/b78da8fa-cea8-45af-b32c-864d6bce050a"> | <img width="248" alt="Screenshot 2024-06-02 at 1 21 01 AM" src="https://github.com/twentyhq/twenty/assets/60315832/793c3d16-3ed7-408f-acdd-6f7f4ec92ca2"> | commit 59c7bcd7050b53774899b162a235501fd99d9366 Author: Kyriaki Darivaki <[email protected]> Date: Mon Jun 3 23:17:37 2024 +0300 Fix 4363 modify kanban menu (#5337) **Changes:** - Changed -/+ to eye and eye off icons - Changed menu width to 200px - Created separate menu for hidden fields - Added Edit Fields option to hidden fields menu - Added test file MenuItemSelectTag (wasn't included in the issue) As this is my first pr, feedback is very welcome! **Note:** These changes cover most of #4363 . I left out the implementation of the RightIcon in the "Hidden Fields" menu item. --------- Co-authored-by: kiridarivaki <[email protected]> Co-authored-by: Félix Malfait <[email protected]> commit dcd769f20f3fa667db82ac60bea438bfbb6ca6c0 Author: rostaklein <[email protected]> Date: Mon Jun 3 21:26:08 2024 +0200 spreadsheet import utf8 emoji support (#5720) fixes https://github.com/twentyhq/twenty/issues/5476 took some time to find the right spot, but ChatGPT was helpful enough in this case 😄 <img width="311" alt="Screenshot 2024-06-03 at 20 24 26" src="https://github.com/twentyhq/twenty/assets/19856731/4ea0188b-bee5-4a4f-a8af-2630e3b1c373"> commit 671de4170f615972ca6eb82755f10767af1176bf Author: Ady Beraud <[email protected]> Date: Mon Jun 3 19:52:43 2024 +0300 Migrated Developer Docs (#5683) - Migrated developer docs to Twenty website - Modified User Guide and Docs layout to include sections and subsections **Section Example:** <img width="549" alt="Screenshot 2024-05-30 at 15 44 42" src="https://github.com/twentyhq/twenty/assets/102751374/41bd4037-4b76-48e6-bc79-48d3d6be9ab8"> **Subsection Example:** <img width="557" alt="Screenshot 2024-05-30 at 15 44 55" src="https://github.com/twentyhq/twenty/assets/102751374/f14c65a9-ab0c-4530-b624-5b20fc00511a"> - Created different components (Tabs, Tables, Editors etc.) for the mdx files **Tabs & Editor** <img width="665" alt="Screenshot 2024-05-30 at 15 47 39" src="https://github.com/twentyhq/twenty/assets/102751374/5166b5c7-b6cf-417d-9f29-b1f674c1c531"> **Tables** <img width="698" alt="Screenshot 2024-05-30 at 15 57 39" src="https://github.com/twentyhq/twenty/assets/102751374/2bbfe937-ec19-4004-ab00-f7a56e96db4a"> <img width="661" alt="Screenshot 2024-05-30 at 16 03 32" src="https://github.com/twentyhq/twenty/assets/102751374/ae95b47c-dd92-44f9-b535-ccdc953f71ff"> - Created a crawler for Twenty Developers (now that it will be on the twenty website). Once this PR is merged and the website is re-deployed, we need to start crawling and make sure the index name is ‘twenty-developer’ - Added a dropdown menu in the header to access User Guide and Developers + added Developers to footer https://github.com/twentyhq/twenty/assets/102751374/1bd1fbbd-1e65-4461-b18b-84d4ddbb8ea1 - Made new layout responsive Please fill in the information for each mdx file so that it can appear on its card, as well as in the ‘In this article’ section. Example with ‘Getting Started’ in the User Guide: <img width="786" alt="Screenshot 2024-05-30 at 16 29 39" src="https://github.com/twentyhq/twenty/assets/102751374/2714b01d-a664-4ddc-9291-528632ee12ea"> Example with info and sectionInfo filled in for 'Getting Started': <img width="620" alt="Screenshot 2024-05-30 at 16 33 57" src="https://github.com/twentyhq/twenty/assets/102751374/bc69e880-da6a-4b7e-bace-1effea866c11"> Please keep in mind that the images that are being used for Developers are the same as those found in User Guide and may not match the article. --------- Co-authored-by: Félix Malfait <[email protected]> commit f7cdd14c756d21590c9541b8db4d41ceaee0ea34 Author: Marie <[email protected]> Date: Mon Jun 3 17:17:25 2024 +0200 Use same overlay background for field inputs (#5719) Fixes #5593 commit 09bfb617b2944ed6be28ff7c3971ad99eb8693b2 Author: Félix Malfait <[email protected]> Date: Mon Jun 3 17:15:05 2024 +0200 Right drawer to edit records (#5551) This PR introduces a new side panel to edit records and the ability to minimize the side panel. The goal is leverage this sidepanel to be able to create records while being in another show page. I'm opening the PR for feedback since it involved refactoring and therefore already touches a lot of files, even though it was quick to implement. <img width="1503" alt="Screenshot 2024-05-23 at 17 41 37" src="https://github.com/twentyhq/twenty/assets/6399865/6f17e7a8-f4e9-4eb4-b392-c756db7198ac"> commit 8e8078d596fcf845700bb1979e4c3ea2098f68a8 Author: JustGJ <[email protected]> Date: Mon Jun 3 16:09:27 2024 +0200 fix remove favorite on opportunity delete (#5686) - fix : #5521 When we deleted an opportunity that had been added to the favorites list, the opportunity was removed correctly, but it still remained in the favorites list. The issue was due to not accounting for the removal of the opportunity from the favorites during the deletion process. This problem has now been fixed : https://github.com/twentyhq/twenty/assets/78202522/3d3cb689-3228-43fc-bf50-e824370582a7 Co-authored-by: Jeff Gasparini <[email protected]> commit 04dcbffe75260f12dfee6b24fc999fd665f3d11e Author: Shashank Vishwakarma <[email protected]> Date: Mon Jun 3 19:28:58 2024 +0530 Fixed: Inconsistent Field Label Display on Task Side Panel (#5687) Now all the required fields are displayed with the respective labels. - Added a `FieldContextProvider` for the field `Reminder` in the `ActivityEditorFields`. - Fixed the missing label values, by adding a missed optional `showLabel` within the `fieldDefinition` in the `useFieldContext`. fixes: #5667 ![Screenshot (342)](https://github.com/twentyhq/twenty/assets/140178357/adf9563a-6cab-4809-8616-1c256abab717) commit 2886664b62d14afc7ba6a531afc0f07187641379 Author: Thomas Trompette <[email protected]> Date: Mon Jun 3 15:18:01 2024 +0200 Backfill position when not input (#5696) - refactor record position factory and record position query factory - override position if not present during createMany To avoid overriding the same positions for all data in createMany, the logic is: - if inserted last, use last position + arg index + 1 - if inserted first, use first position - arg index - 1 commit a6b8beed68573f3cd3cb9724b71654869454233d Author: Shashank Vishwakarma <[email protected]> Date: Mon Jun 3 18:45:32 2024 +0530 Fixed: Fields Disappear on Drag and Drop (#5703) Now the fields don't disappear on drag and drop. - After reviewing the codebase, I checked that when `inView` is true the `RecordInlineCell` is rendered otherwise the `StyledRecordInlineCellPlaceholder` will render which causes the fields get disappear. - So, I added the condition to check if `isDragSelectionStartEnabled` is false then `StyledRecordInlineCellPlaceholder` will be rendered otherwise `RecordInlineCell`. fixes: #5651 https://github.com/twentyhq/twenty/assets/140178357/022195ca-fec2-43a7-8808-f4974dbe66cf --------- Co-authored-by: martmull <[email protected]> commit e49db63f30d4a766c848a14c52bbad99c8dd21f4 Author: rostaklein <[email protected]> Date: Mon Jun 3 15:14:08 2024 +0200 accounts page loader as skeleton (#5702) fixes https://github.com/twentyhq/twenty/issues/5659 https://github.com/twentyhq/twenty/assets/19856731/aeae6f08-bc6e-4d71-9067-39b6382ebf15 commit 24941c66b75d963cd21131caca3ea1835df10bad Author: spiderman3000 <[email protected]> Date: Mon Jun 3 18:19:57 2024 +0530 [Improvement] LeftPanel skeleton loader (#5705) This change solves #5664 This modifies the left-side panel skeleton loader in accordance with the default v…
This PR introduces a new side panel to edit records and the ability to minimize the side panel. The goal is leverage this sidepanel to be able to create records while being in another show page. I'm opening the PR for feedback since it involved refactoring and therefore already touches a lot of files, even though it was quick to implement. <img width="1503" alt="Screenshot 2024-05-23 at 17 41 37" src="https://github.com/twentyhq/twenty/assets/6399865/6f17e7a8-f4e9-4eb4-b392-c756db7198ac">
This PR introduces a new side panel to edit records and the ability to minimize the side panel.
The goal is leverage this sidepanel to be able to create records while being in another show page.
I'm opening the PR for feedback since it involved refactoring and therefore already touches a lot of files, even though it was quick to implement.