core: fix member version range not being correctly updated in some cases (fixes introducing owner to member in review, when host admin was invited via owner's link; likely fixes other interactions that check version) (#6208)

* core: fix introducing owner to member in review

* fix

* remove diff

* unfocus

* plans
This commit is contained in:
spaced4ndy
2025-08-20 11:00:11 +00:00
committed by GitHub
parent 6941539f25
commit 0046fc27fe
3 changed files with 113 additions and 2 deletions

View File

@@ -1326,9 +1326,9 @@ updatePeerChatVRange conn@Connection {connId, connChatVersion = v, peerChatVRang
else pure conn'
updateMemberChatVRange :: GroupMember -> Connection -> VersionRangeChat -> CM (GroupMember, Connection)
updateMemberChatVRange mem@GroupMember {groupMemberId} conn@Connection {connId, connChatVersion = v, peerChatVRange} msgVRange = do
updateMemberChatVRange mem@GroupMember {groupMemberId, memberChatVRange} conn@Connection {connId, connChatVersion = v, peerChatVRange} msgVRange = do
v' <- lift $ upgradedConnVersion v msgVRange
if msgVRange /= peerChatVRange || v' /= v
if msgVRange /= peerChatVRange || v' /= v || msgVRange /= memberChatVRange
then do
withStore' $ \db -> do
setPeerChatVRange db connId v' msgVRange

View File

@@ -4552,6 +4552,14 @@ Query:
Plan:
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
Query:
UPDATE group_members
SET peer_chat_min_version = ?, peer_chat_max_version = ?
WHERE group_member_id = ?
Plan:
SEARCH group_members USING INTEGER PRIMARY KEY (rowid=?)
Query:
UPDATE group_members
SET show_messages = ?, updated_at = ?