1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-08-18 05:42:00 +03:00

Handle presence key in /sync

This commit is contained in:
Kegan Dougal
2015-12-09 16:09:47 +00:00
parent b622960b32
commit 243bdd78f4
3 changed files with 81 additions and 2 deletions

View File

@@ -150,7 +150,7 @@ SyncApi.prototype._sync = function(syncOptions, attempt) {
// data looks like:
// {
// next_batch: $token,
// presence: [PresencEvents],
// presence: { events: [] },
// rooms: {
// invite: {
// $roomid: {
@@ -175,6 +175,22 @@ SyncApi.prototype._sync = function(syncOptions, attempt) {
// }
console.log("Got data %s", data);
// handle presence events (User objects)
if (data.presence && utils.isArray(data.presence.events)) {
data.presence.events.map(client.getEventMapper()).forEach(function(presenceEvent) {
var user = client.store.getUser(presenceEvent.getSender());
if (user) {
user.setPresenceEvent(presenceEvent);
}
else {
user = createNewUser(client, presenceEvent.getSender());
user.setPresenceEvent(presenceEvent);
client.store.storeUser(user);
}
client.emit("event", presenceEvent);
});
}
/*
var i, j;
// intercept the results and put them into our store