forked from MirrorHub/synapse
Fix prev_content
This commit is contained in:
parent
e72b16f9a3
commit
9191292b0f
3 changed files with 16 additions and 3 deletions
|
@ -113,6 +113,14 @@ def serialize_event(hs, e):
|
||||||
d["redacted_by"] = e.unsigned["redacted_by"]
|
d["redacted_by"] = e.unsigned["redacted_by"]
|
||||||
del d["unsigned"]["redacted_by"]
|
del d["unsigned"]["redacted_by"]
|
||||||
|
|
||||||
|
if "replaces_state" in e.unsigned:
|
||||||
|
d["replaces_state"] = e.unsigned["replaces_state"]
|
||||||
|
del d["unsigned"]["replaces_state"]
|
||||||
|
|
||||||
|
if "prev_content" in e.unsigned:
|
||||||
|
d["prev_content"] = e.unsigned["prev_content"]
|
||||||
|
del d["unsigned"]["prev_content"]
|
||||||
|
|
||||||
del d["auth_events"]
|
del d["auth_events"]
|
||||||
del d["prev_events"]
|
del d["prev_events"]
|
||||||
del d["hashes"]
|
del d["hashes"]
|
||||||
|
|
|
@ -487,6 +487,12 @@ class SQLBaseStore(object):
|
||||||
if because:
|
if because:
|
||||||
ev.unsigned["redacted_because"] = because
|
ev.unsigned["redacted_because"] = because
|
||||||
|
|
||||||
|
if "replaces_state" in ev.unsigned:
|
||||||
|
ev.unsigned["prev_content"] = self._get_event_txn(
|
||||||
|
txn,
|
||||||
|
ev.unsigned["replaces_state"],
|
||||||
|
).get_dict()["content"]
|
||||||
|
|
||||||
return ev
|
return ev
|
||||||
|
|
||||||
def _parse_events(self, rows):
|
def _parse_events(self, rows):
|
||||||
|
|
|
@ -58,7 +58,7 @@ class StreamStoreTestCase(unittest.TestCase):
|
||||||
self.depth = 1
|
self.depth = 1
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def inject_room_member(self, room, user, membership, replaces_state=None):
|
def inject_room_member(self, room, user, membership):
|
||||||
self.depth += 1
|
self.depth += 1
|
||||||
|
|
||||||
builder = self.event_builder_factory.new({
|
builder = self.event_builder_factory.new({
|
||||||
|
@ -215,7 +215,6 @@ class StreamStoreTestCase(unittest.TestCase):
|
||||||
|
|
||||||
event2 = yield self.inject_room_member(
|
event2 = yield self.inject_room_member(
|
||||||
self.room1, self.u_alice, Membership.JOIN,
|
self.room1, self.u_alice, Membership.JOIN,
|
||||||
replaces_state=event1.event_id,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
end = yield self.store.get_room_events_max_id()
|
end = yield self.store.get_room_events_max_id()
|
||||||
|
@ -233,6 +232,6 @@ class StreamStoreTestCase(unittest.TestCase):
|
||||||
event = results[0]
|
event = results[0]
|
||||||
|
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
hasattr(event, "prev_content"),
|
"prev_content" in event.unsigned,
|
||||||
msg="No prev_content key"
|
msg="No prev_content key"
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue