Mailspring/internal_packages
Ben Gotow 9b54d9cf31 fix(MessageContainer): Fix state, prevent from getting different messages. #1175
Summary:
This fixes a serious issue where drafts could appear to be sending if
they were located in the same index of the message list as a draft which was
previously sending.

Under the hood this was due to two bad programming choices:

1) State based on props in MessageContainer requires correct implementation of
   componentWillReceiveProps. This is definitely an anti-pattern.

2) Using item index rather than clientId as the key for items in the MessageList
   caused containers to be given a different message prop when one was inserted,
   rather than just shifting the existing ones down and inserting a new one.

Test Plan: Not sure how to test this really...

Reviewers: drew, juan

Differential Revision: https://phab.nylas.com/D2673
2016-03-03 12:10:03 -08:00
..
account-sidebar fix(snooze): look at allCategories instead of userCategories 2016-02-24 16:51:34 -08:00
attachments 🎨: Smaller buttons, smaller toolbar, smaller text 2016-02-09 19:45:24 -08:00
category-picker fix(snooze): Hide N1-Snoozed from the category picker 2016-02-25 13:32:58 -08:00
composer fix(composer): fix minor spacing issue on popout composer 2016-03-02 16:06:40 -08:00
composer-emojis Bump version for node-emoji 2016-03-02 18:58:07 -08:00
composer-signature es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
composer-spellcheck lint(*): correct eslint errors, warnings still exist 2016-03-01 10:58:29 -05:00
composer-templates es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
composer-translate es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
events
github-contact-card es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
link-tracking fix(link/open tracking): Update error messages 2016-02-25 13:32:59 -08:00
message-autoload-images lint(*): correct eslint errors, warnings still exist 2016-03-01 10:58:29 -05:00
message-list fix(MessageContainer): Fix state, prevent from getting different messages. #1175 2016-03-03 12:10:03 -08:00
message-view-on-github es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
mode-switch 💄: White buttons, dropdown / popover cleanup, hairline dividers 2016-02-18 15:21:42 -08:00
notification-mailto
notification-update-available
notifications
onboarding fix(account): re-add token if a new one comes in 2016-03-01 16:02:20 -08:00
open-tracking fix(link/open tracking): Update error messages 2016-02-25 13:32:59 -08:00
personal-level-indicators es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
phishing-detection es6(*): convert 20+ source files used in example packages to ES2016 2016-02-29 18:47:22 -08:00
plugins fix(plugin): better errors if plugins are malformed 2016-02-25 11:55:11 -08:00
preferences fix(lint) 2016-02-26 11:24:00 -08:00
print 💄(print): Fix #1425 2016-02-26 14:40:16 -08:00
quick-schedule fix(error-handling): handle offline for link tracking & read-receipts 2016-02-24 16:06:08 -08:00
screenshot-mode
search-bar 💄(search): Fix clear button positioning 2016-02-22 10:14:34 -08:00
send-and-archive
send-later fix(analytics): fix send later and snooze analytics 2016-02-25 14:01:15 -08:00
sidebar-fullcontact
system-tray lint(system-tray): code style consistent with rest of file 2016-02-26 11:37:20 -05:00
thread-list feat(hidden-messages): Filter trash/spam messages. Fixes #1135 2016-03-02 10:05:17 -08:00
thread-snooze feat(hidden-messages): Filter trash/spam messages. Fixes #1135 2016-03-02 10:05:17 -08:00
ui-dark 💄 Minor visual tweaks to win32 + dark mode 2016-02-22 13:30:12 -08:00
ui-light
undo-redo
unread-notifications
worker-sync fix(config): Store cursors with sync state, avoid constant config.cson writes 2016-02-26 13:52:19 -08:00
worker-ui fix(feedback): Remove feedback btn, update "N1 Help" in menu bar 2016-02-24 13:49:15 -08:00