Reverse sort order of initially-returned messages, so the client can generally depend on messages proceeding forward.

This commit is contained in:
Ian Gulliver
2014-05-10 19:20:14 +02:00
parent bff49f3401
commit a912e973c3
2 changed files with 14 additions and 14 deletions

View File

@@ -139,7 +139,7 @@ class Subject(db.Model):
.order('-created')) .order('-created'))
if num_messages <= 0: if num_messages <= 0:
num_messages = None num_messages = None
return query.run(limit=num_messages) return reversed(query.fetch(limit=num_messages))
@db.transactional() @db.transactional()
def SendMessage(self, message, sender): def SendMessage(self, message, sender):

View File

@@ -284,20 +284,20 @@ cosmopolite.Client.prototype.onServerEvent_ = function(e) {
} }
break; break;
case 'message': case 'message':
if (!(e['subject'] in this.subscriptions_)) {
console.log('Message from unrecognized subject:', e);
break;
}
var subscription = this.subscriptions_[e['subject']];
var duplicate = subscription.messages.some(function(message) {
return message['id'] == e.id;
});
if (duplicate) {
console.log('Duplicate message:', e);
break;
}
subscription.messages.push(e);
if ('onMessage' in this.callbacks_) { if ('onMessage' in this.callbacks_) {
if (!(e['subject'] in this.subscriptions_)) {
console.log('Message from unrecognized subject:', e);
break;
}
var subscription = this.subscriptions_[e['subject']];
var duplicate = subscription.messages.some(function(message) {
return message['id'] == e.id;
});
if (duplicate) {
console.log('Duplicate message:', e);
break;
}
subscription.messages.push(e);
this.callbacks_['onMessage'](e); this.callbacks_['onMessage'](e);
} }
break; break;