diff --git a/lib/models.py b/lib/models.py index dec2ace..6ad532a 100644 --- a/lib/models.py +++ b/lib/models.py @@ -139,7 +139,7 @@ class Subject(db.Model): .order('-created')) if num_messages <= 0: num_messages = None - return query.run(limit=num_messages) + return reversed(query.fetch(limit=num_messages)) @db.transactional() def SendMessage(self, message, sender): diff --git a/static/cosmopolite.js b/static/cosmopolite.js index 748a81c..c57dbc4 100644 --- a/static/cosmopolite.js +++ b/static/cosmopolite.js @@ -284,20 +284,20 @@ cosmopolite.Client.prototype.onServerEvent_ = function(e) { } break; 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 (!(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); } break;