Summary:
Can select all, deselect-all, read, unread, starred, unstarred.
Yes, it's not REALLY select "all", but it uses the items in the current
`retainedRange`. This is actually similar to what gmail does (only selects
on the first page of a 100).
Test Plan: new test
Reviewers: juan, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2241
- move babelrc to static so that it can be used during the build process and also whenever the app is transpiling things on the fly.
- move babel back to version 5, which is compatible with `apm install`. (babel 6 seems to require the "dedupe" behavior of NPM3)
- update harmony-collections to use an unpublished commit that fixes the "WeakMap is not generic" issue
Summary: - Linter uses predefined rules for ES6 and React from airbnb
Test Plan: - Manuel
Reviewers: evan, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2242
Summary: This diff implements Gmails "load images, always load images from bengotow@gmail.com" option. Someone asked for it late last night and I figured it'd be fun to add. We also needed to refactor the MessageItem to allow for a GPG plugin - MessageItems now subscribe to the body of the message from the messageBodyProcessor, so in the event that processing rules change, someone can invalidate the processor cache by calling `resetCache()`, and then it recomputes bodies and triggers a refresh of each message body.
Test Plan: Updated existing tests, no new tests for this plugin just yet.
Reviewers: evan, juan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2235
Summary:
Refactor keymaps to wrap components with a <KeymapHandlers /> component.
This more Reactful way of declaring keyback handlers prevents us from
needing to subscribe to `atom.commands`
Test Plan: new tests
Reviewers: bengotow, juan
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2226
Summary:
We send database `trigger()` events through the ActionBrige to all windows of the app. This means that during initial sync, we're serializing, IPCing and unserializing thousands of models a minute x "N" windows.
This diff converts the payload of the trigger method into an actual class that implements a custom toJSON. It converts the impacted `objects` into a string, and doesn't deserialize them until it's asked.
Bottom line: this means that in many scenarios, we can avoid creating Contact models, etc. in composer windows only to broadcast them and then gc them.
Test Plan: No new tests yet, but this should definitel be tested. #willfix.
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2236
Summary:
- Updates support for ES6 code inside packages
- Displays system tray icon with unread count on darwin, or with bubble on other platforms
- Uses canvas api to dynamically generate icon image given unread count:
- Adds CavasUtils.canvasFromImgAndText to do this
- Adds config option to display system tray icon on darwin
Test Plan: Need to write the tests for this.
Reviewers: evan, bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2231
Summary:
ignores composition event commands until they're done. We then simply
update the new state after that happens.
Some additional refactoring:
- The <Contenteditable /> prop is 'value' instead of 'html' to make it
look more like a standard React controlled input
- Removed `filters` prop and `footerElements` prop from Contenteditable.
These could easily be moved into the composer (where they belong).
- Moved contenteditable and a few of its helper classes into their own
folder.
- Moved `UndoManager` up out of the `flux` folder into `src`. Currently
undo/redo is only in the composer when all contenteditables should have
the basic funcionality. Will refactor this later.
- Fix tests
Test Plan: manual
Reviewers: bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2211
Summary:
Adding signature support in preferences
Extracting out DraftStore extensions from the Contenteditable component
Moved Contenteditable to the nylas component kit
Build react remote window selection synchronization.
Test Plan: todo
Reviewers: bengotow
Reviewed By: bengotow
Differential Revision: https://phab.nylas.com/D2204
commit fc34b1fcb08a6f4a84e20c42eb2c6fd0952cf73a
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu Oct 29 13:37:59 2015 -0700
Revert one small capitalization change on Windows
commit c4b30c9b84166bd8847c83b748da316f8861650e
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu Oct 29 12:56:32 2015 -0700
Fix one remaining uppercase Nylas, remove unneeded build task
commit 1767341a36bd20990f884c636da236454fbf3761
Author: Asher Wood <awood5659@gmail.com>
Date: Thu Oct 29 10:34:47 2015 -0700
Update list of supported OSes
commit 2bac5a7e1c30ca63ae7be0d679b2a61a032449f9
Author: Asher Wood <awood5659@gmail.com>
Date: Thu Oct 29 10:30:53 2015 -0700
Nylas --> nylas
commit 19eed9bf096819df3588d82a4307770c1069c366
Author: Asher Wood <awood5659@gmail.com>
Date: Thu Oct 29 10:17:55 2015 -0700
Change '../Nylas' to `../nylas`
commit 9c7cba6ea29652d0d1544d51c387861984bc511a
Author: Asher Wood <awood5659@gmail.com>
Date: Tue Oct 27 21:33:29 2015 -0700
More uppercase/lowercase confusion. The icon is still not in the right place after install, but at least Nylas will open.
commit 30510f6978364398b7917917369b3f011b533606
Author: Asher Wood <awood5659@gmail.com>
Date: Tue Oct 27 21:06:33 2015 -0700
Fixed building rpms
Many file paths had had `/usr/local/share/nylas` instead of `/usr/local/share/Nylas`