Commit graph

1567 commits

Author SHA1 Message Date
Evan Morikawa
119da453e1 feat(selection): add selection of read, unread, starred, etc
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
2015-11-09 10:03:55 -05:00
Ben Gotow
32ffc7123a fix(deps): Remove nodobjc until we re-enable native notifications 2015-11-07 18:15:40 -08:00
Ben Gotow
5074fde43b fix(deps): Go away git-utils, we never used you anyway 2015-11-07 18:05:24 -08:00
Ben Gotow
eb8810e01b fix(babel): Roll back to babel@5, see details
- 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
2015-11-07 14:27:18 -08:00
Ben Gotow
8dcbb7c1b4 bump(version): 0.3.22 2015-11-07 12:02:50 -08:00
Juan Tejada
fe8767fc0b fix(keymaps): create user keymaps file in .nylas/ if non existent 2015-11-06 19:01:31 -08:00
Ben Gotow
d9ef4c51e1 fix(menu): Allow fast-switch between accounts 2015-11-06 18:19:49 -08:00
Juan Tejada
5fa630b8c6 Update grunt tasks to lint and transpile es6 code using babel
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
2015-11-06 17:40:42 -08:00
Ben Gotow
f152cca4d6 feat(reading): Disable autoloading of images, opt-in one by one
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
2015-11-06 15:53:21 -08:00
Ben Gotow
1eee97f5d0 fix(win32): Allow npm dedupe to error, succeeds anyway 2015-11-06 15:47:28 -08:00
Evan Morikawa
9ca4e42b68 fix(keymap): use atom-keymap 5.1.11 2015-11-06 15:16:57 -08:00
Evan Morikawa
512c645123 fix(account): fix initial token loading in account store 2015-11-06 14:45:00 -08:00
Evan Morikawa
55d3e92f50 feat(keymap): add cmd+1, cmd+2, etc to quick-select accounts
Fix "unique key" for react props

Fix composer styling bug in popout composer
2015-11-06 14:38:50 -08:00
Ben Gotow
0ec4ea6fa8 fix(win10): Ignore stdout from apmDedupe 2015-11-06 14:35:30 -08:00
Juan Tejada
66252fc7bc fix(system-tray): properly deactivates package 2015-11-06 13:52:08 -08:00
Evan Morikawa
6588da7f33 fix(signatures): temporarily disable signatures in preferences 2015-11-06 12:40:34 -08:00
Ben Gotow
ec61918634 fix(win10): Add more resolutions to the windows .ico
Fixes #351
2015-11-06 12:24:24 -08:00
Evan Morikawa
455b4563a9 feat(log): extract reporting and log API failures
Summary: We now log API failures

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2216
2015-11-06 12:20:01 -08:00
Ben Gotow
bfb16bbe1a fix(win10): Prevent duplicate taskbar items
Fixes #368, #184

Related to #351
2015-11-06 12:11:51 -08:00
Evan Morikawa
0fae7ce13c fix(specs): fix specs 2015-11-06 12:08:32 -08:00
Evan Morikawa
37e3fe0f45 feat(keymap): add new <KeymapHandlers />
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
2015-11-06 11:47:06 -08:00
Ben Gotow
0b84942051 perf(db): Lazily deserialize models on the other side of the action bridge
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
2015-11-06 11:15:20 -08:00
Juan Tejada
a6c44b8529 feat(system-tray): add system-tray package
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
2015-11-06 11:12:38 -08:00
Ben Gotow
3053fc817e fix(model): Optimization incompatible with specs, todo 2015-11-05 21:02:13 -08:00
Ben Gotow
496ec58e99 perf(fromJSON): 40% perf increase by fixing "forin not optimized case"
https://github.com/petkaantonov/bluebird/wiki/Optimization-killers
2015-11-05 20:16:06 -08:00
Evan Morikawa
0f9b8159bf fix(composer): double-composition events supported 2015-11-05 17:52:21 -08:00
Ben Gotow
fefec6404a disable(notifs): Native notifs causing EXC_BAD_ACCESS in beta 2015-11-05 17:20:13 -08:00
Ben Gotow
dc538930a7 fix(search): Allow typing in the middle of the search text 2015-11-04 17:11:40 -08:00
Ben Gotow
f59de7262d fix(ship-logs): Do not propogate fs errors (Sentry 6144) 2015-11-04 16:07:15 -08:00
Ben Gotow
86fc3a4c2b fix(sheet-toolbar): Make robust against mail view null names (Sentry 3861) 2015-11-04 16:04:28 -08:00
Ben Gotow
408e96945c fix(notifs): Hopefully prevent gc of NodeObjC objects 2015-11-04 15:53:50 -08:00
Ben Gotow
e313521197 fix(paths): Flatten npm inside of apm to cut 20 chars from max path length 2015-11-03 12:00:43 -08:00
Ben Gotow
b9704c011c bump(version): 0.3.21 2015-11-02 16:40:25 -08:00
Ben Gotow
9a41f04615 fix(specs): Don't check for updates during spec runs 2015-11-02 11:56:11 -08:00
Ben Gotow
c1bf8ae026 fix(deltas): Use the official API to create cursors 2015-10-30 22:20:41 -07:00
Evan Morikawa
eea25a307d fix(composer): support Chinese & others - handle composition events
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
2015-10-30 20:03:33 -04:00
Ben Gotow
595f80f75f fix(packaging): Resolve codesign issue on 10.11 due to bad symlink 2015-10-30 15:27:39 -07:00
Ben Gotow
50576e59e3 feat(contextual-menus): Basic cut/copy/paste for all inputs—#161 2015-10-29 21:24:51 -07:00
Ben Gotow
6bee127134 feat(shortcuts): Pageup/dn in message list, shift+pageup/dn in thread list 2015-10-29 20:34:43 -07:00
Ben Gotow
6170b34533 perf(message-store): Debounce reload of the message column—#249 2015-10-29 20:20:49 -07:00
Ben Gotow
538af665cf fix(sp): It's => its 2015-10-29 19:35:31 -07:00
Nicholas Capo
01f128441a Update debian package libgcrypt dependency
* Package libgcrypt11 is no longer available in Debian or Ubuntu
* Allow installing the package with libgcrypt20 instead
2015-10-29 21:00:49 -05:00
Ben Gotow
13a92a19b7 Update CONTRIBUTING.md 2015-10-29 16:58:46 -07:00
Ben Gotow
b50dd3e2e4 Update CONTRIBUTING.md 2015-10-29 16:56:16 -07:00
Evan Morikawa
cc61aa7811 feat(signatures): add signature support in preferences
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
2015-10-29 17:20:41 -04:00
Asher Wood
8cbcace3ef Merge pull request #240 from Zeklandia/master
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`
2015-10-29 13:46:47 -07:00
Evan Morikawa
78f6829c1b doc(task): make methods public and add documentation 2015-10-29 15:11:01 -04:00
Ben Gotow
62d45698d1 fix(thread-list): Line up sender, subject and snippet
Fixes GitHub issue #278
2015-10-29 11:30:06 -07:00
Ben Gotow
29cc5853b3 feat(notifs): Native notifications for Mac OS X, Win coming
Summary: Replaces `new Notification`-based HTML5 notifications with system native notifications on Mac OS X. This allows us to implement the "Reply" button in the notifications. This will also serve as the hook for native Windows notifications, which are unsupported in Chromium.

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2199
2015-10-29 11:23:51 -07:00
Evan Morikawa
8611b40d7a fix(analytics): remove analytics 2015-10-28 20:06:01 -04:00