Skip threads with no participants in timeline formatting (#18725)
Threads with no FROM participants have no entry in the participants map, causing extractParticipantSummary to receive undefined and crash Fixes TWENTY-SERVER-FB8
This commit is contained in:
+21
-18
@@ -1,4 +1,5 @@
|
||||
import { FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED } from 'twenty-shared/constants';
|
||||
import { isDefined } from 'twenty-shared/utils';
|
||||
|
||||
import { type TimelineThreadDTO } from 'src/engine/core-modules/messaging/dtos/timeline-thread.dto';
|
||||
import { extractParticipantSummary } from 'src/engine/core-modules/messaging/utils/extract-participant-summary.util';
|
||||
@@ -21,23 +22,25 @@ export const formatThreads = (
|
||||
[key: string]: MessageChannelVisibility;
|
||||
},
|
||||
): TimelineThreadDTO[] => {
|
||||
return threads.map((thread) => {
|
||||
const visibility = threadVisibilityByThreadId[thread.id];
|
||||
return threads
|
||||
.filter((thread) => isDefined(threadParticipantsByThreadId[thread.id]))
|
||||
.map((thread) => {
|
||||
const visibility = threadVisibilityByThreadId[thread.id];
|
||||
|
||||
return {
|
||||
...thread,
|
||||
subject:
|
||||
visibility === MessageChannelVisibility.SHARE_EVERYTHING ||
|
||||
visibility === MessageChannelVisibility.SUBJECT
|
||||
? thread.subject
|
||||
: FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED,
|
||||
lastMessageBody:
|
||||
visibility === MessageChannelVisibility.SHARE_EVERYTHING
|
||||
? thread.lastMessageBody
|
||||
: FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED,
|
||||
...extractParticipantSummary(threadParticipantsByThreadId[thread.id]),
|
||||
visibility,
|
||||
read: true,
|
||||
};
|
||||
});
|
||||
return {
|
||||
...thread,
|
||||
subject:
|
||||
visibility === MessageChannelVisibility.SHARE_EVERYTHING ||
|
||||
visibility === MessageChannelVisibility.SUBJECT
|
||||
? thread.subject
|
||||
: FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED,
|
||||
lastMessageBody:
|
||||
visibility === MessageChannelVisibility.SHARE_EVERYTHING
|
||||
? thread.lastMessageBody
|
||||
: FIELD_RESTRICTED_ADDITIONAL_PERMISSIONS_REQUIRED,
|
||||
...extractParticipantSummary(threadParticipantsByThreadId[thread.id]),
|
||||
visibility,
|
||||
read: true,
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user