Commit graph

1750 commits

Author SHA1 Message Date
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
Ben Gotow
8f13b71403 fix(notifs): Make sure notifs always have thread references
Summary:
This started as a fix to https://sentry.nylas.com/sentry/edgehill/group/2970/, which was caused by `threads[msg.threadId]?.categoryNamed('inbox') isnt null`, because `undefined isnt null`.

Then I realized that we batch "incoming" messages and threads arbitrarily, and the reason this happened is because the thread and message were split into different delta updates. Previously, notifications would just have been skipped.

Now we call `_onNewMessagesMissingThreads` when threads cannot be found for new messages, and then try to find the threads again in 10 seconds. If we can find them, we simulate a delta call and run them back through the processor. It would have been simpler to call `_onNewMailReceived` again directly, but I want to be 100% sure we never create infinite loops.

Test Plan: Run new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2188
2015-10-28 16:55:35 -07:00
Evan Morikawa
d0212c3dd9 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
985a8b55fe fix(ui): better unread count box
Smaller box that sits next to item.
Drafts is now no longer a strong color
Fixes T3535
2015-10-28 18:50:04 -04:00
Evan Morikawa
ede7eda3c4 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
f7e646714f changelog: 0.3.20 release notes 2015-10-28 14:38:48 -07:00
Ben Gotow
6bbe9308cf fix(notifications): Buttons always triggered default action 2015-10-28 10:47:44 -07:00
Ben Gotow
339da554b0 fix(cibuild): unlinkSync => rmdirSync 2015-10-27 18:45:59 -07:00
Ben Gotow
a9bf2a39fe fix(cibuild): apm needs dependencies, fix for npm3 2015-10-27 18:29:14 -07:00
Ben Gotow
19363d94dd bump(version): 0.3.20 2015-10-27 18:09:49 -07:00
Ben Gotow
5e2282a2a0 fix(bootstrap): Always use npm3 in ./build to install apm 2015-10-27 17:04:14 -07:00
Ben Gotow
edaf751c3b 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
08e2e7581a fix(onboarding): Check code format before hitting API 2015-10-27 16:43:07 -07:00
Ben Gotow
43a61d2471 rm(aws-sdk): Ship logs via request, eliminate aws-sdk 2015-10-27 16:35:38 -07:00
Ben Gotow
848fa10dee ⇧(npm): Move to NPM3 to shorten paths on Win32 2015-10-27 16:23:12 -07:00
Ben Gotow
0ff48ca9a6 rm(composer): Dead code related to Scribe / Bower 2015-10-27 11:38:39 -07:00
Ben Gotow
96bbbb6904 Create CHANGELOG.md 2015-10-27 11:36:40 -07:00
Ben Gotow
43c43a6bf5 fix(search): New X, focus styling for search
Fixes T3485
2015-10-27 11:28:11 -07:00