summary refs log tree commit diff
path: root/synapse/events/utils.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-01-22 13:35:34 +0000
committerErik Johnston <erik@matrix.org>2015-01-22 13:35:34 +0000
commit7f058c5ff743e2cf563b9aa5436ee9801a14e633 (patch)
tree8ef0270ede93c304b0859c4e8fba49b9581b2514 /synapse/events/utils.py
parentAdd twisted Service interface (diff)
parentMove experiments, graph and cmdclient into contrib (diff)
downloadsynapse-7f058c5ff743e2cf563b9aa5436ee9801a14e633.tar.xz
Merge branch 'develop' of github.com:matrix-org/synapse into erikj-perf
Conflicts:
	synapse/app/homeserver.py
Diffstat (limited to 'synapse/events/utils.py')
-rw-r--r--synapse/events/utils.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/synapse/events/utils.py b/synapse/events/utils.py
index 4f4914467c..bcb5457278 100644
--- a/synapse/events/utils.py
+++ b/synapse/events/utils.py
@@ -89,16 +89,24 @@ def prune_event(event):
     return type(event)(allowed_fields)
 
 
-def serialize_event(hs, e):
+def serialize_event(hs, e, client_event=True):
     # FIXME(erikj): To handle the case of presence events and the like
     if not isinstance(e, EventBase):
         return e
 
     # Should this strip out None's?
     d = {k: v for k, v in e.get_dict().items()}
+
+    if not client_event:
+        # set the age and keep all other keys
+        if "age_ts" in d["unsigned"]:
+            now = int(hs.get_clock().time_msec())
+            d["unsigned"]["age"] = now - d["unsigned"]["age_ts"]
+        return d
+
     if "age_ts" in d["unsigned"]:
         now = int(hs.get_clock().time_msec())
-        d["unsigned"]["age"] = now - d["unsigned"]["age_ts"]
+        d["age"] = now - d["unsigned"]["age_ts"]
         del d["unsigned"]["age_ts"]
 
     d["user_id"] = d.pop("sender", None)