diff options
author | George Hazan <george.hazan@gmail.com> | 2024-04-18 19:03:20 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-04-18 19:03:24 +0300 |
commit | 4ab75b1f53d04276b0658a710005f91d74018ab4 (patch) | |
tree | aabb7232bb28d3b5efca7aa67bcf2df0f929374a /protocols | |
parent | 2ac29594d76f2cf75b59aa1889568bf742a24916 (diff) |
db_event_delivered support for Telegram & ICQ
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/ICQ-WIM/src/server.cpp | 3 | ||||
-rw-r--r-- | protocols/Telegram/src/avatars.cpp | 3 | ||||
-rw-r--r-- | protocols/Telegram/src/server.cpp | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/protocols/ICQ-WIM/src/server.cpp b/protocols/ICQ-WIM/src/server.cpp index 3dca2f8a6c..0d44af1811 100644 --- a/protocols/ICQ-WIM/src/server.cpp +++ b/protocols/ICQ-WIM/src/server.cpp @@ -96,6 +96,9 @@ MCONTACT CIcqProto::CheckOwnMessage(const CMStringA &reqId, const CMStringA &msg ProtoChainRecvMsg(pOwn->m_hContact, dbei);
}
+ if (auto hDbEvent = db_event_getById(m_szModuleName, msgId))
+ db_event_delivered(pOwn->m_hContact, hDbEvent);
+
if (bRemove) {
mir_cslock lck(m_csOwnIds);
m_arOwnIds.remove(pOwn);
diff --git a/protocols/Telegram/src/avatars.cpp b/protocols/Telegram/src/avatars.cpp index dcfa894ced..3afcdc4ea2 100644 --- a/protocols/Telegram/src/avatars.cpp +++ b/protocols/Telegram/src/avatars.cpp @@ -314,6 +314,9 @@ void CTelegramProto::ProcessFile(TD::updateFile *pObj) DBVARIANT dbv = { DBVT_UTF8 };
dbv.pszVal = (char *)pRemote->id_.c_str();
db_event_setJson(hDbEvent, "u", &dbv);
+
+ // file is uploaded to the server
+ db_event_delivered(it->hContact, hDbEvent);
}
}
return;
diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 2b2e1a4e63..d5755cbed1 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -281,9 +281,12 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response) TG_OWN_MESSAGE tmp(0, 0, szOldId);
if (auto *pOwnMsg = m_arOwnMsg.find(&tmp)) {
+ auto szMsgId = msg2id(pMessage);
if (pOwnMsg->hAck)
- ProtoBroadcastAck(pOwnMsg->hContact ? pOwnMsg->hContact : m_iSavedMessages, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, pOwnMsg->hAck, (LPARAM)msg2id(pMessage).c_str());
+ ProtoBroadcastAck(pOwnMsg->hContact ? pOwnMsg->hContact : m_iSavedMessages, ACKTYPE_MESSAGE, ACKRESULT_SUCCESS, pOwnMsg->hAck, (LPARAM)szMsgId.c_str());
+ if (auto hDbEvent = db_event_getById(m_szModuleName, szMsgId))
+ db_event_delivered(pOwnMsg->hContact, hDbEvent);
m_arOwnMsg.remove(pOwnMsg);
}
}
|