diff --git a/internal_packages/composer/lib/composer-view.cjsx b/internal_packages/composer/lib/composer-view.cjsx index adf0e5e54..364a49f7b 100644 --- a/internal_packages/composer/lib/composer-view.cjsx +++ b/internal_packages/composer/lib/composer-view.cjsx @@ -70,7 +70,7 @@ class ComposerView extends React.Component focusedField: Fields.To # Gets updated in @_initiallyFocusedField enabledFields: [] # Gets updated in @_initiallyEnabledFields showQuotedText: false - uploads: FileUploadStore.uploadsForMessage(@props.draftClientId) ? [] + uploads: FileUploadStore.uploadsForMessage(@props.draftClientId) componentWillMount: => @_prepareForDraft(@props.draftClientId) @@ -506,7 +506,7 @@ class ComposerView extends React.Component files: draft.files subject: draft.subject accounts: @_getAccountsForSend() - uploads: FileUploadStore.uploadsForMessage(@props.draftClientId) ? [] + uploads: FileUploadStore.uploadsForMessage(@props.draftClientId) if !@state.populated _.extend state, diff --git a/internal_packages/composer/lib/file-upload.cjsx b/internal_packages/composer/lib/file-upload.cjsx index 05acc22ad..4030739e0 100644 --- a/internal_packages/composer/lib/file-upload.cjsx +++ b/internal_packages/composer/lib/file-upload.cjsx @@ -26,7 +26,8 @@ class FileUpload extends React.Component - _onClickRemove: => + _onClickRemove: (event) => + event.preventDefault() Actions.removeAttachment @props.upload _extension: => diff --git a/src/flux/stores/file-upload-store.coffee b/src/flux/stores/file-upload-store.coffee index 0f74516d4..1f694b00d 100644 --- a/src/flux/stores/file-upload-store.coffee +++ b/src/flux/stores/file-upload-store.coffee @@ -36,12 +36,13 @@ class FileUploadStore extends NylasStore @_fileUploads = @_getFileUploadsFromFs() uploadsForMessage: (messageClientId) -> - @_fileUploads[messageClientId] ? [] + [].concat(@_fileUploads[messageClientId] ? []) # Handlers _onDataChanged: (change) => + return unless NylasEnv.isMainWindow() return unless change.objectClass is Message.name and change.type is 'unpersist' change.objects.forEach (message) => uploads = @_fileUploads[message.clientId] @@ -164,7 +165,7 @@ class FileUploadStore extends NylasStore fs.unlink upload.targetPath, (err) -> reject("Error removing file #{upload.filename}") if err fs.rmdir upload.targetDir, (err) -> - reject("Error removing file #{upload.filename}") if err + reject("Error removing directory for file #{upload.filename}") if err resolve(upload) _saveUpload: (upload) =>