mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-09-17 08:05:23 +00:00
core: announce added relay (#6956)
This commit is contained in:
@@ -1381,7 +1381,12 @@ getCreateRelayForMember db vr gVar user@User {userId, userContactId} GroupInfo {
|
||||
maybeFirstRow (toContactMember vr user) $
|
||||
DB.query
|
||||
db
|
||||
(groupMemberQuery <> " WHERE m.group_id = ? AND m.relay_link = ?")
|
||||
#if defined(dbPostgres)
|
||||
(groupMemberQuery <> " WHERE m.group_id = ? AND m.relay_link = ? AND is_current_member(m.member_status)")
|
||||
#else
|
||||
-- skips GSMemLeft historical rows so re-add allocates a fresh row instead of resurrecting
|
||||
(groupMemberQuery <> " JOIN group_member_status_predicates sp ON m.member_status = sp.member_status WHERE m.group_id = ? AND m.relay_link = ? AND sp.current_member = 1")
|
||||
#endif
|
||||
(groupId, relayLink)
|
||||
createRelayMember = do
|
||||
currentTs <- liftIO getCurrentTime
|
||||
@@ -1839,12 +1844,12 @@ updatePublicMemberCount db vr user GroupInfo {groupId} = do
|
||||
relayCount <- fromMaybe 0 <$> maybeFirstRow fromOnly
|
||||
(DB.query
|
||||
db
|
||||
[sql|
|
||||
SELECT COUNT(1) FROM group_members
|
||||
WHERE group_id = ? AND member_role = ?
|
||||
AND member_status IN (?,?,?,?,?,?,?)
|
||||
|]
|
||||
(groupId, GRRelay, GSMemIntroduced, GSMemIntroInvited, GSMemAccepted, GSMemAnnounced, GSMemConnected, GSMemComplete, GSMemCreator))
|
||||
#if defined(dbPostgres)
|
||||
"SELECT COUNT(1) FROM group_members WHERE group_id = ? AND member_role = ? AND is_current_member(member_status)"
|
||||
#else
|
||||
"SELECT COUNT(1) FROM group_members m JOIN group_member_status_predicates sp ON m.member_status = sp.member_status WHERE m.group_id = ? AND m.member_role = ? AND sp.current_member = 1"
|
||||
#endif
|
||||
(groupId, GRRelay))
|
||||
let publicCount = max 0 (totalCount - relayCount) :: Int64
|
||||
currentTs <- getCurrentTime
|
||||
DB.execute db "UPDATE groups SET public_member_count = ?, updated_at = ? WHERE group_id = ?" (publicCount, currentTs, groupId)
|
||||
|
||||
Reference in New Issue
Block a user