Changeset View
Changeset View
Standalone View
Standalone View
keyserver/src/push/send.js
Show First 20 Lines • Show All 134 Lines • ▼ Show 20 Lines | for (const notifInfo of usersToCollapsableNotifInfo[userID]) { | ||||
const [firstNewMessageInfo, ...remainingNewMessageInfos] = | const [firstNewMessageInfo, ...remainingNewMessageInfos] = | ||||
newMessageInfos; | newMessageInfos; | ||||
const { threadID } = firstNewMessageInfo; | const { threadID } = firstNewMessageInfo; | ||||
const threadInfo = threadInfos[threadID]; | const threadInfo = threadInfos[threadID]; | ||||
const updateBadge = threadInfo.currentUser.subscription.home; | const updateBadge = threadInfo.currentUser.subscription.home; | ||||
const displayBanner = threadInfo.currentUser.subscription.pushNotifs; | const displayBanner = threadInfo.currentUser.subscription.pushNotifs; | ||||
const username = userInfos[userID] && userInfos[userID].username; | const username = userInfos[userID] && userInfos[userID].username; | ||||
const avatar = userInfos[userID] && userInfos[userID].avatar; | |||||
const userWasMentioned = | const userWasMentioned = | ||||
username && | username && | ||||
threadInfo.currentUser.role && | threadInfo.currentUser.role && | ||||
oldValidUsernameRegex.test(username) && | oldValidUsernameRegex.test(username) && | ||||
newMessageInfos.some(newMessageInfo => { | newMessageInfos.some(newMessageInfo => { | ||||
const unwrappedMessageInfo = | const unwrappedMessageInfo = | ||||
newMessageInfo.type === messageTypes.SIDEBAR_SOURCE | newMessageInfo.type === messageTypes.SIDEBAR_SOURCE | ||||
? newMessageInfo.sourceMessage | ? newMessageInfo.sourceMessage | ||||
: newMessageInfo; | : newMessageInfo; | ||||
return ( | return ( | ||||
unwrappedMessageInfo.type === messageTypes.TEXT && | unwrappedMessageInfo.type === messageTypes.TEXT && | ||||
isMentioned(username, unwrappedMessageInfo.text) | isMentioned(username, unwrappedMessageInfo.text) | ||||
); | ); | ||||
}); | }); | ||||
if (!updateBadge && !displayBanner && !userWasMentioned) { | if (!updateBadge && !displayBanner && !userWasMentioned) { | ||||
continue; | continue; | ||||
} | } | ||||
const badgeOnly = !displayBanner && !userWasMentioned; | const badgeOnly = !displayBanner && !userWasMentioned; | ||||
const notifTargetUserInfo = { id: userID, username, avatar }; | const notifTargetUserInfo = { id: userID, username }; | ||||
const notifTexts = await notifTextsForMessageInfo( | const notifTexts = await notifTextsForMessageInfo( | ||||
allMessageInfos, | allMessageInfos, | ||||
threadInfo, | threadInfo, | ||||
notifTargetUserInfo, | notifTargetUserInfo, | ||||
getENSNames, | getENSNames, | ||||
); | ); | ||||
if (!notifTexts) { | if (!notifTexts) { | ||||
continue; | continue; | ||||
▲ Show 20 Lines • Show All 893 Lines • Show Last 20 Lines |