mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Upgrade Ember.js, fix swallowing of template errors, report unresolved promises in development mode.
This commit is contained in:
@@ -283,8 +283,7 @@ Discourse.ComposerController = Discourse.Controller.extend({
|
||||
} else {
|
||||
opts.tested = true;
|
||||
if (!opts.ignoreIfChanged) {
|
||||
this.cancelComposer().then(function() { self.open(opts); },
|
||||
function() { return promise.reject(); });
|
||||
this.cancelComposer().then(function() { self.open(opts); }).fail(function() { return promise.reject(); });
|
||||
}
|
||||
return promise;
|
||||
}
|
||||
@@ -341,10 +340,8 @@ Discourse.ComposerController = Discourse.Controller.extend({
|
||||
self.destroyDraft();
|
||||
self.get('model').clearState();
|
||||
self.close();
|
||||
promise.resolve();
|
||||
} else {
|
||||
promise.reject();
|
||||
}
|
||||
promise.resolve();
|
||||
});
|
||||
} else {
|
||||
// it is possible there is some sort of crazy draft with no body ... just give up on it
|
||||
|
||||
@@ -284,10 +284,10 @@ Discourse.PostStream = Em.Object.extend({
|
||||
var self = this;
|
||||
|
||||
// Make sure we can append more posts
|
||||
if (!self.get('canAppendMore')) { return Ember.RSVP.reject(); }
|
||||
if (!self.get('canAppendMore')) { return Ember.RSVP.resolve(); }
|
||||
|
||||
var postIds = self.get('nextWindow');
|
||||
if (Ember.isEmpty(postIds)) { return Ember.RSVP.reject(); }
|
||||
if (Ember.isEmpty(postIds)) { return Ember.RSVP.resolve(); }
|
||||
|
||||
self.set('loadingBelow', true);
|
||||
|
||||
@@ -310,14 +310,13 @@ Discourse.PostStream = Em.Object.extend({
|
||||
@returns {Ember.Deferred} a promise that's resolved when the posts have been added.
|
||||
**/
|
||||
prependMore: function() {
|
||||
var postStream = this,
|
||||
rejectedPromise = Ember.RSVP.reject();
|
||||
var postStream = this;
|
||||
|
||||
// Make sure we can append more posts
|
||||
if (!postStream.get('canPrependMore')) { return rejectedPromise; }
|
||||
if (!postStream.get('canPrependMore')) { return Ember.RSVP.resolve(); }
|
||||
|
||||
var postIds = postStream.get('previousWindow');
|
||||
if (Ember.isEmpty(postIds)) { return rejectedPromise; }
|
||||
if (Ember.isEmpty(postIds)) { return Ember.RSVP.resolve(); }
|
||||
|
||||
postStream.set('loadingAbove', true);
|
||||
return postStream.findPostsByIds(postIds.reverse()).then(function(posts) {
|
||||
|
||||
@@ -355,7 +355,7 @@ Discourse.Topic.reopenClass({
|
||||
data: {destination_topic_id: destinationTopicId}
|
||||
}).then(function (result) {
|
||||
if (result.success) return result;
|
||||
promise.reject();
|
||||
promise.reject(new Error("error merging topic"));
|
||||
});
|
||||
return promise;
|
||||
},
|
||||
@@ -366,7 +366,7 @@ Discourse.Topic.reopenClass({
|
||||
data: opts
|
||||
}).then(function (result) {
|
||||
if (result.success) return result;
|
||||
promise.reject();
|
||||
promise.reject(new Error("error moving posts topic"));
|
||||
});
|
||||
return promise;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.TopicFromParamsRoute = Discourse.Route.extend({
|
||||
abc: 'asdfasdf',
|
||||
|
||||
setupController: function(controller, params) {
|
||||
params = params || {};
|
||||
|
||||
@@ -7,8 +7,6 @@
|
||||
@module Discourse
|
||||
**/
|
||||
Discourse.TopicRoute = Discourse.Route.extend({
|
||||
abc: 'def',
|
||||
|
||||
redirect: function() { Discourse.redirectIfLoginRequired(this); },
|
||||
|
||||
actions: {
|
||||
|
||||
@@ -11,6 +11,24 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<% if Rails.env.development? %>
|
||||
<script>
|
||||
// Don't swallow promises in development mode. Let's fix those.
|
||||
Ember.RSVP.configure('onerror', function(e) {
|
||||
if (e) {
|
||||
if (e.message || e.stack) {
|
||||
console.log(e.message);
|
||||
console.log(e.stack);
|
||||
} else {
|
||||
console.log("Uncaught promise: " + e.toString());
|
||||
}
|
||||
} else {
|
||||
console.log("A promise failed but was not caught.");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<% end %>
|
||||
|
||||
<script>
|
||||
Discourse.CDN = '<%= Rails.configuration.action_controller.asset_host %>';
|
||||
Discourse.BaseUrl = '<%= RailsMultisite::ConnectionManagement.current_hostname %>';
|
||||
|
||||
Reference in New Issue
Block a user