Fix roster caching
This commit is contained in:
parent
f621166f13
commit
e290b9a094
|
@ -114,11 +114,17 @@ module.exports = function (client, app) {
|
|||
client.getRoster(function (err, resp) {
|
||||
resp = resp.toJSON();
|
||||
|
||||
me.rosterVer = resp.roster.ver;
|
||||
var resultVer = resp.roster.ver;
|
||||
if (me.rosterVer && resultVer && me.rosterVer !== resultVer) {
|
||||
app.storage.roster.clear(function () {
|
||||
me.contacts.reset();
|
||||
me.rosterVer = resp.roster.ver;
|
||||
|
||||
_.each(resp.roster.items, function (item) {
|
||||
me.setContact(item, true);
|
||||
});
|
||||
_.each(resp.roster.items, function (item) {
|
||||
me.setContact(item, true);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
var caps = client.updateCaps();
|
||||
app.storage.disco.add(caps.ver, caps.discoInfo, function () {
|
||||
|
|
|
@ -46,7 +46,7 @@ module.exports = HumanModel.define({
|
|||
pageTitle: 'string',
|
||||
hasActiveCall: ['boolean', false, false],
|
||||
cacheStatus: 'string',
|
||||
deviceID: 'string'
|
||||
deviceID: ['string', false, '']
|
||||
},
|
||||
derived: {
|
||||
title: {
|
||||
|
|
|
@ -77,6 +77,14 @@ RosterStorage.prototype = {
|
|||
cb(false, request.result);
|
||||
};
|
||||
request.onerror = cb;
|
||||
},
|
||||
clear: function (cb) {
|
||||
cb = cb || function () {};
|
||||
var request = this.transaction('readwrite').clear();
|
||||
request.onsuccess = function () {
|
||||
cb(false, request.result);
|
||||
};
|
||||
request.onerror = cb;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "otalk.im",
|
||||
"version": "0.0.19",
|
||||
"version": "0.0.22",
|
||||
"description": "Otalk: WebRTC Enabled XMPP Client, in the Browser",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
Loading…
Reference in New Issue