MCPcopy Create free account
hub / github.com/CommE2E/comm / patchThreadInfoToIncludeMentionedMembersOfParent

Function patchThreadInfoToIncludeMentionedMembersOfParent

lib/shared/thread-utils.js:1508–1541  ·  view source on GitHub ↗
(
  threadInfo: ThreadInfo,
  parentThreadInfo: ThreadInfo,
  messageText: string,
  viewerID: string,
)

Source from the content-addressed store, hash-verified

1506}
1507
1508function patchThreadInfoToIncludeMentionedMembersOfParent(
1509 threadInfo: ThreadInfo,
1510 parentThreadInfo: ThreadInfo,
1511 messageText: string,
1512 viewerID: string,
1513): ThreadInfo {
1514 const members: BasicUserInfo[] = threadInfo.members
1515 .map(({ id, username }) =>
1516 username ? ({ id, username }: BasicUserInfo) : null,
1517 )
1518 .filter(Boolean);
1519 const mentionedNewMembers = extractNewMentionedParentMembers(
1520 messageText,
1521 threadInfo,
1522 parentThreadInfo,
1523 );
1524 if (mentionedNewMembers.length === 0) {
1525 return threadInfo;
1526 }
1527 members.push(...mentionedNewMembers);
1528 const config = threadSpecs[parentThreadInfo.type].protocol().sidebarConfig;
1529 invariant(config, `Thread type ${parentThreadInfo.type} can't have sidebars`);
1530 const threadType = config.sidebarThreadType;
1531
1532 return createPendingThread({
1533 viewerID,
1534 threadType,
1535 members,
1536 parentThreadInfo,
1537 threadColor: threadInfo.color,
1538 name: threadInfo.name,
1539 sourceMessageID: threadInfo.sourceMessageID,
1540 });
1541}
1542
1543type RoleAndMemberCount = {
1544 [roleName: string]: number,

Callers 2

sendTextMessageMethod · 0.90
InputStateContainerClass · 0.90

Calls 3

createPendingThreadFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected