Commit graph

147 commits

Author SHA1 Message Date
Evan Morikawa
7aefb73ef8 feat(usage): add new feature usage modal
Summary:
This adds the "You've reached max features" modal in N1.

http://g.recordit.co/9O7R0mLlXE.gif

Test Plan:
1. Pull latest nylas/cloud-core and start Billing site:
```
  cd cloud-core
  vagrant up
  vagrant ssh
  cd /vagrant
  bin/setup-up-feature-usage
  bin/launch
```
2. Blow away ~/.nylas-mail (err backup your old one first)
3. Restart N1
4. Before logging in, edit `~/.nylas-mail/config.json`
   - set env to "local"
   - remove `thread-snooze` from the list of `disabledPlugins`
5. `cd /nylas-mail/src/k2` and run `npm start`
6. Restart N1 and create accounts & log in

Reviewers: khamidou, juan, halla

Reviewed By: halla

Differential Revision: https://phab.nylas.com/D3846
2017-02-07 15:46:57 -05:00
Karim Hamidou
7364ecb9fd [N1] Changes required for implementing snooze
Summary: This is a pretty small diff – it changes the snooze-store to save metadata for the individual messages affected instead of for the whole thread. We need this to have snoozing work without running an actual sync of the whole mailbox.

Test Plan: WIP.

Reviewers: evan, halla

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3815
2017-02-02 17:05:32 -08:00
Juan Tejada
8be7ce762e add comment 2017-01-17 16:31:07 -08:00
Evan Morikawa
3afff343cb fix(pref): remove default send preferences for now in basic 2017-01-17 12:27:45 -08:00
Karim Hamidou
8235f33655 Remove UpdateChannelSection
Use staging autoupdater for staging.

fixed failing test

Fix autoupdater – we were using the wrong command.

Revert "Bump version to 1.5.0"

Temporarily reverting this because I need to test the upgrade path from
0.4.2 => 1.5.0

Revert "Revert "Bump version to 1.5.0""

Had to do this to test the autoupdater.

[fix] [channel drop-down list] Show the stable channel in all cases.

Conflicts:
	internal_packages/preferences/lib/tabs/update-channel-section.jsx

Fix broken autoupdater, for reals.

[master] Replace "Nylas N1" by "Nylas Mail" in build scripts

Summary: As discussed --- we need to make those changes to make the autoupdater work across versions.

Test Plan: Will run a build.

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3701

Revert "Revert "Revert "Bump version to 1.5.0"""

Need to set the version to 0.4.402 for testing purposes.

Set preferredChannel in the autoupdater instead of in the ChannelStore

It turns out that Squirrel checks for update at program launch. In some
cases, it would put Pro users on the "nylas-mail" channel because that's
the default channel if you don't pass a preferredChannel.

Conflicts:
	src/flux/stores/update-channel-store.es6

Set the autoupdater preferredChannel to stable.

Don't try to move the app file to the Application folder ourselves

