From a912e973c3c0f7d8dad04217c1dc9f6f11d9d6e3 Mon Sep 17 00:00:00 2001 From: Ian Gulliver Date: Sat, 10 May 2014 19:20:14 +0200 Subject: [PATCH] Reverse sort order of initially-returned messages, so the client can generally depend on messages proceeding forward. --- lib/models.py | 2 +- static/cosmopolite.js | 26 +++++++++++++------------- 2 files changed, 14 insertions(+), 14 deletions(-) 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;