forked from MirrorHub/synapse
Initialise UserPresenceCache instances to always contain a 'presence' key
This commit is contained in:
parent
4eada9a908
commit
03dc63f6c8
2 changed files with 10 additions and 6 deletions
|
@ -139,9 +139,7 @@ class PresenceHandler(BaseHandler):
|
|||
if user in self._user_cachemap:
|
||||
return self._user_cachemap[user]
|
||||
else:
|
||||
statuscache = UserPresenceCache()
|
||||
statuscache.update({"presence": PresenceState.OFFLINE}, user)
|
||||
return statuscache
|
||||
return UserPresenceCache()
|
||||
|
||||
def registered_user(self, user):
|
||||
self.store.create_presence(user.localpart)
|
||||
|
@ -873,7 +871,7 @@ class UserPresenceCache(object):
|
|||
Includes the update timestamp.
|
||||
"""
|
||||
def __init__(self):
|
||||
self.state = {}
|
||||
self.state = {"presence": PresenceState.OFFLINE}
|
||||
self.serial = None
|
||||
|
||||
def update(self, state, serial):
|
||||
|
|
|
@ -1200,7 +1200,10 @@ class PresencePollingTestCase(unittest.TestCase):
|
|||
path=ANY,
|
||||
data=_expect_edu("remote", "m.presence",
|
||||
content={
|
||||
"push": [ {"user_id": "@clementine:test" }],
|
||||
"push": [ {
|
||||
"user_id": "@clementine:test",
|
||||
"presence": OFFLINE,
|
||||
}],
|
||||
},
|
||||
),
|
||||
json_data_callback=ANY,
|
||||
|
@ -1229,7 +1232,10 @@ class PresencePollingTestCase(unittest.TestCase):
|
|||
path=ANY,
|
||||
data=_expect_edu("remote", "m.presence",
|
||||
content={
|
||||
"push": [ {"user_id": "@fig:test" }],
|
||||
"push": [ {
|
||||
"user_id": "@fig:test",
|
||||
"presence": OFFLINE,
|
||||
}],
|
||||
},
|
||||
),
|
||||
json_data_callback=ANY,
|
||||
|
|
Loading…
Reference in a new issue