Commit graph

668 commits

Author SHA1 Message Date
Ben Gotow d057e5f67b fix(emitter): Remove warning by increasing max listeners 2015-11-09 12:15:24 -08:00
Evan Morikawa 58873e81ea fix(keymap): run cmdctrl preprocessor on build too 2015-11-09 15:09:04 -05:00
Evan Morikawa 069b1835cd 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 d12af16583 fix(deps): Remove nodobjc until we re-enable native notifications 2015-11-07 18:15:40 -08:00
Ben Gotow e64e6e526d 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 e87b5700e2 fix(menu): Allow fast-switch between accounts 2015-11-06 18:19:49 -08:00
Ben Gotow 818e1ae986 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
Evan Morikawa d54b1929e9 fix(keymap): use atom-keymap 5.1.11 2015-11-06 15:16:57 -08:00
Evan Morikawa ff188253ab fix(account): fix initial token loading in account store 2015-11-06 14:45:00 -08:00
Evan Morikawa 13c0ffa989 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
Evan Morikawa 0f89de362c 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 b12354b7c2 fix(win10): Prevent duplicate taskbar items
Fixes #368, #184

Related to #351
2015-11-06 12:11:51 -08:00
Evan Morikawa 451816a183 fix(specs): fix specs 2015-11-06 12:08:32 -08:00
Evan Morikawa 455b418d6f 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 118761d79e 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 d838610290 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 29b077dbca fix(model): Optimization incompatible with specs, todo 2015-11-05 21:02:13 -08:00
Ben Gotow 4dfffae083 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 a77ba2b15d fix(composer): double-composition events supported 2015-11-05 17:52:21 -08:00
Ben Gotow 595c495f78 disable(notifs): Native notifs causing EXC_BAD_ACCESS in beta 2015-11-05 17:20:13 -08:00
Ben Gotow d0c153590f fix(ship-logs): Do not propogate fs errors (Sentry 6144) 2015-11-04 16:07:15 -08:00
Ben Gotow 716b4ec426 fix(sheet-toolbar): Make robust against mail view null names (Sentry 3861) 2015-11-04 16:04:28 -08:00
Ben Gotow 52ea696810 fix(notifs): Hopefully prevent gc of NodeObjC objects 2015-11-04 15:53:50 -08:00
Evan Morikawa 6d1dbe1dbf 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 03b7ee664f feat(contextual-menus): Basic cut/copy/paste for all inputs—#161 2015-10-29 21:24:51 -07:00
Ben Gotow 0956c18cab feat(shortcuts): Pageup/dn in message list, shift+pageup/dn in thread list 2015-10-29 20:34:43 -07:00
Ben Gotow 25ffea50f9 perf(message-store): Debounce reload of the message column—#249 2015-10-29 20:20:49 -07:00
Evan Morikawa fa3a2ee631 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
Evan Morikawa 6f658d293c doc(task): make methods public and add documentation 2015-10-29 15:11:01 -04:00
Ben Gotow afe77b27fb 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 4cb05cb14c fix(analytics): remove analytics 2015-10-28 20:06:01 -04:00
Evan Morikawa 1febd56ed5 fix(drafts): only syncback every 30 seconds instead of 5 seconds
This will help prevent API errors from causing multiple drafts to appear
2015-10-28 19:51:46 -04:00
Evan Morikawa 849736fcd5 fix(unread): can mark message as unread in split mode
Summary: Fixes T4835

Test Plan: new tests

Reviewers: bengotow

Reviewed By: bengotow

Maniphest Tasks: T4835

Differential Revision: https://phab.nylas.com/D2205
2015-10-28 17:50:07 -04:00
Ben Gotow e76adb283c feat(changelog): Link to changelog before and after updates
Summary: Link to the changelog, and add a new notification which appears after updates are installed

Test Plan: No tests to see here..

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2201
2015-10-27 16:48:05 -07:00
Ben Gotow e858eb6ebd rm(aws-sdk): Ship logs via request, eliminate aws-sdk 2015-10-27 16:35:38 -07:00
Ben Gotow 3a5f667a0b fix(files): Not-yet-downloaded files can be opened via double click
Fixes T4840
2015-10-27 11:05:33 -07:00
Ben Gotow 6d7743ae93 fix(workspace): Remember whether sidebar is hidden #190 2015-10-26 10:51:30 -07:00
Ben Gotow 65078fd7d1 fix(fullscreen): On Mac OS X, green window control defaults to fullscreen 2015-10-23 18:30:47 -07:00
Ben Gotow 5d11a1ece9 fix(atom): Prevent cache collisions with Atom 2015-10-23 17:03:41 -07:00
Ben Gotow 7e041be33c fix(drafts): Draft selection / deletion fixes 2015-10-23 16:04:27 -07:00
Ben Gotow 8127e91ef0 fix(change-folder): Show folder name when moving to folder 2015-10-23 14:50:39 -07:00
Evan Morikawa 539e9b3799 fix(archive): can archive and trash from focused message 2015-10-23 14:49:29 -07:00
Evan Morikawa 4390edcc64 fix(windows): fix apm package loading and onboarding styles 2015-10-23 12:18:00 -07:00
Ben Gotow ea23796bf8 fix(onboarding): Do not open plugin folders after install 2015-10-23 11:58:33 -07:00
Ben Gotow ebd98c711a fix(onboarding): Fix size animation, resolves #150 2015-10-23 11:35:13 -07:00
Ben Gotow fb088ad2f9 fix(tasks): Additional fixes 2015-10-22 18:07:59 -07:00
Ben Gotow bf50c01965 fix(tasks): Invalid coffeescript in 092c28d2c0 2015-10-22 17:26:14 -07:00
Ben Gotow 397d2bf694 fix(important): Resilient against invalid AccountStore state (Sentry 4049) 2015-10-22 16:05:33 -07:00
Ben Gotow cb4d3f2e39 fix(drafts): Reveal or focus windows for drafts when already open
Fixes T3883
2015-10-22 16:02:25 -07:00
Ben Gotow a3dbab332e fix(win): When windows are removed, keep ivars in sync 2015-10-22 15:57:34 -07:00