diff options
author | ElzorFox <elzorfox@ya.ru> | 2022-12-16 15:26:10 +0500 |
---|---|---|
committer | ElzorFox <elzorfox@ya.ru> | 2022-12-16 15:26:10 +0500 |
commit | 483fcc6dd94ab81278143a07b19be585a161aa4c (patch) | |
tree | b5e6b88b0d628ba58e357776488349c13d6b936a /protocols/VKontakte | |
parent | ac2cfbd42fe8ee343c40aef7c4198e257df1ec98 (diff) |
VKontakte:
fix load history for groupchats on startup protocol - fix server store procedure (RetrieveChatInfo v3)
fix groupchat message processing on empty history
version bump
Diffstat (limited to 'protocols/VKontakte')
-rw-r--r-- | protocols/VKontakte/src/version.h | 2 | ||||
-rw-r--r-- | protocols/VKontakte/src/vk_chats.cpp | 7 | ||||
-rw-r--r-- | protocols/VKontakte/src/vkjs.js | 14 |
3 files changed, 15 insertions, 8 deletions
diff --git a/protocols/VKontakte/src/version.h b/protocols/VKontakte/src/version.h index b399bebac4..0c2eac2d1f 100644 --- a/protocols/VKontakte/src/version.h +++ b/protocols/VKontakte/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 0
#define __MINOR_VERSION 1
#define __RELEASE_NUM 14
-#define __BUILD_NUM 0
+#define __BUILD_NUM 1
#include <stdver.h>
diff --git a/protocols/VKontakte/src/vk_chats.cpp b/protocols/VKontakte/src/vk_chats.cpp index 7811a75114..6b05135d02 100644 --- a/protocols/VKontakte/src/vk_chats.cpp +++ b/protocols/VKontakte/src/vk_chats.cpp @@ -245,11 +245,12 @@ void CVkProto::OnReceiveChatInfo(NETLIBHTTPREQUEST *reply, AsyncHttpRequest *pRe break;
AppendChatConversationMessage(cc->m_iChatId, jnMsg, jnFUsers, true);
- }
- cc->m_bHistoryRead = true;
+ }
}
}
+ cc->m_bHistoryRead = true;
+
for (auto &p : cc->m_msgs)
AppendChatMessage(cc, p->m_uid, p->m_date, p->m_wszBody, p->m_bHistory, p->m_bIsAction);
@@ -275,7 +276,7 @@ void CVkProto::SetChatTitle(CVkChatInfo *cc, LPCWSTR wszTopic) void CVkProto::AppendChatConversationMessage(int id, const JSONNode& jnMsg, const JSONNode& jnFUsers, bool bIsHistory)
{
- debugLogA("CVkProto::AppendChatMessage");
+ debugLogA("CVkProto::AppendChatConversationMessage");
CVkChatInfo* cc = AppendConversationChat(id, nullNode);
if (cc == nullptr)
return;
diff --git a/protocols/VKontakte/src/vkjs.js b/protocols/VKontakte/src/vkjs.js index 946109c4ae..2392c2eeb9 100644 --- a/protocols/VKontakte/src/vkjs.js +++ b/protocols/VKontakte/src/vkjs.js @@ -337,13 +337,14 @@ return { "info": Info, "users": ChatUsers, "msgs": ChatMsg, "fwd_users": FUsers, // ver 3 var Info = API.messages.getChat({ "chat_id": Args.chatid }); -var ChatUsers = API.messages.getConversationMembers({ "peer_id": 2000000000 + parseInt(Args.chatid), "fields": "id,first_name,last_name" }); -var ChatMsg = API.messages.getHistory({ "chat_id": Args.chatid, "count": 20, "rev": 0 }); +var PeerId = 2000000000 + parseInt(Args.chatid); +var ChatUsers = API.messages.getConversationMembers({ "peer_id": PeerId, "fields": "id,first_name,last_name" }); +var ChatMsg = API.messages.getHistory({ "peer_id": PeerId, "count": 20, "rev": 0 }); var UR = parseInt(ChatMsg.unread); if (UR > 20) { if (UR > 200) UR = 200; - ChatMsg = API.messages.getHistory({ "chat_id": Args.chatid, "count": UR, "rev": 0 }); + ChatMsg = API.messages.getHistory({ "peer_id": PeerId, "count": UR, "rev": 0 }); }; var FMsgs = ChatMsg.items@.fwd_messages; var Idx = 0; @@ -365,11 +366,16 @@ while (Idx < FMsgs.length) { var FUsers = API.users.get({ "user_ids": Uids, "name_case": "gen" }); var GUsers = []; if(GUids.length>0){ - GUsers = API.groups.getById({ "group_ids": GUids }); + GUsers = API.groups.getById({ "group_ids": GUids }); }; var MsgUsers = API.users.get({ "user_ids": ChatMsg.items@.from_id, "fields":"id,first_name,last_name"}); return { "info": Info, "users": ChatUsers, "msgs": ChatMsg, "fwd_users": FUsers + GUsers, "msgs_users": MsgUsers}; + + +var Info=API.messages.getChat({"chat_id": Args.chatid}); +var ChatUsers=API.messages.getChatUsers({"chat_id":Args.chatid,"fields":"id,first_name,last_name"}); +return {"info":Info,"users":ChatUsers}; // Stored procedure name: RetrieveChatInfo = End // Stored procedure name: DestroyKickChat = Begin |