mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 12:36:02 -04:00
Rename key and values for m.room.history_visibility. Support 'invited' value
This commit is contained in:
parent
c3e2600c67
commit
fb47c3cfbe
4 changed files with 61 additions and 24 deletions
|
@ -239,22 +239,28 @@ class FederationHandler(BaseHandler):
|
|||
return event
|
||||
|
||||
history = state.get((EventTypes.RoomHistoryVisibility, ''), None)
|
||||
if history and history.content.get("visibility", None) == "after_join":
|
||||
for ev in state.values():
|
||||
if ev.type != EventTypes.Member:
|
||||
continue
|
||||
try:
|
||||
domain = UserID.from_string(ev.state_key).domain
|
||||
except:
|
||||
continue
|
||||
if history:
|
||||
visibility = history.content.get("history_visibility", "shared")
|
||||
if visibility in ["invited", "joined"]:
|
||||
for ev in state.values():
|
||||
if ev.type != EventTypes.Member:
|
||||
continue
|
||||
try:
|
||||
domain = UserID.from_string(ev.state_key).domain
|
||||
except:
|
||||
continue
|
||||
|
||||
if domain != server_name:
|
||||
continue
|
||||
if domain != server_name:
|
||||
continue
|
||||
|
||||
if ev.membership == Membership.JOIN:
|
||||
return event
|
||||
else:
|
||||
return prune_event(event)
|
||||
memtype = ev.membership
|
||||
if memtype == Membership.JOIN:
|
||||
return event
|
||||
elif memtype == Membership.INVITE:
|
||||
if visibility == "invited":
|
||||
return event
|
||||
else:
|
||||
return prune_event(event)
|
||||
|
||||
return event
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue