Download:
child 279:01439ae590ed
parent 277:c487c540260e
278:57e7fb4cb69a
Anton Shestakov <av6@dwimlabs.net>, Sun, 01 Jan 2017 14:41:31 +0800
contacts: create Entities collection, replace capscache

6 файлов изменено, 220 вставок(+), 79 удалений(-) [+]
coffee/contacts.coffee file | annotate | diff | comparison | revisions
coffee/index.coffee file | annotate | diff | comparison | revisions
js/contacts.js file | annotate | diff | comparison | revisions
js/contacts.js.map file | annotate | diff | comparison | revisions
js/index.js file | annotate | diff | comparison | revisions
js/index.js.map file | annotate | diff | comparison | revisions
--- a/coffee/contacts.coffee Sun Jan 01 14:26:30 2017 +0800
+++ b/coffee/contacts.coffee Sun Jan 01 14:41:31 2017 +0800
@@ -70,6 +70,16 @@
model: Tram.Profile
+class Tram.Entity extends Backbone.Model
+ defaults:
+ identities: []
+ features: []
+
+
+class Tram.Entities extends Backbone.Collection
+ model: Tram.Entity
+
+
class Tram.Contacts extends Backbone.Collection
model: Tram.Contact
--- a/coffee/index.coffee Sun Jan 01 14:26:30 2017 +0800
+++ b/coffee/index.coffee Sun Jan 01 14:41:31 2017 +0800
@@ -21,8 +21,8 @@
window.sidebarApp = new Tram.SidebarApp(el: $('[data-app="sidebar"]'), model: clientState)
window.progressApp = new Tram.ProgressApp(el: $('[data-app="progress"]'), model: clientState)
window.chats = {}
-window.capscache = {}
window.profiles = new Tram.Profiles()
+window.entities = new Tram.Entities()
contacts.on 'change:show', (model) ->
@@ -117,19 +117,19 @@
X.conn.disco.addFeature(Tram.NS.WEBRTC)
dSettings = $.Deferred()
- dCaps = $.Deferred()
+ dCache = $.Deferred()
dVersion = $.Deferred()
dInfo = $.Deferred()
dCarbons = $.Deferred()
dRoster = $.Deferred()
loadSettings(dSettings.resolve, dSettings.reject)
- loadCapsCache(dCaps.resolve, dCaps.reject)
+ loadEntityCache(dCache.resolve, dCache.reject)
getServerVersion(dVersion.resolve, dVersion.reject)
X.conn.roster.get(dRoster.resolve)
- $.when(dCaps).always ->
- getServerInfo(dInfo.resolve, dInfo.reject)
+ $.when(dCache).always ->
+ getServerEntity(dInfo.resolve, dInfo.reject)
$.when(dInfo).always ->
if Strophe.NS.CARBONS in serverInfo.get('features')
@@ -144,6 +144,7 @@
$.when(dSettings, dVersion, dInfo, dRoster, dCarbons).always ->
X.sendPresence(status: 'Online', priority: 1)
+ entities.on('add change', saveEntityCache)
settings.on('change', saveSettings)
@@ -264,13 +265,13 @@
saveSettings = _(_saveSettings).debounce(1000)
-loadCapsCache = (doneCallback, failCallback) ->
- iq = $iq(type: 'get', id: X.conn.getUniqueId('capscache'))
+loadEntityCache = (doneCallback, failCallback) ->
+ iq = $iq(type: 'get', id: X.conn.getUniqueId('entity-cache'))
.c('query', xmlns: Strophe.NS.PRIVATE)
- .c('capscache', xmlns: Tram.NS.PRIVATE)
+ .c('entity-cache', xmlns: Tram.NS.PRIVATE)
okcb = (stanza) ->
- el = stanza.getElementsByTagName('capscache')[0]
+ el = stanza.getElementsByTagName('entity-cache')[0]
if el?.firstChild?
try
data = JSON.parse(el.firstChild.nodeValue)
@@ -278,7 +279,7 @@
failCallback?()
return
if data?
- _(capscache).defaults(data)
+ entities.add(data)
doneCallback?()
failcb = (stanza) ->
@@ -288,23 +289,23 @@
X.conn.sendIQ(iq.tree(), okcb, failcb, Tram.config.iqTimeout)
-_saveCapsCache = (doneCallback, failCallback) ->
- payload = JSON.stringify(capscache)
- iq = $iq(type: 'set', id: X.conn.getUniqueId('capscache'))
+_saveEntityCache = (doneCallback, failCallback) ->
+ payload = JSON.stringify(entities.chain().filter((e) -> e.has('id')).map((e) -> e.toJSON()).value())
+ iq = $iq(type: 'set', id: X.conn.getUniqueId('entity-cache'))
.c('query', xmlns: Strophe.NS.PRIVATE)
- .c('capscache', xmlns: Tram.NS.PRIVATE).t(payload)
+ .c('entity-cache', xmlns: Tram.NS.PRIVATE).t(payload)
okcb = (stanza) ->
doneCallback?()
failcb = (stanza) ->
- console.warn("couldn't save caps cache", stanza)
+ console.warn("couldn't save entity cache", stanza)
failCallback?()
X.conn.sendIQ(iq.tree(), okcb, failcb, Tram.config.iqTimeout)
-saveCapsCache = _(_saveCapsCache).debounce(1000)
+saveEntityCache = _(_saveEntityCache).debounce(1000)
onAnyError = (stanza) ->
@@ -379,6 +380,10 @@
type: if self then 'self' else 'contact'
contact.set('profile', getProfile(bjid))
+
+ if Strophe.getResourceFromJid(from)?
+ getClientEntity(contact, node, ver)
+
contact.chat = getChat(bjid)
contact.chat.collection.on 'add', (model) ->
@@ -418,9 +423,6 @@
contact.w.disconnect()
contact.unset('callstate')
- if Strophe.getResourceFromJid(from)?
- getClientInfo(contact, node, ver)
-
return contact
@@ -465,50 +467,84 @@
return profile
-getClientInfo = (contact, node, ver) ->
+getClientEntity = (contact, node, ver) ->
jid = contact.get('jid')
if node? and ver?
- clientId = "#{ node }##{ ver }"
- if capscache[clientId]?
- return contact.set('features', capscache[clientId])
+ nodever = "#{ node }##{ ver }"
+ entity = entities.get(nodever)
+ if entity?
+ contact.set('entity', entity)
+ contact.set('features', entity.get('features'))
+ return entity
+ entity = entities.add(id: nodever)
+ else
+ entity = entities.add(jid: jid)
+
+ contact.set('entity', entity)
okcb = (stanza) ->
+ identities = ({
+ type: el.getAttribute('type')
+ name: el.getAttribute('name')
+ category: el.getAttribute('category')
+ } for el in stanza.getElementsByTagName('identity'))
features = (el.getAttribute('var') for el in stanza.getElementsByTagName('feature'))
+ entity.set
+ client: _(identities).findWhere(category: 'client')
+ identities: identities
+ features: features
contact.set('features', features)
- if clientId?
- capscache[clientId] = features
- saveCapsCache()
failcb = (stanza) ->
console.warn("couldn't get client info", stanza)
- X.conn.disco.info(jid, clientId, okcb, failcb, Tram.config.iqTimeout)
+ X.conn.disco.info(jid, nodever, okcb, failcb, Tram.config.iqTimeout)
+
+ return entity
-getServerInfo = (doneCallback, failCallback) ->
+getServerEntity = (doneCallback, failCallback) ->
+ jid = X.conn.domain
caps = X.conn.features.getElementsByTagNameNS(Strophe.NS.CAPS, 'c')[0]
node = caps?.getAttribute('node')
ver = caps?.getAttribute('ver')
if node? and ver?
- serverId = "#{ node }##{ ver }"
- if capscache[serverId]?
- serverInfo.set('features', capscache[serverId])
+ nodever = "#{ node }##{ ver }"
+ entity = entities.get(nodever)
+ if entity?
+ serverInfo.set('entity', entity)
+ serverInfo.set('features', entity.get('features'))
doneCallback?()
- return
+ return entity
+ entity = entities.add(id: nodever)
+ else
+ entity = entities.add(jid: jid)
+
+ serverInfo.set('entity', entity)
okcb = (stanza) ->
+ identities = ({
+ type: el.getAttribute('type')
+ name: el.getAttribute('name')
+ category: el.getAttribute('category')
+ } for el in stanza.getElementsByTagName('identity'))
features = (el.getAttribute('var') for el in stanza.getElementsByTagName('feature'))
+ entity.set
+ client: _(identities).findWhere(category: 'client')
+ identities: identities
+ features: features
serverInfo.set('features', features)
- capscache[serverId] = features
doneCallback?()
failcb = (stanza) ->
console.warn("couldn't get server info", stanza)
failCallback?()
- X.conn.disco.info(X.conn.domain, serverId, okcb, failcb, Tram.config.iqTimeout)
+ X.conn.disco.info(jid, nodever, okcb, failcb, Tram.config.iqTimeout)
+
+ return entity
onPresence = (stanza) ->
--- a/js/contacts.js Sun Jan 01 14:26:30 2017 +0800
+++ b/js/contacts.js Sun Jan 01 14:41:31 2017 +0800
@@ -127,6 +127,35 @@
})(Backbone.Collection);
+ Tram.Entity = (function(superClass) {
+ extend(Entity, superClass);
+
+ function Entity() {
+ return Entity.__super__.constructor.apply(this, arguments);
+ }
+
+ Entity.prototype.defaults = {
+ identities: [],
+ features: []
+ };
+
+ return Entity;
+
+ })(Backbone.Model);
+
+ Tram.Entities = (function(superClass) {
+ extend(Entities, superClass);
+
+ function Entities() {
+ return Entities.__super__.constructor.apply(this, arguments);
+ }
+
+ Entities.prototype.model = Tram.Entity;
+
+ return Entities;
+
+ })(Backbone.Collection);
+
Tram.Contacts = (function(superClass) {
extend(Contacts, superClass);
--- a/js/contacts.js.map Sun Jan 01 14:26:30 2017 +0800
+++ b/js/contacts.js.map Sun Jan 01 14:41:31 2017 +0800
@@ -6,5 +6,5 @@
"coffee/contacts.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
--- a/js/index.js Sun Jan 01 14:26:30 2017 +0800
+++ b/js/index.js Sun Jan 01 14:41:31 2017 +0800
@@ -1,6 +1,6 @@
// Generated by CoffeeScript 1.12.2
(function() {
- var $form, _saveCapsCache, _saveSettings, connectfn, enableCSI, enableCarbons, getChat, getClientInfo, getContact, getProfile, getServerInfo, getServerVersion, getStamp, getText, loadCapsCache, loadSettings, onAnyError, onChatMessage, onChatState, onConnected, onDisconnected, onGetLast, onGetTime, onGetVersion, onPing, onPresence, onWebRTC, origTitle, saveCapsCache, saveSettings, sendMessage,
+ var $form, _saveEntityCache, _saveSettings, connectfn, enableCSI, enableCarbons, getChat, getClientEntity, getContact, getProfile, getServerEntity, getServerVersion, getStamp, getText, loadEntityCache, loadSettings, onAnyError, onChatMessage, onChatState, onConnected, onDisconnected, onGetLast, onGetTime, onGetVersion, onPing, onPresence, onWebRTC, origTitle, saveEntityCache, saveSettings, sendMessage,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
Strophe.addNamespace('CAPS', 'http://jabber.org/protocol/caps');
@@ -59,9 +59,9 @@
window.chats = {};
- window.capscache = {};
+ window.profiles = new Tram.Profiles();
- window.profiles = new Tram.Profiles();
+ window.entities = new Tram.Entities();
contacts.on('change:show', function(model) {
if (model.get('type') === 'self') {
@@ -175,7 +175,7 @@
});
onConnected = function() {
- var dCaps, dCarbons, dInfo, dRoster, dSettings, dVersion;
+ var dCache, dCarbons, dInfo, dRoster, dSettings, dVersion;
X.conn.addHandler(onPresence, null, 'presence');
X.conn.addHandler(onChatMessage, null, 'message', 'chat');
X.conn.addHandler(onChatState, Strophe.NS.CHATSTATES, 'message');
@@ -200,17 +200,17 @@
X.conn.disco.addFeature(Strophe.NS.XHTML_IM);
X.conn.disco.addFeature(Tram.NS.WEBRTC);
dSettings = $.Deferred();
- dCaps = $.Deferred();
+ dCache = $.Deferred();
dVersion = $.Deferred();
dInfo = $.Deferred();
dCarbons = $.Deferred();
dRoster = $.Deferred();
loadSettings(dSettings.resolve, dSettings.reject);
- loadCapsCache(dCaps.resolve, dCaps.reject);
+ loadEntityCache(dCache.resolve, dCache.reject);
getServerVersion(dVersion.resolve, dVersion.reject);
X.conn.roster.get(dRoster.resolve);
- $.when(dCaps).always(function() {
- return getServerInfo(dInfo.resolve, dInfo.reject);
+ $.when(dCache).always(function() {
+ return getServerEntity(dInfo.resolve, dInfo.reject);
});
$.when(dInfo).always(function() {
var hasCSI, ref, ref1;
@@ -230,6 +230,7 @@
status: 'Online',
priority: 1
});
+ entities.on('add change', saveEntityCache);
return settings.on('change', saveSettings);
});
};
@@ -384,19 +385,19 @@
saveSettings = _(_saveSettings).debounce(1000);
- loadCapsCache = function(doneCallback, failCallback) {
+ loadEntityCache = function(doneCallback, failCallback) {
var failcb, iq, okcb;
iq = $iq({
type: 'get',
- id: X.conn.getUniqueId('capscache')
+ id: X.conn.getUniqueId('entity-cache')
}).c('query', {
xmlns: Strophe.NS.PRIVATE
- }).c('capscache', {
+ }).c('entity-cache', {
xmlns: Tram.NS.PRIVATE
});
okcb = function(stanza) {
var data, el;
- el = stanza.getElementsByTagName('capscache')[0];
+ el = stanza.getElementsByTagName('entity-cache')[0];
if ((el != null ? el.firstChild : void 0) != null) {
try {
data = JSON.parse(el.firstChild.nodeValue);
@@ -408,7 +409,7 @@
}
}
if (data != null) {
- _(capscache).defaults(data);
+ entities.add(data);
}
return typeof doneCallback === "function" ? doneCallback() : void 0;
};
@@ -419,28 +420,32 @@
return X.conn.sendIQ(iq.tree(), okcb, failcb, Tram.config.iqTimeout);
};
- _saveCapsCache = function(doneCallback, failCallback) {
+ _saveEntityCache = function(doneCallback, failCallback) {
var failcb, iq, okcb, payload;
- payload = JSON.stringify(capscache);
+ payload = JSON.stringify(entities.chain().filter(function(e) {
+ return e.has('id');
+ }).map(function(e) {
+ return e.toJSON();
+ }).value());
iq = $iq({
type: 'set',
- id: X.conn.getUniqueId('capscache')
+ id: X.conn.getUniqueId('entity-cache')
}).c('query', {
xmlns: Strophe.NS.PRIVATE
- }).c('capscache', {
+ }).c('entity-cache', {
xmlns: Tram.NS.PRIVATE
}).t(payload);
okcb = function(stanza) {
return typeof doneCallback === "function" ? doneCallback() : void 0;
};
failcb = function(stanza) {
- console.warn("couldn't save caps cache", stanza);
+ console.warn("couldn't save entity cache", stanza);
return typeof failCallback === "function" ? failCallback() : void 0;
};
return X.conn.sendIQ(iq.tree(), okcb, failcb, Tram.config.iqTimeout);
};
- saveCapsCache = _(_saveCapsCache).debounce(1000);
+ saveEntityCache = _(_saveEntityCache).debounce(1000);
onAnyError = function(stanza) {
console.warn('got an error:', stanza, stanza.outerHTML);
@@ -524,6 +529,9 @@
type: self ? 'self' : 'contact'
});
contact.set('profile', getProfile(bjid));
+ if (Strophe.getResourceFromJid(from) != null) {
+ getClientEntity(contact, node, ver);
+ }
contact.chat = getChat(bjid);
contact.chat.collection.on('add', function(model) {
var ref, ref1;
@@ -579,9 +587,6 @@
contact.w.disconnect();
return contact.unset('callstate');
});
- if (Strophe.getResourceFromJid(from) != null) {
- getClientInfo(contact, node, ver);
- }
return contact;
};
@@ -627,17 +632,42 @@
return profile;
};
- getClientInfo = function(contact, node, ver) {
- var clientId, failcb, jid, okcb;
+ getClientEntity = function(contact, node, ver) {
+ var entity, failcb, jid, nodever, okcb;
jid = contact.get('jid');
if ((node != null) && (ver != null)) {
- clientId = node + "#" + ver;
- if (capscache[clientId] != null) {
- return contact.set('features', capscache[clientId]);
+ nodever = node + "#" + ver;
+ entity = entities.get(nodever);
+ if (entity != null) {
+ contact.set('entity', entity);
+ contact.set('features', entity.get('features'));
+ return entity;
}
+ entity = entities.add({
+ id: nodever
+ });
+ } else {
+ entity = entities.add({
+ jid: jid
+ });
}
+ contact.set('entity', entity);
okcb = function(stanza) {
- var el, features;
+ var el, features, identities;
+ identities = (function() {
+ var i, len, ref, results;
+ ref = stanza.getElementsByTagName('identity');
+ results = [];
+ for (i = 0, len = ref.length; i < len; i++) {
+ el = ref[i];
+ results.push({
+ type: el.getAttribute('type'),
+ name: el.getAttribute('name'),
+ category: el.getAttribute('category')
+ });
+ }
+ return results;
+ })();
features = (function() {
var i, len, ref, results;
ref = stanza.getElementsByTagName('feature');
@@ -648,35 +678,64 @@
}
return results;
})();
- contact.set('features', features);
- if (clientId != null) {
- capscache[clientId] = features;
- return saveCapsCache();
- }
+ entity.set({
+ client: _(identities).findWhere({
+ category: 'client'
+ }),
+ identities: identities,
+ features: features
+ });
+ return contact.set('features', features);
};
failcb = function(stanza) {
return console.warn("couldn't get client info", stanza);
};
- return X.conn.disco.info(jid, clientId, okcb, failcb, Tram.config.iqTimeout);
+ X.conn.disco.info(jid, nodever, okcb, failcb, Tram.config.iqTimeout);
+ return entity;
};
- getServerInfo = function(doneCallback, failCallback) {
- var caps, failcb, node, okcb, serverId, ver;
+ getServerEntity = function(doneCallback, failCallback) {
+ var caps, entity, failcb, jid, node, nodever, okcb, ver;
+ jid = X.conn.domain;
caps = X.conn.features.getElementsByTagNameNS(Strophe.NS.CAPS, 'c')[0];
node = caps != null ? caps.getAttribute('node') : void 0;
ver = caps != null ? caps.getAttribute('ver') : void 0;
if ((node != null) && (ver != null)) {
- serverId = node + "#" + ver;
- if (capscache[serverId] != null) {
- serverInfo.set('features', capscache[serverId]);
+ nodever = node + "#" + ver;
+ entity = entities.get(nodever);
+ if (entity != null) {
+ serverInfo.set('entity', entity);
+ serverInfo.set('features', entity.get('features'));
if (typeof doneCallback === "function") {
doneCallback();
}
- return;
+ return entity;
}
+ entity = entities.add({
+ id: nodever
+ });
+ } else {
+ entity = entities.add({
+ jid: jid
+ });
}
+ serverInfo.set('entity', entity);
okcb = function(stanza) {
- var el, features;
+ var el, features, identities;
+ identities = (function() {
+ var i, len, ref, results;
+ ref = stanza.getElementsByTagName('identity');
+ results = [];
+ for (i = 0, len = ref.length; i < len; i++) {
+ el = ref[i];
+ results.push({
+ type: el.getAttribute('type'),
+ name: el.getAttribute('name'),
+ category: el.getAttribute('category')
+ });
+ }
+ return results;
+ })();
features = (function() {
var i, len, ref, results;
ref = stanza.getElementsByTagName('feature');
@@ -687,15 +746,22 @@
}
return results;
})();
+ entity.set({
+ client: _(identities).findWhere({
+ category: 'client'
+ }),
+ identities: identities,
+ features: features
+ });
serverInfo.set('features', features);
- capscache[serverId] = features;
return typeof doneCallback === "function" ? doneCallback() : void 0;
};
failcb = function(stanza) {
console.warn("couldn't get server info", stanza);
return typeof failCallback === "function" ? failCallback() : void 0;
};
- return X.conn.disco.info(X.conn.domain, serverId, okcb, failcb, Tram.config.iqTimeout);
+ X.conn.disco.info(jid, nodever, okcb, failcb, Tram.config.iqTimeout);
+ return entity;
};
onPresence = function(stanza) {
--- a/js/index.js.map Sun Jan 01 14:26:30 2017 +0800
+++ b/js/index.js.map Sun Jan 01 14:41:31 2017 +0800
@@ -6,5 +6,5 @@
"coffee/index.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file