Rename key and values for m.room.history_visibility. Support 'invited' value

This commit is contained in:
Erik Johnston 2015-07-06 13:05:52 +01:00
parent c3e2600c67
commit fb47c3cfbe
4 changed files with 61 additions and 24 deletions

View file

@ -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