forked from AkkomaGang/akkoma-fe
Merge branch 'issue-380-noification-unread' into 'develop'
#380: fix false alarm for unread notifications Closes #380 See merge request pleroma/pleroma-fe!614
This commit is contained in:
commit
d5348c13ff
2 changed files with 13 additions and 1 deletions
|
@ -303,6 +303,8 @@ const addNewNotifications = (state, { dispatch, notifications, older, visibleNot
|
||||||
setTimeout(notification.close.bind(notification), 5000)
|
setTimeout(notification.close.bind(notification), 5000)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (notification.seen) {
|
||||||
|
state.notifications.idStore[notification.id].seen = true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,17 @@ const fetchAndUpdate = ({store, credentials, older = false}) => {
|
||||||
args['until'] = timelineData.minId
|
args['until'] = timelineData.minId
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
args['since'] = timelineData.maxId
|
// load unread notifications repeadedly to provide consistency between browser tabs
|
||||||
|
const notifications = timelineData.data
|
||||||
|
const unread = notifications.filter(n => !n.seen).map(n => n.id)
|
||||||
|
if (!unread.length) {
|
||||||
|
args['since'] = timelineData.maxId
|
||||||
|
} else {
|
||||||
|
args['since'] = Math.min(...unread) - 1
|
||||||
|
if (timelineData.maxId !== Math.max(...unread)) {
|
||||||
|
args['until'] = Math.max(...unread, args['since'] + 20)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
args['timeline'] = 'notifications'
|
args['timeline'] = 'notifications'
|
||||||
|
|
Loading…
Reference in a new issue