forked from MirrorHub/synapse
Only fetch aliases when publishing rooms
This commit is contained in:
parent
f666fe36d7
commit
f61b2068e6
1 changed files with 14 additions and 14 deletions
|
@ -417,22 +417,22 @@ class DirectoryHandler(BaseHandler):
|
||||||
|
|
||||||
yield self.auth.check_can_change_room_list(room_id, requester.user)
|
yield self.auth.check_can_change_room_list(room_id, requester.user)
|
||||||
|
|
||||||
room_aliases = yield self.store.get_aliases_for_room(room_id)
|
|
||||||
canonical_alias = yield self.store.get_canonical_alias_for_room(room_id)
|
|
||||||
if canonical_alias:
|
|
||||||
room_aliases.append(canonical_alias)
|
|
||||||
|
|
||||||
making_public = visibility == "public"
|
making_public = visibility == "public"
|
||||||
|
if making_public:
|
||||||
|
room_aliases = yield self.store.get_aliases_for_room(room_id)
|
||||||
|
canonical_alias = yield self.store.get_canonical_alias_for_room(room_id)
|
||||||
|
if canonical_alias:
|
||||||
|
room_aliases.append(canonical_alias)
|
||||||
|
|
||||||
if making_public and not self.config.is_publishing_room_allowed(
|
if not self.config.is_publishing_room_allowed(
|
||||||
user_id, room_id, room_aliases,
|
user_id, room_id, room_aliases,
|
||||||
):
|
):
|
||||||
# Lets just return a generic message, as there may be all sorts of
|
# Lets just return a generic message, as there may be all sorts of
|
||||||
# reasons why we said no. TODO: Allow configurable error messages
|
# reasons why we said no. TODO: Allow configurable error messages
|
||||||
# per alias creation rule?
|
# per alias creation rule?
|
||||||
raise SynapseError(
|
raise SynapseError(
|
||||||
403, "Not allowed to publish room",
|
403, "Not allowed to publish room",
|
||||||
)
|
)
|
||||||
|
|
||||||
yield self.store.set_room_is_public(room_id, making_public)
|
yield self.store.set_room_is_public(room_id, making_public)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue