mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-24 18:45:52 +03:00
Round Presence mtime and mtime_age to nearest msec; avoids floats for msec values over the wire
This commit is contained in:
parent
e4061383b8
commit
0fa05ea331
1 changed files with 15 additions and 5 deletions
|
@ -177,7 +177,9 @@ class PresenceHandler(BaseHandler):
|
||||||
state = self._get_or_offline_usercache(target_user).get_state()
|
state = self._get_or_offline_usercache(target_user).get_state()
|
||||||
|
|
||||||
if "mtime" in state:
|
if "mtime" in state:
|
||||||
state["mtime_age"] = self.clock.time_msec() - state.pop("mtime")
|
state["mtime_age"] = int(
|
||||||
|
self.clock.time_msec() - state.pop("mtime")
|
||||||
|
)
|
||||||
defer.returnValue(state)
|
defer.returnValue(state)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
|
@ -367,7 +369,9 @@ class PresenceHandler(BaseHandler):
|
||||||
p["observed_user"] = observed_user
|
p["observed_user"] = observed_user
|
||||||
p.update(self._get_or_offline_usercache(observed_user).get_state())
|
p.update(self._get_or_offline_usercache(observed_user).get_state())
|
||||||
if "mtime" in p:
|
if "mtime" in p:
|
||||||
p["mtime_age"] = self.clock.time_msec() - p.pop("mtime")
|
p["mtime_age"] = int(
|
||||||
|
self.clock.time_msec() - p.pop("mtime")
|
||||||
|
)
|
||||||
|
|
||||||
defer.returnValue(presence)
|
defer.returnValue(presence)
|
||||||
|
|
||||||
|
@ -560,7 +564,9 @@ class PresenceHandler(BaseHandler):
|
||||||
|
|
||||||
if "mtime" in state:
|
if "mtime" in state:
|
||||||
state = dict(state)
|
state = dict(state)
|
||||||
state["mtime_age"] = self.clock.time_msec() - state.pop("mtime")
|
state["mtime_age"] = int(
|
||||||
|
self.clock.time_msec() - state.pop("mtime")
|
||||||
|
)
|
||||||
|
|
||||||
yield self.federation.send_edu(
|
yield self.federation.send_edu(
|
||||||
destination=destination,
|
destination=destination,
|
||||||
|
@ -598,7 +604,9 @@ class PresenceHandler(BaseHandler):
|
||||||
del state["user_id"]
|
del state["user_id"]
|
||||||
|
|
||||||
if "mtime_age" in state:
|
if "mtime_age" in state:
|
||||||
state["mtime"] = self.clock.time_msec() - state.pop("mtime_age")
|
state["mtime"] = int(
|
||||||
|
self.clock.time_msec() - state.pop("mtime_age")
|
||||||
|
)
|
||||||
|
|
||||||
statuscache = self._get_or_make_usercache(user)
|
statuscache = self._get_or_make_usercache(user)
|
||||||
|
|
||||||
|
@ -720,6 +728,8 @@ class UserPresenceCache(object):
|
||||||
content["user_id"] = user.to_string()
|
content["user_id"] = user.to_string()
|
||||||
|
|
||||||
if "mtime" in content:
|
if "mtime" in content:
|
||||||
content["mtime_age"] = clock.time_msec() - content.pop("mtime")
|
content["mtime_age"] = int(
|
||||||
|
clock.time_msec() - content.pop("mtime")
|
||||||
|
)
|
||||||
|
|
||||||
return {"type": "m.presence", "content": content}
|
return {"type": "m.presence", "content": content}
|
||||||
|
|
Loading…
Reference in a new issue