Reverse sort order of initially-returned messages, so the client can generally depend on messages proceeding forward.
This commit is contained in:
@@ -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):
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user