From c6f1368160d347c4f7e4900e970ba5b6661b49d6 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:03:37 +0400 Subject: [PATCH] correctly set member version range, dont include deleted items --- src/Simplex/Chat/Store/Groups.hs | 2 +- src/Simplex/Chat/Store/Messages.hs | 4 +++- src/Simplex/Chat/Types.hs | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Simplex/Chat/Store/Groups.hs b/src/Simplex/Chat/Store/Groups.hs index 302f9bbb56..746d7df12b 100644 --- a/src/Simplex/Chat/Store/Groups.hs +++ b/src/Simplex/Chat/Store/Groups.hs @@ -150,7 +150,7 @@ type MaybeGroupMemberRow = ((Maybe Int64, Maybe Int64, Maybe MemberId, Maybe Ver toGroupInfo :: Int64 -> GroupInfoRow -> GroupInfo toGroupInfo userContactId ((groupId, localDisplayName, displayName, fullName, description, image, hostConnCustomUserProfileId, enableNtfs_, sendRcpts, favorite, groupPreferences) :. (createdAt, updatedAt, chatTs) :. userMemberRow) = - let membership = toGroupMember userContactId userMemberRow + let membership = (toGroupMember userContactId userMemberRow) {memberChatVRange = JVersionRange supportedChatVRange} chatSettings = ChatSettings {enableNtfs = fromMaybe MFAll enableNtfs_, sendRcpts, favorite} fullGroupPreferences = mergeGroupPreferences groupPreferences groupProfile = GroupProfile {displayName, fullName, description, image, groupPreferences} diff --git a/src/Simplex/Chat/Store/Messages.hs b/src/Simplex/Chat/Store/Messages.hs index 3429a24aaf..82acd646c7 100644 --- a/src/Simplex/Chat/Store/Messages.hs +++ b/src/Simplex/Chat/Store/Messages.hs @@ -2092,7 +2092,9 @@ getGroupHistoryLastItems db user@User {userId} GroupInfo {groupId} count = do [sql| SELECT chat_item_id FROM chat_items - WHERE user_id = ? AND group_id = ? AND item_content_tag IN (?,?) + WHERE user_id = ? AND group_id = ? + AND item_content_tag IN (?,?) + AND item_deleted = 0 ORDER BY item_ts DESC, chat_item_id DESC LIMIT ? |] diff --git a/src/Simplex/Chat/Types.hs b/src/Simplex/Chat/Types.hs index 4157c85c34..de2dfa8b58 100644 --- a/src/Simplex/Chat/Types.hs +++ b/src/Simplex/Chat/Types.hs @@ -627,7 +627,8 @@ data GroupMember = GroupMember memberContactProfileId :: ProfileId, activeConn :: Maybe Connection, -- member chat protocol version range; if member has active connection, its version range is preferred; - -- for membership current supportedChatVRange is set, it's not updated on protocol version increase + -- for membership current supportedChatVRange is set, it's not updated on protocol version increase in database, + -- but it's correctly set on read (see toGroupInfo) memberChatVRange :: JVersionRange } deriving (Eq, Show)