Compare commits

...

3 Commits

Author SHA1 Message Date
Half-Shot
41ade8b834 changelog 2022-04-03 11:46:31 +01:00
Half-Shot
79891c5578 Add "org.matrix.msc3759.deactivated" to leave events 2022-04-03 11:40:36 +01:00
Half-Shot
6d587670ca Add new configuration 2022-04-03 11:40:18 +01:00
3 changed files with 16 additions and 0 deletions

View File

@@ -0,0 +1 @@
Include `org.matrix.msc3759.deactivated` in deactivation leave events as specified by [MSC3759](https://github.com/matrix-org/matrix-spec-proposals/pull/3759), using unstable prefixes. The `msc3759_enabled` experimental homeserver config option must be enabled for this key to be included.

View File

@@ -81,3 +81,6 @@ class ExperimentalConfig(Config):
# MSC2654: Unread counts
self.msc2654_enabled: bool = experimental.get("msc2654_enabled", False)
# MSC3759: Leave event metadata for deactivated users
self.msc3759_enabled: bool = experimental.get("msc3759_enabled", False)

View File

@@ -192,6 +192,11 @@ class DeactivateAccountHandler:
"""
user = UserID.from_string(user_id)
pending_invites = await self.store.get_invited_rooms_for_local_user(user_id)
extra_content = (
{"org.matrix.msc3759.deactivated": True}
if self.hs.config.experimental.msc3759_enabled
else None
)
for room in pending_invites:
try:
@@ -202,6 +207,7 @@ class DeactivateAccountHandler:
"leave",
ratelimit=False,
require_consent=False,
content=extra_content,
)
logger.info(
"Rejected invite for deactivated user %r in room %r",
@@ -246,6 +252,11 @@ class DeactivateAccountHandler:
user = UserID.from_string(user_id)
rooms_for_user = await self.store.get_rooms_for_user(user_id)
extra_content = (
{"org.matrix.msc3759.deactivated": True}
if self.hs.config.experimental.msc3759_enabled
else None
)
for room_id in rooms_for_user:
logger.info("User parter parting %r from %r", user_id, room_id)
try:
@@ -256,6 +267,7 @@ class DeactivateAccountHandler:
"leave",
ratelimit=False,
require_consent=False,
content=extra_content,
)
except Exception:
logger.exception(