forked from MirrorHub/synapse
Merge pull request #443 from matrix-org/markjh/commentary
Add commentary for fix in PR #442
This commit is contained in:
commit
910956b0ec
1 changed files with 15 additions and 2 deletions
|
@ -351,14 +351,27 @@ class SyncRestServlet(RestServlet):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
prev_event_id = timeline_event.unsigned.get("replaces_state", None)
|
prev_event_id = timeline_event.unsigned.get("replaces_state", None)
|
||||||
logger.debug("Replacing %s with %s in state dict",
|
|
||||||
timeline_event.event_id, prev_event_id)
|
|
||||||
|
|
||||||
prev_content = timeline_event.unsigned.get('prev_content')
|
prev_content = timeline_event.unsigned.get('prev_content')
|
||||||
prev_sender = timeline_event.unsigned.get('prev_sender')
|
prev_sender = timeline_event.unsigned.get('prev_sender')
|
||||||
|
# Empircally it seems possible for the event to have a
|
||||||
|
# "replaces_state" key but not a prev_content or prev_sender
|
||||||
|
# markjh conjectures that it could be due to the server not
|
||||||
|
# having a copy of that event.
|
||||||
|
# If this is the case the we ignore the previous event. This will
|
||||||
|
# cause the displayname calculations on the client to be incorrect
|
||||||
if prev_event_id is None or not prev_content or not prev_sender:
|
if prev_event_id is None or not prev_content or not prev_sender:
|
||||||
|
logger.debug(
|
||||||
|
"Removing %r from the state dict, as it is missing"
|
||||||
|
" prev_content (prev_event_id=%r)",
|
||||||
|
timeline_event.event_id, prev_event_id
|
||||||
|
)
|
||||||
del result[event_key]
|
del result[event_key]
|
||||||
else:
|
else:
|
||||||
|
logger.debug(
|
||||||
|
"Replacing %r with %r in state dict",
|
||||||
|
timeline_event.event_id, prev_event_id
|
||||||
|
)
|
||||||
result[event_key] = FrozenEvent({
|
result[event_key] = FrozenEvent({
|
||||||
"type": timeline_event.type,
|
"type": timeline_event.type,
|
||||||
"state_key": timeline_event.state_key,
|
"state_key": timeline_event.state_key,
|
||||||
|
|
Loading…
Reference in a new issue