Commit graph

805 commits

Author SHA1 Message Date
Ben Gotow bbea8beee5 fix(feedback): Move feedback window creation to app process
Prevents cross-window callbacks that are preventing the app from quitting
2015-11-09 12:15:24 -08:00
Ben Gotow a4df144dbf fix(autoload-images): Check to see if whitelist exists 2015-11-09 12:15:24 -08:00
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
Juan Tejada fe8767fc0b fix(keymaps): create user keymaps file in .nylas/ if non existent 2015-11-06 19:01:31 -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
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
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
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
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 dc538930a7 fix(search): Allow typing in the middle of the search text 2015-11-04 17:11:40 -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 6bee127134 feat(shortcuts): Pageup/dn in message list, shift+pageup/dn in thread list 2015-10-29 20:34:43 -07:00
Ben Gotow 538af665cf fix(sp): It's => its 2015-10-29 19:35:31 -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
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
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 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
Ben Gotow 6bbe9308cf fix(notifications): Buttons always triggered default action 2015-10-28 10:47:44 -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 0ff48ca9a6 rm(composer): Dead code related to Scribe / Bower 2015-10-27 11:38:39 -07:00
Ben Gotow 43c43a6bf5 fix(search): New X, focus styling for search
Fixes T3485
2015-10-27 11:28:11 -07:00
Ben Gotow 69e4ba32ac fix(files): Not-yet-downloaded files can be opened via double click
Fixes T4840
2015-10-27 11:05:33 -07:00
Ben Gotow 703b9decfa fix(onboarding): Request /status/ to avoid 302 2015-10-27 10:50:18 -07:00
Ben Gotow 2ddfb1595a fix(prefs): Fix overflow of account names. #175 2015-10-26 10:47:47 -07:00
Ben Gotow 09ed1ea415 fix(prefs): Guard against null account in preferences window 2015-10-26 10:47:47 -07:00
Ben Gotow 5c5c1e98c1 fix(drafts): Draft selection / deletion fixes 2015-10-23 16:04:27 -07:00
Ben Gotow 528224a184 fix(sidebar): Better disclosure triangle position on multiline labels / folders 2015-10-23 16:04:27 -07:00
Evan Morikawa 7711ec533e fix(onboarding): fix add account button width 2015-10-23 15:21:58 -07:00
Ben Gotow 992b90d969 fix(message-list): Clicking Archive or Trash should pop back to the thread list 2015-10-23 15:21:37 -07:00
Ben Gotow e9141a44ec fix(plugins): Packages => Plugins in a few more places 2015-10-23 15:14:44 -07:00
Evan Morikawa cc95662adc fix(win): composer and input styles 2015-10-23 15:04:35 -07:00
Ben Gotow aeb756cb27 fix(undo-redo): Fix "undo" button clickability, improve animation 2015-10-23 15:03:12 -07:00
Ben Gotow cb50b3700b fix(list): Additional focused CSS changes 2015-10-23 14:55:07 -07:00
Ben Gotow 29fdd3024a fix(threads): Show the archive button in the bulk action bar 2015-10-23 14:50:39 -07:00
Evan Morikawa 45466a18b0 fix(archive): can archive and trash from focused message 2015-10-23 14:49:29 -07:00
Ben Gotow 096e829f33 fix(list): Incorrect snippet color on unread selected threads in narrow mode 2015-10-23 12:54:02 -07:00
Ben Gotow a84e1b3db4 fix(keymaps): Reveal keymap.cson rather than opening 2015-10-23 12:49:14 -07:00
Ben Gotow 316d460288 fix(thread-list): Better hover state for quick actions 2015-10-23 12:47:32 -07:00
Evan Morikawa 4b7a3264bd fix(windows): fix apm package loading and onboarding styles 2015-10-23 12:18:00 -07:00
Ben Gotow 5c57817ee6 fix(onboarding): Do not open plugin folders after install 2015-10-23 11:58:33 -07:00
Ben Gotow 7d45b1ec97 fix(onboarding): Replace ❤️ with a heart image for win32 2015-10-23 11:42:55 -07:00
Ben Gotow 256330c3cb fix(onboarding): Fix size animation, resolves #150 2015-10-23 11:35:13 -07:00
Ben Gotow 404d0d2ec3 Merge pull request #121 from madhugb/master
Fixed a pixel cut in floating-toolbar
2015-10-23 09:54:39 -07:00
Ben Gotow acc0c18bc6 fix(drafts): Fix missing import, resolves Sentry 4041 2015-10-22 16:13:37 -07:00
Ben Gotow 084fcb53e4 fix(spellcheck): Fix dead code, resolve Sentry 3594 2015-10-22 16:08:03 -07:00
Evan Morikawa e9acc3d315 fix(event): remove EventStore
Summary:
The EventStore was really doing nothing, except caching hundreds of MB of
event data unnecessarily in each and every window :(

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2187
2015-10-22 14:14:58 -07:00
Ben Gotow 9ff6c4912c fix(feedback): Links should open in the user's default browser 2015-10-22 11:34:51 -07:00
Ben Gotow a83201ef7e feat(sidebar): Hierarchical folders/labels in the sidebar, rendering perf
Summary:
Fix label sorting... apparently we just synced them in creation date order

Allow labels / folders to be nested using separators `.`, `/`, and `\`

Allow collapsing of nested labels in sidebar

Add overflow hidden to some core flexboxes, which dramatically reduces repaints because it knows columns will not overflow into other columns

Prevent scroll region contents from re-rendering all the time, not sure why this works

Add test for account sidebar store

Test Plan: Run new test of AccountSidebarStore

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2181
2015-10-22 10:53:57 -07:00
Ben Gotow 53137a9bfa fix(onboarding): Correct error where token pane is too small 2015-10-22 10:32:20 -07:00
Madhu GB 7122d22da9 A pixel cut in floating-toolbar 2015-10-22 11:18:55 +05:30
Evan Morikawa e8c4790d40 fix(lint): fix indentation linter error 2015-10-21 20:39:05 -07:00
Evan Morikawa 2500e52179 feat(windows): improve UI for Windows
Remove rounded corners and gradients
2015-10-21 20:32:33 -07:00
Evan Morikawa 134702805d feat(windows): upgarade preferences UI on Windows 2015-10-21 17:28:52 -07:00
Ben Gotow 2afbc0a6bd fix(empty-state): Subpixel animation via translate3d 2015-10-21 14:52:50 -07:00
Ben Gotow 05e24838bd Merge pull request #109 from NSHenry/master
feat(onboarding): Optional eas_server_host field for Exchange auth
2015-10-21 14:38:17 -07:00
Ben Gotow 2ec22dda5a fix(account-switcher): Chevron icon was upside-down 2015-10-21 14:12:27 -07:00
Ben Gotow d4a3c1dad9 Merge pull request #113 from agudulin/master
style(*): Add styles for <select> elements, override system defaults
2015-10-21 13:56:16 -07:00
Evan Morikawa 8808a821f8 feat(win32): improve button styles for Win 8.1 spec 2015-10-21 12:17:34 -07:00
Ben Gotow 392ba542b1 fix(category): Consolidate logic around "archive" vs" all" 2015-10-21 11:58:06 -07:00
Ben Gotow b963688455 fix(art): Correct "Trash" icon, naming consistency 2015-10-21 11:58:05 -07:00
Alexander Gudulin 60a8ec96e9 Revert back container width, fix controls align 2015-10-21 21:52:04 +03:00
Evan Morikawa 1fc6dfc38a feat(tooltip): use native tooltip style 2015-10-21 11:27:57 -07:00
Alexander Gudulin d8b18b9adf Setup styles for dropdown (select) control 2015-10-21 21:27:53 +03:00
Ben Gotow 98a2464e0f fix(specs): Unbreak tests for CategoryPicker 2015-10-21 10:57:42 -07:00
Ben Gotow 4f34c8403f feat(trash): Trash for Gmail, and architectural changes for common tasks
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
2015-10-21 10:38:00 -07:00
Ben Gotow f7c6ae0774 fix(toolbars): Cross disolve toolbar items on a one-off basis
Summary:
This diff removes the timeout transition group from the sheet-toolbar, which was causing toolbar items to fade when columns were opened / closed and they were moved from column to column.

Instead, I'm just animating the message toolbar items, which are one of the few sets of toolbar items that really should fade, and do so as an entire set.

I've also renamed the "sheet-toolbar" animation to "opacity-125ms". I think it'd be cool to create a standard set of these animations, but I didn't see any others it would make sense to create generic names for yet. (The others have weird timings or are bound up inside packages).

Resolves Github #90

Test Plan: No new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2159
2015-10-21 10:34:14 -07:00
Evan Morikawa 531118ac5c fix(tasks): don't continue if dependent task fails
Summary:
Fixes T4291

If I made a final edit to a pre-existing draft and sent, we'd queue a
`SyncbackDraftTask` before a `SendDraftTask`. This is important because
since we have a valid draft `server_id`, the `SendDraftTask` will send by
server_id, not by POSTing the whole body.

If the `SyncbackDraftTask` fails, then we had a very serious issue whereby
the `SendDraftTask` would keep on sending. Unfortunately the server never
got the latest changes and sent the wrong version of the draft. This
incorrect version would show up later when the `/send` endpoint returned
the message that got actually sent.

The solution was to make any queued `SendDraftTask` fail if a dependent
`SyncbackDraftTask` failed.

This meant we needed to make the requirements for `shouldWaitForTask`
stricter, and block if tasks failed.

Unfortunatley there was no infrastructure in place to do this.

The first change was to change `shouldWaitForTask` to `isDependentTask`.
If we're going to fail when a dependent task fails, I wanted the method
name to reflect this.

Now, if a dependent task fails, we recursively check the dependency tree
(and check for cycles) and `dequeue` anything that needed that to succeed.

I chose `dequeue` as the default action because it seemed as though all
current uses of `shouldWaitForTask` really should bail if their
dependencies fail. It's possible you don't want your task dequeued in this
dependency case. You can return the special `Task.DO_NOT_DEQUEUE_ME`
constant from the `onDependentTaskError` method.

When a task gets dequeued because of the reason above, the
`onDependentTaskError` callback gets fired. This gives tasks like the
`SendDraftTask` a chance to notify the user that it bailed. Not all tasks
need to notify.

The next big issue was a better way to determine if a task truely errored
to the point that we need to dequeue dependencies. In the Developer Status
area we were showing tasks that had errored as "Green" because we caught
the error and resolved with `Task.Status.Finished`. This used to be fine
since nothing life-or-death cared if a task errored or not. Now that it
might cause abortions down the line, we needed a more robust method then
this.

For one I changed `Task.Status.Finished` to a variety of finish types
including `Task.Status.Success`. The way you "error" out is to `throw` or
`Promise.reject` an `Error` object from the `performRemote` method. This
allows us to propagate API errors up, and acts as a safety net that can
catch any malformed code or unexpected responses.

The developer bar now shows a much richer set of statuses instead of a
binary one, which was REALLY helpful in debugging this. We also record
when a Task got dequeued because of the conditions introduced here.

Once all this was working we still had an issue of sending old drafts.

If after a `SyncbackDraftTask` failed, now we'd block the send and notify
the users as such. However, if we tried to send again, there was a
separate issue whereby we wouldn't queue another `SyncbackDraftTask` to
update the server with the latest information. Since our changes were
persisted to the DB, we thought we had no changes, and therefore didn't
need to queue a `SyncbackDraftTask`.

The fix to this is to always force the creation of a `SyncbackDraftTask`
before send regardless of the state of the `DraftStoreProxy`.

Test Plan: new tests. Lots of manual testing

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: mg

Maniphest Tasks: T4291

Differential Revision: https://phab.nylas.com/D2156
2015-10-21 10:33:43 -07:00
Nate Henry 3d8bf1e199 Added eas_server_host field
eas_server_host field added to allow for specifying the Exchange server
if necessary.
2015-10-21 11:33:11 -04:00
Ben Gotow 8c2f27c103 fix(thread-list): stop thread-icons from shrinking, justify participants explicitly 2015-10-14 18:05:29 -07:00
Ben Gotow aca9de07d9 fix(config): new mail sounds on by default, change config keypath
unread-notifications.sounds => core.notifications.sounds
2015-10-14 17:11:36 -07:00
Ben Gotow 87bb79fcc2 fix(sidebar): Prevent white top border in all scenarios 2015-10-12 11:14:44 -07:00
Ben Gotow 12382e1c41 fix(sidebar): Remove top margin causing white border 2015-10-12 11:04:27 -07:00
Ben Gotow 2d53d65959 fix(feedback): Make button slightly smaller, less obtrusive 2015-10-12 11:04:27 -07:00
Ben Gotow b1c3ab2e10 fix(thread-list): Enable drag and drop in narrow view 2015-10-12 11:04:27 -07:00
Ben Gotow 20204bf377 fix(intercom): Badge the intercom button, don't use safe-ipc 2015-10-09 16:12:52 -07:00
Evan Morikawa 8755786d90 fix(theme): more consistent styles for dark-mode theme 2015-10-09 16:05:26 -07:00
Ben Gotow 83f9f0e4ff fix(specs): ContactStore spec fixes for new contact ranking support 2015-10-09 13:42:24 -07:00
Drew Regitsky 0332d7264e fix(contacts): move contact rank fetching to sync workers, refactor
Summary:
Fixes bug where contact ranking was not being fetched, and refactors the refreshing
of contact ranks. Moves periodic refreshing of the database-stored ranks to the sync
workers so it occurs in the background, once per account. Refactors JSON cache code
accordingly.

Test Plan: manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2137
2015-10-09 12:40:36 -07:00
Evan Morikawa eb0a915bc2 Fix scrollability in expanded activity sidebar
Summary:
If your screen is narrow or you are syncing a lot of stuff, the expanded
activity sidebar had no scroll affordance

Test Plan: manual

Reviewers: drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2135
2015-10-09 09:31:37 -07:00
Ben Gotow 215fa0e4cb fix(initial-sync): When an error is encountered, do not start fetching from zero again
Summary:
Previously, when an error was encountered during initial mailbox sync we just started it
over after a retry delay. Recent API uptime issues mean that this was happening often and lots of
people were seeing sync retry many times. This is bad because the app is less performant while
it's syncing mail, and also generates unnecessary load as the app re-fetches threads it already has.

In this diff, there are new specs and functionality in nylas-sync-worker to start fetching
where we left off. This is typically going to be OK because the default sort ordering of the
threads endpoint is newest->oldest, so if new items have arrived since we started fetching
and page boundaries have changed, we'll get duplicate data rather than missing data. Connceting
to the streaming API as soon as we start the sync also ensures that we roll up any changes to
data we've already paginated over.

Test Plan: Run tests

Reviewers: drew, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2132
2015-10-08 19:02:54 -07:00
Evan Morikawa b0e7769e94 fix(developer): visual improvements to developer bar
Summary: Make ETIMEDOUT red

Test Plan: manual

Reviewers: bengotow, dillon

Reviewed By: dillon

Differential Revision: https://phab.nylas.com/D2126
2015-10-07 17:28:45 -07:00
Drew Regitsky 09b91a0a28 feature(feedback): move feedback to a package, indicator for new msgs
Summary: Move all Intercom feedback code to a package. Change the appearance of the lower right question mark icon when a new intercom message is received (red, with repeating CSS bounce animation). New messages are detected by keeping the intercom window open (after the first time it's opened by the user), and listening for DOM mutations of particular classes.

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: evan

Differential Revision: https://phab.nylas.com/D2125
2015-10-07 13:55:54 -07:00
Ben Gotow 5a2ddb67d5 fix(auth): Resize the auth window after an update to the token status 2015-10-06 17:58:07 -07:00
Drew Regitsky 62fb708797 fix(onboarding): fix error handling for invalid account data from server
Summary:
Change `addAccountFromJSON` in `AccountStore` to throw an exception when it encounters
invalid data, instead of calling `atom.emitError()`. Just calling `emitError` doesn't
throw an exception, so the code proceeds as if an account has been added. Instead, call
`emitError` from AccountSettingsPage, and display an error message to the user.

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: evan

Differential Revision: https://phab.nylas.com/D2116
2015-10-05 17:31:29 -07:00
Ben Gotow b38ca54b45 fix(specs): Clean up spec failures due to hot fixes prior to launch 2015-10-05 16:45:30 -07:00
Michael Grinich 1772a43878 actually no more gh-pages 2015-10-05 05:08:53 -07:00
Ben Gotow 90db758863 fix(auth): Rename edgehill.token => invitationCode in config 2015-10-05 03:34:11 -07:00
Ben Gotow 0a891ba8c6 fix(auth): Merge but temporarily disable encrpytion during Gmail Oauth 2015-10-05 03:27:28 -07:00
Ben Gotow c1b4596bbe fix(onboarding): Packages => plugins, at least in the text 2015-10-05 02:07:10 -07:00
Evan Morikawa d09d292382 fix(styles): padding fixes 2015-10-05 00:38:48 -07:00
Ben Gotow cef0933d0c disable(events): Turn off the events package until it can be polished 2015-10-04 16:57:43 -07:00
Ben Gotow b139556409 fix(lint): Indentation causing linter failures 2015-10-04 16:53:39 -07:00
Ben Gotow 467955dc2c fix(onboarding): Invitation code system, just in case
commit 64938016f6ffbf366a220e7abd9af6f7a4cb478b
Author: Ben Gotow <bengotow@gmail.com>
Date:   Sun Oct 4 16:42:38 2015 -0700

    Don't allow people to double click the token check button, make requests take at least 400msec

commit e548f3ee449c676a813c5630f1624963872ed6e6
Merge: 3350b91 e4b4933
Author: Ben Gotow <bengotow@gmail.com>
Date:   Sun Oct 4 16:39:56 2015 -0700

    Merge branch 'token-auth' of github.com:nylas/N1 into token-auth

    # Conflicts:
    #	internal_packages/onboarding/lib/token-auth-page.cjsx

commit 3350b917449c29299fa078d59a4a5a9339fdf29b
Author: Ben Gotow <bengotow@gmail.com>
Date:   Sun Oct 4 16:38:52 2015 -0700

    Improve a few error states, adding "checking" state when checking token

commit e4b49334cbf59145d9bdd955d35636f16a7c4924
Author: EthanBlackburn <ethan@nylas.com>
Date:   Sun Oct 4 16:21:39 2015 -0700

    Correct retry behavior

commit 11cd9a75b2a1ca0f4347160df93815743909ccea
Author: EthanBlackburn <ethan@nylas.com>
Date:   Sat Oct 3 18:06:55 2015 -0700

    Removed old auth token variable

commit afe451cd70de528def3443d8b373fd24f4aa5cde
Author: EthanBlackburn <ethan@nylas.com>
Date:   Sat Oct 3 16:08:12 2015 -0700

    Added token auth page
2015-10-04 16:49:41 -07:00
Ben Gotow 155af462a9 fix(timeouts): Wait 5 mintues before hanging up /send 2015-10-04 00:54:07 -07:00
Ben Gotow fe06835540 fix(notifications): Add a purple tint color for developer notification 2015-10-04 00:22:59 -07:00
Ben Gotow 4539cf2e24 fix(account-switcher): Switcher should not be part of the scroll region in the sidebar 2015-10-04 00:19:29 -07:00
Ben Gotow 308c70f53d fix(sync): Request all labels / folders to avoid paging and missing inbox 2015-10-03 23:53:59 -07:00
Ben Gotow 84c8e2f99d fix(icons): New artwork for a few initial packages, labels 2015-10-03 23:34:43 -07:00
Ben Gotow c25a3c7ea0 fix(sidebar): Make the sidebar labels slightly smaller 2015-10-03 23:00:34 -07:00
Ben Gotow 8a2d10d3bd fix(feedback): Change default window position, move handling to main window, hide close buttons in Intercom 2015-10-03 22:22:12 -07:00
Eben Freeman 01652ffb24 feat(feedback): intercom for feedback
Summary:
Caveat: If you submit feedback from one account, and then switch accounts and
submit feedback again, the data from the old account still gets passed. It
looks like that was true with the previous compose-a-draft-with-feedback action
too. Maybe you know how to fix this? I couldn't figure it out.

Test Plan: Try it out! Not sure how to usefully write specs.

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2106
2015-10-03 22:05:20 -07:00
Ben Gotow b79680f9cc fix(install-package): Point to the examples directory by default 2015-10-03 19:31:31 -07:00
Ben Gotow 31c7a330bf feat(dev-mode): Toggle dev mode, sticky through restarts 2015-10-03 19:04:19 -07:00
Ben Gotow cff7f8834e feat(plugins): Restore the plugins sidebar view 2015-10-03 18:11:36 -07:00
Ben Gotow 0a1ebd7d30 feat(templates): Final examples package is in - templates! 2015-10-03 14:05:47 -07:00
Evan Morikawa 9e41843fa4 fix(styles): fix fonts in settings and iframe 2015-10-02 17:48:36 -07:00
Evan Morikawa 71e90d2a61 fix(composer): composer doesn't jump with attachments
Summary: Fixes T3778

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Projects: #edgehill

Maniphest Tasks: T3778

Differential Revision: https://phab.nylas.com/D2102
2015-10-02 17:14:00 -07:00
Evan Morikawa 609b6107f9 feat(auth): add disabled state to forms when submitting
Summary: Fixes T3773

Test Plan: manual

Reviewers: drew, bengotow

Reviewed By: bengotow

Maniphest Tasks: T3773

Differential Revision: https://phab.nylas.com/D2105
2015-10-02 17:10:49 -07:00
Evan Morikawa 39266026d1 fix(sounds): make sounds listen to config options
Summary: Fixes T3887

Test Plan: new specs

Reviewers: bengotow

Reviewed By: bengotow

Projects: #edgehill

Maniphest Tasks: T3887

Differential Revision: https://phab.nylas.com/D2104
2015-10-02 17:04:15 -07:00
Drew Regitsky 27c594f13f fix(onboarding): fix chrome render bug on startup 2015-10-02 16:52:00 -07:00
Drew Regitsky 1a3294f100 feat(onboarding): add hotmail as a provider
Summary:
Adds a button for hotmail/outlook as a provider. Username field is not
shown is set to the email address for submitting to Nylas.

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: evan

Differential Revision: https://phab.nylas.com/D2095
2015-10-02 16:12:08 -07:00
Drew Regitsky 05ed20e539 fix(welcome): small ui tweaks in welcome/onboarding
Summary: Change the white logo to have an inner shadow, and set to PreserveContent. Fix typo in welcome page. Tweak some text opacity for readability.

Test Plan: manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Subscribers: bengotow

Differential Revision: https://phab.nylas.com/D2090
2015-10-02 15:34:56 -07:00
Drew Regitsky 7d799b64e8 fix(onboarding): fix IMAP port fields, enter key behavior
Summary:
Fix issue where ports were being stored as strings - add a format field for
account settings that turns on casting to int when set to `integer`.

Change behavior of pressing enter - rather than always submitting, have it
move to the next page on multi-page account settings.

Test Plan: manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Subscribers: bengotow

Differential Revision: https://phab.nylas.com/D2094
2015-10-02 15:32:59 -07:00
Ben Gotow 88fdfd9a77 fix(specs): Fix specs for environment config 2015-10-02 15:31:05 -07:00
Ben Gotow d5a5cdd4eb switch(env): Move N1 to Nylas production API 2015-10-02 15:01:31 -07:00
Evan Morikawa 137e09eb51 refactor(spec) move spec-nylas to spec 2015-10-01 21:39:44 -07:00
Evan Morikawa 339ce4395a feat(sounds): add new sound registry 2015-10-01 19:24:06 -07:00
Evan Morikawa 85eb94b90f fix(fonts): update fonts and styles 2015-10-01 17:55:11 -07:00
Ben Gotow e1d337ddd4 fix(send): Don't put a tooltip on the very obvious send button 2015-10-01 16:20:48 -07:00
Evan Morikawa ae69790024 feat(archive): shows trash for non-archive accounts
Summary:
Fixes T3570
Fixes T3737

Rename ArchiveThreadHelper to RemoveThreadHelper

Rename of `getRemovalTask`

Remove unarchive from `RemoveThreadHelper`. Pass in mailviewfilter

Rename actions

Rename archive action

renmaing

support trash and archive folders in RemoveThreadHelper

Move everything over to trash

add tests

Hide trash and archive

Test Plan: new tests

Reviewers: dillon, bengotow

Reviewed By: dillon, bengotow

Maniphest Tasks: T3570, T3737

Differential Revision: https://phab.nylas.com/D2089
2015-09-30 19:51:48 -07:00
Ben Gotow 4db5307c5f perf(toolbar): Remove rather than hide message toolbar items (incl. category picker) 2015-09-30 15:00:49 -07:00
Drew Regitsky d931862bcd fix(composer): Change text color of collapsed recipients
Change the color to be regular text, instead of the same color as
placeholder text.
2015-09-30 14:41:01 -07:00
Ben Gotow 44a235eb6f fix(account-switcher): Add Account > Manage Accounts 2015-09-30 12:29:56 -07:00
Ben Gotow ff9b25220e fix(category-picker): Better styles for long labels/folders 2015-09-30 12:07:00 -07:00
Ben Gotow 56374a6966 fix(auth): Allow enter/return to submit account settings form, animate button 2015-09-30 11:58:40 -07:00
Ben Gotow 93e29d01d8 fix(initial-packages): Pull from examples directory, include in ci builds 2015-09-30 11:43:06 -07:00
Evan Morikawa fccdb8792e feat(sync): request a smaller page size initially
Summary:
Check out:
https://docs.google.com/a/nylas.com/spreadsheets/d/1XdhBYi83cyRSLM1GYwPFp0neOl4jN_5BmDm5lWH77q0/edit?usp=sharing

Also work window loads immediately after we have account credentials

Test Plan: new tests

Reviewers: dillon, bengotow

Reviewed By: dillon, bengotow

Differential Revision: https://phab.nylas.com/D2083
2015-09-30 10:47:33 -07:00
Ben Gotow f44f84a583 fix(task-counts): In the activity box, show "Moving to folder... (4) = threads not task counts
Test Plan: Run tests

Reviewers: dillon, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2087
2015-09-30 09:54:14 -07:00
Ben Gotow 4e300015b5 fix(react-keys): ActivitySidebar had a few missing component keys 2015-09-30 00:35:45 -07:00
Ben Gotow 76cb33b3f6 feat(post-auth): Initial prefs + packages screens, welcome copy changes
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
2015-09-29 23:58:30 -07:00
Ben Gotow e9879a5495 feat(feedback): Add blue feedback button in bottom left, remove dead code from DeveloperBarStore
Summary: Adds a prominent blue button to email us feedback

Test Plan: Run tests

Reviewers: dillon, evan

Reviewed By: dillon, evan

Differential Revision: https://phab.nylas.com/D2081
2015-09-29 23:20:23 -07:00
Ben Gotow ddb19420fa fix(composer): Do not unregister composer hot windows when a composer is closed 2015-09-29 10:15:37 -07:00
Ben Gotow 1a0292a37e fix(docs): Replace docs references to Edgehill with N1 2015-09-29 09:45:02 -07:00
Ben Gotow 1d9a34f5ea rename(Nylas Mail): Replace Nylas Mail > N1 2015-09-29 09:44:30 -07:00
Ben Gotow e00eda6e16 fix(lint): Bad 0px in onboarding.less 2015-09-28 10:26:58 -07:00
Evan Morikawa 0a788a187e fix(composer): fix to tabbing field with test
Summary: Fixes in tabbing and css updates in composer

Test Plan: new tests

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2075
2015-09-28 12:55:45 -04:00
Ben Gotow 4bdbba4b67 fix(toolbar-style): Tiny adjustmnts to better match Mac OS X Yosemite 2015-09-28 03:00:20 -07:00
Ben Gotow e7adc2d198 fix(thread-list): Focused / selected threads appear gray when window is blurred 2015-09-28 02:43:46 -07:00
Ben Gotow b18ef78239 fix(onboarding): Cleanup for recent commits to onboarding workflow. See description
- rm dead addAccount code that came back in a merge

- use command everywhere to open onboarding

- centralize close vs. quit logic in an OnboardingAction

- fix issue where the window size is calculated improperly because we have a padding value which is a fraction of height. In fact, remove no-top / padding-top 10% for good.
2015-09-28 02:12:35 -07:00
Ben Gotow b56769bbde fix(onboarding): Page content should remain centered when transitioning smaller 2015-09-28 01:52:55 -07:00
Ben Gotow aab2726caf fix(compression-priority): Make message list the flex column by giving it the largest max-width 2015-09-28 01:44:36 -07:00
Ben Gotow 7041ec1764 fix(delta-activity): Make the loading spinner slightly smaller 2015-09-28 01:37:25 -07:00
Ben Gotow 41b455d33e fix(developer-bar): Critical fixes to curl display
- 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
2015-09-27 23:43:59 -07:00
Eben Freeman 3f709b8b9c (fix)onboarding: Must pass approval_prompt=force for Google OAuth
Otherwise, if you've ever previously authorized your account against Edgehill's
Google client ID but need to reconnect it, the consent page is bypassed and no
refresh token is returned to the callback URL, breaking the rest of the flow.
2015-09-26 19:56:10 -07:00
Evan Morikawa 5e9b1612b6 feat(onboarding): improve onboarding flow
Summary:
Now with more CSS

Also fixed flow for when you're just adding an account

Fixes T3805

Test Plan: manual :(

Reviewers: drew, bengotow

Reviewed By: bengotow

Maniphest Tasks: T3805

Differential Revision: https://phab.nylas.com/D2071
2015-09-25 20:43:36 -04:00