3
0

Improve unread message counting (no deleted, chan. events)

This commit is contained in:
Denis Arh 2019-01-17 08:00:10 +01:00
parent 2e875ee212
commit 590aab7bd4
2 changed files with 13 additions and 6 deletions

View File

@ -69,7 +69,12 @@ const (
sqlThreadParticipantsByMessageID = "SELECT DISTINCT reply_to, rel_user FROM messages WHERE reply_to IN (?)"
sqlCountFromMessageID = "SELECT COUNT(*) AS count FROM messages WHERE rel_channel = ? AND reply_to = ? AND id > ?"
sqlCountFromMessageID = "SELECT COUNT(*) AS count " +
"FROM messages " +
"WHERE rel_channel = ? " +
"AND reply_to = ? " +
"AND COALESCE(type, '') NOT IN (?) " +
"AND id > ? AND deleted_at IS NULL"
sqlMessageRepliesIncCount = `UPDATE messages SET replies = replies + 1 WHERE id = ? AND reply_to = 0`
sqlMessageRepliesDecCount = `UPDATE messages SET replies = replies - 1 WHERE id = ? AND reply_to = 0`
@ -195,7 +200,13 @@ func (r *message) FindThreads(filter *types.MessageFilter) (types.MessageSet, er
func (r *message) CountFromMessageID(channelID, threadID, messageID uint64) (uint32, error) {
rval := struct{ Count uint32 }{}
return rval.Count, r.db().Get(&rval, sqlCountFromMessageID, channelID, threadID, messageID)
return rval.Count, r.db().Get(&rval,
sqlCountFromMessageID,
channelID,
threadID,
types.MessageTypeChannelEvent,
messageID,
)
}
func (r *message) PrefillThreadParticipants(mm types.MessageSet) error {

View File

@ -326,10 +326,6 @@ func (svc *message) MarkAsUnread(messageID uint64) (count uint32, err error) {
return
}
// Inc counter so that we take
// this message into account
count++
if message.ReplyTo > 0 {
return svc.unreads.Record(currentUserID, message.ChannelID, message.ReplyTo, messageID, count)
} else {