2 files changed, 7 insertions, 1 deletions
diff --git a/synapse/util/async.py b/synapse/util/async.py
index 3d3fbe182c..1219d927db 100644
--- a/synapse/util/async.py
+++ b/synapse/util/async.py
@@ -24,3 +24,9 @@ def sleep(seconds):
reactor.callLater(seconds, d.callback, seconds)
with PreserveLoggingContext():
yield d
+
+def run_on_reactor():
+ """ This will cause the rest of the function to be invoked upon the next
+ iteration of the main loop
+ """
+ return sleep(0)
diff --git a/synapse/util/jsonobject.py b/synapse/util/jsonobject.py
index c91eb897a8..e79b68f661 100644
--- a/synapse/util/jsonobject.py
+++ b/synapse/util/jsonobject.py
@@ -80,7 +80,7 @@ class JsonEncodedObject(object):
def get_full_dict(self):
d = {
- k: v for (k, v) in self.__dict__.items()
+ k: _encode(v) for (k, v) in self.__dict__.items()
if k in self.valid_keys or k in self.internal_keys
}
d.update(self.unrecognized_keys)
|