Summary:
This diff centralizes logic for creating common tasks for things like moving to trash, archive, etc. TaskFactory exposes a set of convenience methods and hides the whole "and also remove the current label" business from the user.
This diff also formally separates the concept of "moving to trash" and "archiving" so that "remove" isn't used in an unclear way.
I also refactored where selection is managed. Previously you'd fire some action like archiveSelection and it'd clear the selection, but if you selected some items and used another method to archive a few, they were still selected. The selection is now bound to the ModelView as intended, so if items are removed from the modelView, they are removed from it's attached selection. This means that it shouldn't /technically/ be possible to have selected items which are not in view.
I haven't refactored the tests yet. They are likely broken...
Fix next/prev logic
Test Plan: Run tests
Reviewers: evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2157
Summary:
Package names must match directory names
Not going to use new Swithc component, but might as well be part of component kit
Move APMWrapper into core so it can be used from anywhere
Move manual package install coe to package-manager
Gray out window titles when in the background
Do not allow multiple onboarding windows at the same time
Finalize styling f initial-prefs and initial-packages, make it work (only github package atm)
Other nits
Change the welcome copy:
- Call it easy to extend vs easy to use
- Remove the subtitle from the first screen which doesn't really fit
- Make the second page emphasize that its created /for/ developers and easy to extend with Javascript.
- Explain what the sync engine is rather than saying it's "faster and more extensible" (??)
Test Plan: Run tests
Reviewers: evan, dillon
Reviewed By: evan
Maniphest Tasks: T3346
Differential Revision: https://phab.nylas.com/D2079
- Do not sort and then reverse the request history every time it's requested
- Do not allow the request history to grow forever (cap at 200)
- Do not stringify tasks until they're clicked
- The FocusedContactStore was triggering too often, and leaving it up to the FullcontactStore to fetch the full Contact model for the focused contact (pulled from thread.)
The FocusedContactStore triggers more responsibly, and registering for the role "MessageListSidebar:ContactCard" now gives you the focused contact as a full database model. The whole ContactCard region also fades in and out.