From 95bd456620d632b1d677b28e59e53eb60a2029d4 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 4 Jan 2019 11:55:35 +0300 Subject: ICQ: we don't load whole history on first run --- protocols/Icq10/src/server.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'protocols/Icq10/src/server.cpp') diff --git a/protocols/Icq10/src/server.cpp b/protocols/Icq10/src/server.cpp index 5e091d6921..d11e2301ac 100644 --- a/protocols/Icq10/src/server.cpp +++ b/protocols/Icq10/src/server.cpp @@ -623,11 +623,13 @@ void CIcqProto::ProcessHistData(const JSONNode &ev) __int64 lastMsgId = getId(hContact, "LastMsgId"); __int64 srvlastId = _wtoi64(ev["lastMsgId"].as_mstring()); - if (srvlastId > lastMsgId) + + // on first start we don't load history not to create dups + if (lastMsgId == 0) + setId(hContact, "LastMsgId", srvlastId); + // or load missing messages if any + else if (srvlastId > lastMsgId) RetrieveUserHistory(hContact, srvlastId, lastMsgId); - - for (auto &it : ev["tail"]["messages"]) - ParseMessage(hContact, it); } void CIcqProto::ProcessMyInfo(const JSONNode &ev) -- cgit v1.2.3