mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-05-02 09:06:06 -04:00
Add m.room.deletion. If an event is deleted it will be returned to clients 'pruned', i.e. all client specified keys will be removed.
This commit is contained in:
parent
231afe464a
commit
78af6bbb98
9 changed files with 144 additions and 21 deletions
|
@ -22,7 +22,7 @@ def serialize_event(hs, e):
|
|||
if not isinstance(e, SynapseEvent):
|
||||
return e
|
||||
|
||||
d = e.get_dict()
|
||||
d = {k: v for k, v in e.get_dict().items() if v is not None or v is not False}
|
||||
if "age_ts" in d:
|
||||
d["age"] = int(hs.get_clock().time_msec()) - d["age_ts"]
|
||||
del d["age_ts"]
|
||||
|
@ -58,17 +58,19 @@ class SynapseEvent(JsonEncodedObject):
|
|||
"required_power_level",
|
||||
"age_ts",
|
||||
"prev_content",
|
||||
"prev_state",
|
||||
"pruned",
|
||||
]
|
||||
|
||||
internal_keys = [
|
||||
"is_state",
|
||||
"prev_events",
|
||||
"prev_state",
|
||||
"depth",
|
||||
"destinations",
|
||||
"origin",
|
||||
"outlier",
|
||||
"power_level",
|
||||
"deleted",
|
||||
]
|
||||
|
||||
required_keys = [
|
||||
|
|
|
@ -17,7 +17,8 @@ from synapse.api.events.room import (
|
|||
RoomTopicEvent, MessageEvent, RoomMemberEvent, FeedbackEvent,
|
||||
InviteJoinEvent, RoomConfigEvent, RoomNameEvent, GenericEvent,
|
||||
RoomPowerLevelsEvent, RoomJoinRulesEvent, RoomOpsPowerLevelsEvent,
|
||||
RoomCreateEvent, RoomAddStateLevelEvent, RoomSendEventLevelEvent
|
||||
RoomCreateEvent, RoomAddStateLevelEvent, RoomSendEventLevelEvent,
|
||||
RoomDeletionEvent,
|
||||
)
|
||||
|
||||
from synapse.util.stringutils import random_string
|
||||
|
@ -39,6 +40,7 @@ class EventFactory(object):
|
|||
RoomAddStateLevelEvent,
|
||||
RoomSendEventLevelEvent,
|
||||
RoomOpsPowerLevelsEvent,
|
||||
RoomDeletionEvent,
|
||||
]
|
||||
|
||||
def __init__(self, hs):
|
||||
|
|
|
@ -180,3 +180,12 @@ class RoomAliasesEvent(SynapseStateEvent):
|
|||
|
||||
def get_content_template(self):
|
||||
return {}
|
||||
|
||||
|
||||
class RoomDeletionEvent(SynapseEvent):
|
||||
TYPE = "m.room.deletion"
|
||||
|
||||
valid_keys = SynapseEvent.valid_keys + ["deletes"]
|
||||
|
||||
def get_content_template(self):
|
||||
return {}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue