From 2c13b44d3ecdccabbb0e02ca693711b44bfa3d6e Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 26 Apr 2025 18:36:59 +0300 Subject: Teams: fix for loading private chat's history --- protocols/Teams/src/teams_history.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'protocols/Teams/src') diff --git a/protocols/Teams/src/teams_history.cpp b/protocols/Teams/src/teams_history.cpp index e83d660eb4..ced9997b25 100644 --- a/protocols/Teams/src/teams_history.cpp +++ b/protocols/Teams/src/teams_history.cpp @@ -67,8 +67,11 @@ void CTeamsProto::OnSyncConversations(MHttpResponse *response, AsyncHttpRequest case 8: case 2: CMStringA szChatId(it["properties"]["onetoonethreadid"].as_mstring()); - if (!szChatId.IsEmpty() && hContact) + if (!szChatId.IsEmpty() && hContact) { + if (szChatId.Left(3) != "19:") + szChatId.Insert(0, "19:"); setString(hContact, "ChatId", szChatId); + } FetchMissingHistory(it, hContact); } @@ -83,7 +86,11 @@ void CTeamsProto::OnSyncConversations(MHttpResponse *response, AsyncHttpRequest void CTeamsProto::GetServerHistory(MCONTACT hContact, int pageSize, int64_t timestamp, bool bOperative) { - auto *pReq = new AsyncHttpRequest(REQUEST_GET, HOST_DEFAULT, "/users/ME/conversations/" + mir_urlEncode(getId(hContact)) + "/messages", &CTeamsProto::OnGetServerHistory); + CMStringA szChatId(getMStringA(hContact, "ChatId")); + if (szChatId.IsEmpty()) + szChatId = getId(hContact); + + auto *pReq = new AsyncHttpRequest(REQUEST_GET, HOST_DEFAULT, "/users/ME/conversations/" + mir_urlEncode(szChatId) + "/messages", &CTeamsProto::OnGetServerHistory); pReq->hContact = hContact; if (bOperative) pReq->pUserInfo = this; -- cgit v1.2.3