Merge follow-up replies with normal replies (#2027)
This commit is contained in:
parent
e29c6b4842
commit
de7f96a3a4
@ -99,6 +99,11 @@ async function sendUserNotification (userId, notification) {
|
|||||||
delete notification.item
|
delete notification.item
|
||||||
}
|
}
|
||||||
const userFilter = createUserFilter(notification.tag)
|
const userFilter = createUserFilter(notification.tag)
|
||||||
|
|
||||||
|
// XXX we only want to use the tag to filter follow-up replies by user settings
|
||||||
|
// but still merge them with normal replies
|
||||||
|
if (notification.tag === 'THREAD') notification.tag = 'REPLY'
|
||||||
|
|
||||||
const payload = createPayload(notification)
|
const payload = createPayload(notification)
|
||||||
const subscriptions = await models.pushSubscription.findMany({
|
const subscriptions = await models.pushSubscription.findMany({
|
||||||
where: { userId, ...userFilter }
|
where: { userId, ...userFilter }
|
||||||
@ -250,7 +255,7 @@ export const notifyItemParents = async ({ models, item }) => {
|
|||||||
Promise.allSettled(
|
Promise.allSettled(
|
||||||
parents.map(({ userId, isDirect }) => {
|
parents.map(({ userId, isDirect }) => {
|
||||||
return sendUserNotification(userId, {
|
return sendUserNotification(userId, {
|
||||||
title: `@${user.name} ${isDirect ? 'replied to you' : 'replied to someone that replied to you'}`,
|
title: `@${user.name} replied to you`,
|
||||||
body: item.text,
|
body: item.text,
|
||||||
item,
|
item,
|
||||||
tag: isDirect ? 'REPLY' : 'THREAD'
|
tag: isDirect ? 'REPLY' : 'THREAD'
|
||||||
|
@ -91,7 +91,7 @@ const mergeNotification = (event, sw, payload, currentNotifications, tag, nid) =
|
|||||||
// merge notifications into single notification payload
|
// merge notifications into single notification payload
|
||||||
// ---
|
// ---
|
||||||
// tags that need to know the amount of notifications with same tag for merging
|
// tags that need to know the amount of notifications with same tag for merging
|
||||||
const AMOUNT_TAGS = ['REPLY', 'THREAD', 'MENTION', 'ITEM_MENTION', 'REFERRAL', 'INVITE', 'FOLLOW', 'TERRITORY_POST']
|
const AMOUNT_TAGS = ['REPLY', 'MENTION', 'ITEM_MENTION', 'REFERRAL', 'INVITE', 'FOLLOW', 'TERRITORY_POST']
|
||||||
// tags that need to know the sum of sats of notifications with same tag for merging
|
// tags that need to know the sum of sats of notifications with same tag for merging
|
||||||
const SUM_SATS_TAGS = ['DEPOSIT', 'WITHDRAWAL']
|
const SUM_SATS_TAGS = ['DEPOSIT', 'WITHDRAWAL']
|
||||||
// this should reflect the amount of notifications that were already merged before
|
// this should reflect the amount of notifications that were already merged before
|
||||||
@ -116,8 +116,6 @@ const mergeNotification = (event, sw, payload, currentNotifications, tag, nid) =
|
|||||||
if (AMOUNT_TAGS.includes(compareTag)) {
|
if (AMOUNT_TAGS.includes(compareTag)) {
|
||||||
if (compareTag === 'REPLY') {
|
if (compareTag === 'REPLY') {
|
||||||
title = `you have ${amount} new replies`
|
title = `you have ${amount} new replies`
|
||||||
} else if (compareTag === 'THREAD') {
|
|
||||||
title = `you have ${amount} new follow-up replies`
|
|
||||||
} else if (compareTag === 'MENTION') {
|
} else if (compareTag === 'MENTION') {
|
||||||
title = `you were mentioned ${amount} times`
|
title = `you were mentioned ${amount} times`
|
||||||
} else if (compareTag === 'ITEM_MENTION') {
|
} else if (compareTag === 'ITEM_MENTION') {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user