Add email thread widget and message thread record page layout (#19351)
## Summary - Move email thread display from side panel to a dedicated record page with a new `EMAIL_THREAD` widget type - Add message thread as a standard object with page layout, subject field, and backfill command - Add reply-to-email command menu item for message thread records - Remove old side panel message thread components in favor of the new widget-based approach ## Type fixes - Add `EMAIL_THREAD` to `WidgetConfigurationType`, `WidgetType`, and all configuration/validator maps - Create `EmailThreadConfigurationDTO` and shared `EmailThreadConfiguration` type - Register EMAIL_THREAD in widget type validators, configuration resolvers, and standard widget mappings ## Test plan - [ ] Verify message thread record pages render with the email thread widget - [ ] Verify email thread preview navigates to the record page instead of opening side panel - [ ] Verify reply-to-email command appears for message thread records - [ ] Verify typecheck passes for both twenty-front and twenty-server - [ ] Run existing test suites to check for regressions 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1838,15 +1838,24 @@ export const STANDARD_OBJECTS = {
|
||||
searchVector: {
|
||||
universalIdentifier: 'c63e091f-6528-4657-ad2a-b0a158f9e483',
|
||||
},
|
||||
subject: {
|
||||
universalIdentifier: 'a8ddbf8c-1137-45d1-b89e-5ffbd83f67c8',
|
||||
},
|
||||
},
|
||||
indexes: {},
|
||||
views: {
|
||||
allMessageThreads: {
|
||||
universalIdentifier: '20202020-d002-4d02-8d02-ae55a9ba2002',
|
||||
viewFields: {
|
||||
subject: {
|
||||
universalIdentifier: 'e5f0d32b-2b6a-47bc-b3bd-f32c96594ec1',
|
||||
},
|
||||
messages: {
|
||||
universalIdentifier: '20202020-df02-4d02-8d02-ae55a9ba2f01',
|
||||
},
|
||||
updatedAt: {
|
||||
universalIdentifier: 'af2c6ac9-7083-4609-8172-d518441f5e9e',
|
||||
},
|
||||
createdAt: {
|
||||
universalIdentifier: '20202020-df02-4d02-8d02-ae55a9ba2f02',
|
||||
},
|
||||
|
||||
@@ -3,7 +3,6 @@ export enum SidePanelPages {
|
||||
ViewRecord = 'view-record',
|
||||
MergeRecords = 'merge-records',
|
||||
UpdateRecords = 'update-records',
|
||||
ViewEmailThread = 'view-email-thread',
|
||||
ViewCalendarEvent = 'view-calendar-event',
|
||||
EditRichText = 'edit-rich-text',
|
||||
Copilot = 'copilot',
|
||||
|
||||
@@ -186,6 +186,7 @@ export type {
|
||||
NotesConfiguration,
|
||||
FilesConfiguration,
|
||||
EmailsConfiguration,
|
||||
EmailThreadConfiguration,
|
||||
CalendarConfiguration,
|
||||
WorkflowConfiguration,
|
||||
WorkflowVersionConfiguration,
|
||||
|
||||
+6
-1
@@ -151,6 +151,10 @@ export type EmailsConfiguration = {
|
||||
configurationType: 'EMAILS';
|
||||
};
|
||||
|
||||
export type EmailThreadConfiguration = {
|
||||
configurationType: 'EMAIL_THREAD';
|
||||
};
|
||||
|
||||
export type CalendarConfiguration = {
|
||||
configurationType: 'CALENDAR';
|
||||
};
|
||||
@@ -189,4 +193,5 @@ export type PageLayoutWidgetConfiguration =
|
||||
| CalendarConfiguration
|
||||
| WorkflowConfiguration
|
||||
| WorkflowVersionConfiguration
|
||||
| WorkflowRunConfiguration;
|
||||
| WorkflowRunConfiguration
|
||||
| EmailThreadConfiguration;
|
||||
|
||||
Reference in New Issue
Block a user