Mailspring/internal_packages
Ben Gotow 91240f8979 feat(outbox): Sending status now appears beside drafts
Summary:
This diff adds an "OutboxStore" which reflects the TaskQueue and
adds a progress bar / cancel button to drafts which are currently sending.

- Sending state is different from things like Send later because drafts
  which are sending shouldn't be editable. You should have to stop them
  from sending before editing. I think we can implement "Send Later"
  indicators, etc. with a simple InjectedComponentSet on the draft list
  rows, but the OutboxStore is woven into the DraftList query subscription
  so every draft has a `uploadTaskId`.

- The TaskQueue now saves periodically (every one second) when there are
  "Processing" tasks. This is not really necessary, but makes it super
  easy for tasks to expose "progress", because they're essentially
  serialized and propagated to all windows every one second with the
  current progress value. Kind of questionable, but super convenient.

- I also cleaned up ListTabular and MultiselectList a bit because they
  applied the className prop to an inner element and not the top one.

- If a DestroyDraft task is created for a draft without a server id, it
  ends with Task.Status.Continue and not Failed.

- The SendDraftTask doesn't delete uploads until the send actually goes
  through, in case the app crashes and it forgets the file IDs it created.

Test Plan: Tests coming soon

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2524
2016-02-04 14:14:24 -08:00
..
account-sidebar feat(outbox): Sending status now appears beside drafts 2016-02-04 14:14:24 -08:00
attachments fix(uploads): Consolidate logic, use Promisify, path.join 2016-01-29 14:45:53 -08:00
category-picker fix(message-list): Spec fixes, all stubs need accountId 2016-01-28 11:14:04 -08:00
composer fix(send-action): Make dropdown trigger secondary send actions 2016-02-03 16:27:11 -08:00
composer-emojis fix(composer-emojis): Fix bugs around null nodes and whitespace 2016-02-03 18:10:56 -08:00
composer-signature
composer-spellcheck fix(electron): Update api usage to require('electron') 2016-01-29 14:24:33 -08:00
composer-templates feat(metadata): add cloudState that sync with Metadata service 2016-02-02 15:28:06 -05:00
composer-translate
events Merge branch 'master' into unified-inbox 2016-01-12 08:20:55 -08:00
feedback rm(intercom): Point feedback to support.nylas, shrink button 2016-01-20 11:26:14 -08:00
github-contact-card
message-autoload-images fix(config): observe fires immediately, causing re-renders 2016-01-29 00:31:10 -08:00
message-list Removes the MessageListNotificationBar editable component in favor of the existing MessageListHeaders 2016-02-03 18:11:23 -08:00
message-view-on-github
mode-switch
notification-mailto
notification-update-available
notifications Merge branch 'master' into unified-inbox 2016-01-12 08:20:55 -08:00
onboarding Disallow Gmail accounts from entering IMAP flow 2016-02-04 09:54:01 -08:00
personal-level-indicators fix(indicators): Remove duplicate description key 2016-01-12 10:28:34 -08:00
phishing-detection fix(phishing): set the package name to the correct value 2016-01-14 22:43:40 -05:00
plugins fix(packages): Default icon for third-party packages 2016-01-12 13:52:01 -08:00
preferences fix(lint): Fix new eslint rule introduced with babel-eslint upgrade. 2016-02-01 20:07:36 -08:00
print
quick-schedule fix(electron): Update api usage to require('electron') 2016-01-29 14:24:33 -08:00
screenshot-mode feat(screenshot-mode): Minor fix to unmount method 2016-01-29 16:59:51 -08:00
search-bar Fix for search bar issue with threads not appearing 2016-01-25 13:47:41 -08:00
send-and-archive fix(send-and-archive): Was disabling signatures due to name collision 2016-02-01 17:33:18 -08:00
sidebar-fullcontact
system-tray feat(error): improve error reporting. Now NylasEnv.reportError 2016-02-03 18:06:52 -05:00
thread-list feat(outbox): Sending status now appears beside drafts 2016-02-04 14:14:24 -08:00
ui-dark
ui-light
undo-redo TaskFactory now returns N tasks for performing standard actions, undo uses arrays 2016-01-21 13:46:04 -08:00
unread-notifications Revert "fix(sidebar): Correctly update sidebar when a notif is selected" 2016-02-02 10:58:24 -08:00
worker-sync fix(activity): "Long Polling" => "Delta Streaming" because we don't really poll. 2016-01-29 16:06:33 -08:00
worker-ui fix(activity): "Long Polling" => "Delta Streaming" because we don't really poll. 2016-01-29 16:06:33 -08:00