Because of MacOS Gatekeeper path randomization issues
(https://github.com/Squirrel/Squirrel.Mac/issues/182) we need the user
to move the app themselves. Changed the dialog to ask them to do this
politely.

Conflicts:
	internal_packages/verify-install-location/lib/main.es6
2017-01-16 16:46:52 -08:00
Karim Hamidou
6a3532efc7 [fix] [channel drop-down list] Show the stable channel in all cases. 2017-01-15 16:22:08 -08:00
Evan Morikawa
7210c80c5a fix(subscription): show Nylas Basic subscription with CTA to upgrade
Summary:
Removes references to the N1 ID expring.

Luckily, local-sync Nylas Mail Basic doesn't need the nylas ID to do
pretty much anything, which means we don't need to worry about the "trial"
status of the Nylas ID. The existing trial infrastructure will only kick
into place when someone connects an email account with the Nylas Cloud
Sync servers for the first time.

The one place we do check for the Nylas ID is in the
cloud-api/src/authentication route. Here we hit
https://billing.nylas.com/n1/user and simply expect to get back a Nylas
ID. As long as we return the existence of a Nylas ID (which should ignore
whether or not the old subscription system is "valid"), the API calls will
succeed.

This makes the "Upgrade Now" button go to
billing.nylas.com/dashboard?upgrade_to_pro=true with the auto-sign in
features enabled. This will automatically log the user into the Nylas
billing site with the upgrade_to_pro=true flag set.

There is also a new "Learn More" button which goes to
https://nylas.com/nylas-pro.

@mike, will these urls work?

Test Plan: manual

Reviewers: khamidou, mike, juan

Reviewed By: juan

Subscribers: mike

Differential Revision: https://phab.nylas.com/D3680
2017-01-14 17:40:54 -08:00
Evan Morikawa
5ab0173e78 fix(reset): fix the account reset button for K2
Summary: Depends on D3672

Test Plan: manual

Reviewers: mark, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3673
2017-01-13 19:00:01 -08:00
Karim Hamidou
b880ee981d [feat] [autoupdater] Introduce a new channel, "Nylas Mail" + let N1
specify a preferred channel.
2017-01-13 10:59:12 -08:00
Jackie Luo
78a7388318 🎨(rename): Update Nylas N1 to Nylas Mail
Test Plan: Tested locally.

Reviewers: halla, juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D3645
2017-01-12 12:05:44 -08:00
Halla Moore
99e3f732d9 fix(custom-imap): Hide custom imap accounts and settings from onboarding
Summary:
IMAP no longer appears on the onboarding account list, and the option to
edit connection settings does not appear for any of the visible account
types. Custom IMAP accounts can still be added via a menu option.

Fixes T7474

Test Plan: tested locally

Reviewers: juan, jackie, evan

Reviewed By: evan

Maniphest Tasks: T7474

Differential Revision: https://phab.nylas.com/D3636
2017-01-12 10:25:33 -08:00
Halla Moore
bd842ee73a fix(preference-accounts): Don't select accounts that no longer exist
Summary:
After updating an account's connection settings, there's a brief
moment where the selected account isn't null, but doesn't actually
exist in the AccountStore. This throws a bunch of undefined errors,
so this diff makes sure we discard that selection.

Fixes T7452

Test Plan: tested locally

Reviewers: evan, juan

Reviewed By: juan

Maniphest Tasks: T7452

Differential Revision: https://phab.nylas.com/D3634
2017-01-11 11:19:00 -08:00
Evan Morikawa
df1343da37 feat(off): disable/hide snooze, mail rules, misc minor plugins 2017-01-06 15:39:09 -08:00
Juan Tejada
b29f46fdae fix(auth): Fix authentication notifications
Summary:
Depends on D3544 (K2 diff)

This commit ensures that auth notifications are showed when the
underlying sync worker fails and are cleared when an account is
successfully reconnected

To achieve this, we manually keep track and update syncStates where
appropriate via `Actions.updateAccount`, given that we have access to
N1's version of the account directly from local-sync.
Initially I was considering account delta stream to the cloud-api and the local-api, but that
just complicated things more than it helped.

This commit also fixes a bug with refreshing the gmail token in which we
we were only attempting a token refresh upon restarting the app

This addresses: T7346, T7305, T7335

Test Plan: Manual

Reviewers: halla, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3545
2016-12-21 07:23:09 -05:00
Halla Moore
d03049b403 fix(mail-rules): use the right field name to get an account id
Summary:
With the fix to the delta-processor, this is all that's needed to
get mail rules working! Some places were trying to use 'accountId'
to access an account object's id, but it needs to be 'id' instead.

Test Plan: tested locally

Reviewers: jackie

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3525
2016-12-15 14:18:50 -08:00
Evan Morikawa
380f370e7d fix(sync): Support N1Cloud auth errors. Fix LongConnection cleanup 2016-12-01 12:04:37 -05:00
Evan Morikawa
e43de77708 fix(lint): update files to for new linter version 2016-11-15 10:20:39 -08:00
Ben Gotow
d214a52192 fix(prefs): Only scroll to top when switching tabs 2016-11-04 11:32:14 -07:00
Evan Morikawa
2c1dbeb31f fix(channel): only show stable or beta
Or the salesforce channel if you've ever used it before
2016-10-28 16:49:10 -04:00
Juan Tejada
5d837ffd02 feat(undo-send): Add undo send
Summary:
Add ability to undo send. We decided to make undo send completely client side for a couple of reasons. If we rely on send-later for undo-send, we would be giving /all/ send load to our send-later backend. If this increases the send-later load too much, it might cause delays in the regular send-later functionality and potentially other plugins like snooze that run under the same service. We would also need to rely on the network to be able to cancel a send, which would make it unusable offline or hard to debug if that specific request fails for any given reason.

This commit also refactors the way `ComposerExtension.sendActionConfig` works. The method has been renamed and now must return an array of send actions. Also, all of the business logic to handle different send actions registered by extensions has been pieced apart from the SendActionButton and into a new SendActionStore. This also enables undo send to undo custom send actions registered by extensions.
Along the way, this also fixes a pending TODO to show all registered custom send actions in the preferences for choosing the preferred send action for sending.

Undo send works via a task, so in case N1 closes before send goes through, it will still be persisted to the task queue and restored when opened again. Undoing a send means dequeuing this task.

Test Plan: Manual

Reviewers: jackie, bengotow, halla, evan

Reviewed By: bengotow, halla, evan

Differential Revision: https://phab.nylas.com/D3361
2016-10-26 20:40:10 -07:00
Evan Morikawa
1c4ff31d68 feat(flow): Add Flow to Nylas N1
Add flow-typed annotations

Ignore annoying submodules

Add /* @flow */ header to all js & es6 source files

Fix error about having number keys for objects

Remove @flow config from compile-support

Check es6 files

Add jasmine to flow

Revert "Add /* @flow */ header to all js & es6 source files"

This reverts commit c5a57bc402c53633b407b557f28ad12eaa8f27fe.

Update submodule

Add nylas global interface file
2016-10-24 22:44:16 -04:00
Ben Gotow
f71686b766 fix(beta): Add notif when on beta channel 2016-10-18 12:39:09 -07:00
Ben Gotow
c20238314d lint(*): Bump to ESLint 3.8 2016-10-17 18:07:35 -07:00
Ben Gotow
8df4f6d744 feat(win32): Allow N1 to become the system-wide mailto: handler
Summary: This will address the longstanding concern in #417

Test Plan: No new tests

Reviewers: juan, evan

Reviewed By: juan, evan

Maniphest Tasks: T7065

Differential Revision: https://phab.nylas.com/D3322
2016-10-12 16:05:36 -07:00
Ben Gotow
2739cc822e fix(identity): Always refresh accounts after identity
This fixes an issue where changing your Nylas ID didn’t refresh your accounts, and N1 would still think they were invalid.
2016-09-28 11:29:26 -07:00
Ben Gotow
7d7edb65bb hack(channel-picker): Hide Salesforce for now 2016-09-21 10:45:04 -07:00
Ben Gotow
9e3d864962 fix(drag-drop): Restore support for thread dragging 2016-09-20 15:48:15 -07:00
Ben Gotow
190e2713ce feat(channels): Choose an update channel! Limited time only!
Summary: Just a small select input.

Test Plan: Run tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3282
2016-09-19 12:41:16 -07:00
Jackie Luo
b6b3512639 fix(subscription): Remove hardcoded trial length 2016-09-14 11:21:48 -07:00
Annie
b061bf079f build(preferences): Add two buttons to the bottom of the general preferences page that clear email and clear all .nylas
Summary:
Wanted a way to reset configuration settings. I added button in N1 general preferences to remove `.nylas` folder and reboot titled 'Reset Accounts and Settings' as well as one to exclusively remove `.nylas/edgehill.db` titled 'Reset Email Cache'.

Not sure about the wording of the button descriptions.

Test Plan: Tested with different file paths on my machine. Was going to write tests, but the two buttons just call previously tested functions onClick -- rimraf and fs.unlink. Testing might be excessive?

Reviewers: bengotow, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3127
2016-07-26 16:53:45 -07:00
Jackie Luo
50f9a91270 fix(identity): Modify language around subscribing 2016-07-26 15:46:50 -07:00
Annie
bd361c8abb refactor(signatures): Removed old signature imgs and made static empty signatures page
Summary:
Refactored signature preferences page to allow more signatures than the previous 1-1 mapping for signatures and accounts. Created a multi select dropdown of the accounts for which a certain signature is set as default for. Added a button into the draft header From field to toggle between saved signatures.

refactor(signatures): Add basic add/remove capabilities to static

refactor(signatures): Hooked up signature actions and signature store for basic functionality

fix(signatures): Cleaned up signature store and started on multiselectdropdown

fix(signatures): Add multi signature toggle select to multiselect dropdown

build(signatures): Built framework for multiselect dropdown

build(signatures): Toggle button functionality for dropdown

build(signatures): Build multi select from components and add debounce

refactor(signatures): Move signature actions and signature store into flux

fix(signatures): Styled composer signatures button/dropdown and fixed preferences checkmarks

build(signatures): Finish main functionality, about to refactor composer signature button into injected component

fix(signatures): Changed position styles

fix(signatures): Fixed background color for dropdown button when blurred

build(signatures): Began to write tests for signatures store, preferences and dropdown

Test Plan: Wrote tests for preferences signatures, signature store, signature composer dropdown and refactored tests for signature composer extension. For signature composer extension I removed applyTransformsToDraft and unapplyTransformsToDraft and tested by sending emails with signatures to different providers to make sure the <signature> tag caused problems.

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3073
2016-07-11 12:35:41 -07:00
Jackie Luo
fddb5e06f6 feat(spellcheck): Add option to disable spellcheck 2016-06-16 15:12:19 -07:00
Jackie Luo
91d3e3d213 fix(subscription): Change copy to be less confusing 2016-06-16 12:23:06 -07:00
Jackie Luo
3b9d38e493 fix(identity): Convert datetimes to milliseconds 2016-06-14 15:04:18 -07:00
Ben Gotow
f49239dcf2 fix(pro): Add manual refresh to identity page 2016-06-13 12:06:53 -07:00
Ben Gotow
5f13982399 fix(pro): Replace subscriptionRequiredAfter 2016-06-10 14:36:37 -07:00
Ben Gotow
4bf36ebe36 fix(prefs): Use labels instead of email addresses 2016-06-08 18:25:45 -07:00
Evan Morikawa
c4753197ee fix(analytics): improved analytics 2016-06-07 13:38:47 -07:00
Jackie Luo
96b947b8d9 feat(snooze): Add command for keyboard shortcut
Test Plan: Tested locally.

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3008
2016-06-07 10:29:52 -07:00
Ben Gotow
36ee588d12 fix(merge): Settings: add 24-hour clock support 2016-06-06 14:33:51 -07:00
Friedrich von Never
32efb09825 Settings: add 24-hour clock support 2016-06-06 14:31:57 -07:00
Ben Gotow
c0c543c9c8 fix(identity): deprecate updaterId, provide safe access to identity.id 2016-06-02 18:56:09 -07:00
Ben Gotow
52cc1a6e33 fix(mail-rules): Fix re-ordering of mail rules 2016-05-31 16:42:03 -07:00
Ben Gotow
14dce13276 fix(unified-inbox): If a Gmail account is present, show Important 2016-05-31 12:24:38 -07:00
Ben Gotow
8a71c23bb4 fix(pro): Upgrade buttons go to /payment 2016-05-31 12:24:38 -07:00
Ben Gotow
c6354feb41 feat(pro): New Nylas identity provider, onboarding and auth
commit 50d0cfb87c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Fri May 27 14:01:49 2016 -0700

    IdentityStore conveniene methods for subscription state

commit 80c3c7b956
Author: Ben Gotow <bengotow@gmail.com>
Date:   Fri May 27 12:03:53 2016 -0700

    Periodically refresh identity, show expired notice in top bar

commit 5dc39efe98
Merge: 4c4f463 906ea74
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Thu May 26 15:17:46 2016 -0700

    Merge branch 'bengotow/n1-pro' of github.com:nylas/N1 into bengotow/n1-pro

commit 4c4f463f4b
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Thu May 26 15:16:48 2016 -0700

    Hijack links inside email that go to billing site and add SSO to them

commit 906ea74807
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 26 12:02:29 2016 -0700

    Add custom welcome page for upgrading users

commit 2ba9aedfe9
Author: Juan Tejada <juans.tejada@gmail.com>
Date:   Wed May 25 17:27:12 2016 -0700

    Add styling to Subscription tab in prefs

commit 384433a338
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 16:21:18 2016 -0700

    Add better style reset, more IdentityStore changes

commit c4f9dfb4e4
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 15:29:41 2016 -0700

    Add subscription tab

commit bd4c25405a
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 14:18:40 2016 -0700

    Point to billing-staging for now

commit 578e808bfc
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 13:30:13 2016 -0700

    Rename account helpers > onboarding helpers

commit dfea0a9861
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 13:26:46 2016 -0700

    A few minor fixes

commit 7110217fd4
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 12:58:21 2016 -0700

    feat(onboarding): Nylas Pro onboarding overhaul

    Summary:
    Rip out all invite-related code

    Enable Templates and Translate by default

    Scrub packages page, unused code in onboarding pkg

    Remove resizing

    New onboarding screens

    IMAP provider list, validation

    Call success with response object as well

    Renaming and tweaks

    Test Plan: No tests yet

    Reviewers: evan, juan, jackie

    Differential Revision: https://phab.nylas.com/D2985

commit dc9ea45ca9
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 12:52:39 2016 -0700

    Renaming and tweaks

commit 5ca4cd31ce
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed May 25 11:03:57 2016 -0700

    Call success with response object as well

commit 45f14f9b00
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 24 18:26:38 2016 -0700

    IMAP provider list, validation

commit c6ca124e6e
Author: Ben Gotow <bengotow@gmail.com>
Date:   Sat May 21 11:14:44 2016 -0700

    New onboarding screens

commit dad918d926
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:37:31 2016 -0700

    Remove resizing

commit ecb1a569e2
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:36:04 2016 -0700

    Scrub packages page, unused code in onboarding pkg

commit 3e0a44156c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:33:12 2016 -0700

    Enable Templates and Translate by default

commit 0d218bc86f
Author: Ben Gotow <bengotow@gmail.com>
Date:   Thu May 19 16:30:47 2016 -0700

    Rip out all invite-related code
2016-05-27 14:21:19 -07:00
Juan Tejada
7f735e9f41 fix(aliases): Properly set selected state on account update 2016-05-18 17:35:07 -07:00
Ben Gotow
e23d597493 fix(keymaps): Handle empty keymap.json, recover when saving 2016-05-15 12:19:03 -05:00
Ben Gotow
288023639b fix(linux): Add libappindicator1 note, improved View menu 2016-05-15 00:05:25 -05:00