From 8874874c2717205cdc0713fa5a634d9ac226f061 Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Tue, 21 Jul 2015 18:14:19 -0700 Subject: [PATCH] fix(nylas-api): Fix broken promise logic in NylasAPI success/error blocks - Restores file uploading / canceling behavior --- src/flux/nylas-api.coffee | 8 ++++---- src/flux/tasks/change-category-task.coffee | 4 ---- src/flux/tasks/change-labels-task.coffee | 1 + 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/flux/nylas-api.coffee b/src/flux/nylas-api.coffee index 5bee7880f..98e4dd083 100644 --- a/src/flux/nylas-api.coffee +++ b/src/flux/nylas-api.coffee @@ -187,20 +187,20 @@ class NylasAPI success = (body) => if options.beforeProcessing body = options.beforeProcessing(body) - return Promise.resolve(body) if options.returnsModel @_handleModelResponse(body).then (objects) -> return Promise.resolve(body) + Promise.resolve(body) error = (err) => + handlePromise = Promise.resolve() if err.response - handlePromise = Promise.resolve() if err.response.statusCode is 404 and options.returnsModel handlePromise = @_handleModel404(options.url) if err.response.statusCode is 401 handlePromise = @_handle401(options.url) - handlePromise.then -> - Promise.reject(err) + handlePromise.finally -> + Promise.reject(err) req = new NylasAPIRequest(@, options) req.run().then(success, error) diff --git a/src/flux/tasks/change-category-task.coffee b/src/flux/tasks/change-category-task.coffee index 7bae156b9..ebaf1c48e 100644 --- a/src/flux/tasks/change-category-task.coffee +++ b/src/flux/tasks/change-category-task.coffee @@ -44,10 +44,6 @@ class ChangeCategoryTask extends Task if @threadIds.length > 0 then Klass = Thread else if @messageIds.length > 0 then Klass = Message DatabaseStore.find(Klass, objectId).then (object) => - # Always apply our changes to a new copy of the thread. - # In some scenarios it may actually be frozen - object = new Klass(object) - # Mark that we are optimistically changing this model. This will prevent # inbound delta syncs from changing it back to it's old state. Only the # operation that changes `optimisticChangeCount` back to zero will diff --git a/src/flux/tasks/change-labels-task.coffee b/src/flux/tasks/change-labels-task.coffee index f1a407262..13ae143f8 100644 --- a/src/flux/tasks/change-labels-task.coffee +++ b/src/flux/tasks/change-labels-task.coffee @@ -1,4 +1,5 @@ _ = require 'underscore' +Task = require './task' Label = require '../models/label' Thread = require '../models/thread' Message = require '../models/message'