mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-02-26 09:41:29 -05:00
fixed count of unread/new posts by not counting older versions
This commit is contained in:
parent
0321037eb8
commit
162095bf20
@ -1576,11 +1576,20 @@ bool RsGxsDataAccess::getGroupStatistic(GroupStatisticRequest *req)
|
|||||||
req->mGroupStatistic.mNumChildMsgsNew = 0;
|
req->mGroupStatistic.mNumChildMsgsNew = 0;
|
||||||
req->mGroupStatistic.mNumChildMsgsUnread = 0;
|
req->mGroupStatistic.mNumChildMsgsUnread = 0;
|
||||||
|
|
||||||
|
std::set<RsGxsMessageId> obsolete_msgs ; // stored message ids that are referred to as older versions of an existing message
|
||||||
|
|
||||||
|
for(uint32_t i = 0; i < msgMetaV.size(); ++i)
|
||||||
|
if(!msgMetaV[i]->mOrigMsgId.isNull() && msgMetaV[i]->mOrigMsgId!=msgMetaV[i]->mMsgId)
|
||||||
|
obsolete_msgs.insert(msgMetaV[i]->mOrigMsgId);
|
||||||
|
|
||||||
for(uint32_t i = 0; i < msgMetaV.size(); ++i)
|
for(uint32_t i = 0; i < msgMetaV.size(); ++i)
|
||||||
{
|
{
|
||||||
RsGxsMsgMetaData* m = msgMetaV[i];
|
RsGxsMsgMetaData* m = msgMetaV[i];
|
||||||
req->mGroupStatistic.mTotalSizeOfMsgs += m->mMsgSize + m->serial_size();
|
req->mGroupStatistic.mTotalSizeOfMsgs += m->mMsgSize + m->serial_size();
|
||||||
|
|
||||||
|
if(obsolete_msgs.find(m->mMsgId) != obsolete_msgs.end()) // skip obsolete messages.
|
||||||
|
continue;
|
||||||
|
|
||||||
if (IS_MSG_NEW(m->mMsgStatus))
|
if (IS_MSG_NEW(m->mMsgStatus))
|
||||||
{
|
{
|
||||||
if (m->mParentId.isNull())
|
if (m->mParentId.isNull())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user