Skip to content

Commit

Permalink
Add comment to explain extra case where you can be banned -> unbanned
Browse files Browse the repository at this point in the history
  • Loading branch information
MadLittleMods committed Sep 3, 2024
1 parent fc10d38 commit a6584ae
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions synapse/storage/databases/main/events_bg_updates.py
Original file line number Diff line number Diff line change
Expand Up @@ -1963,7 +1963,7 @@ def _find_memberships_to_update_txn(
)
return 0

def _find_previous_membership_txn(
def _find_previous_invite_or_knock_membership_txn(
txn: LoggingTransaction, room_id: str, user_id: str, event_id: str
) -> Tuple[str, str]:
# Find the previous invite/knock event before the leave event
Expand Down Expand Up @@ -2004,6 +2004,10 @@ def _find_previous_membership_txn(
(
room_id,
user_id,
# We look explicitely for `invite` and `knock` events instead of
# just their previous membership as someone could have been `invite`
# -> `ban` -> unbanned (`leave`) and we want to find the `invite`
# event where the stripped state is.
Membership.INVITE,
Membership.KNOCK,
event_id,
Expand Down Expand Up @@ -2152,8 +2156,8 @@ def _find_previous_membership_txn(
invite_or_knock_event_id,
invite_or_knock_membership,
) = await self.db_pool.runInteraction(
"sliding_sync_membership_snapshots_bg_update._find_previous_membership",
_find_previous_membership_txn,
"sliding_sync_membership_snapshots_bg_update._find_previous_invite_or_knock_membership_txn",
_find_previous_invite_or_knock_membership_txn,
room_id,
user_id,
membership_event_id,
Expand Down

0 comments on commit a6584ae

Please sign in to comment.