From d5a5cdd4eb2190325488f80038280a635900a56d Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Fri, 2 Oct 2015 15:01:26 -0700 Subject: [PATCH 1/4] switch(env): Move N1 to Nylas production API --- internal_packages/category-picker/lib/category-picker.cjsx | 3 ++- internal_packages/notifications/lib/activity-sidebar.cjsx | 2 +- .../notifications/lib/initial-sync-activity.cjsx | 2 +- .../onboarding/lib/nylas-api-environment-store.coffee | 7 +++---- src/flux/edgehill-api.coffee | 1 - 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/internal_packages/category-picker/lib/category-picker.cjsx b/internal_packages/category-picker/lib/category-picker.cjsx index c19e055d8..b031c819f 100644 --- a/internal_packages/category-picker/lib/category-picker.cjsx +++ b/internal_packages/category-picker/lib/category-picker.cjsx @@ -322,7 +322,8 @@ class CategoryPicker extends React.Component _isUserFacing: (allInInbox, category) => hiddenCategories = [] - currentCategoryId = FocusedMailViewStore.mailView().categoryId() + currentCategoryId = FocusedMailViewStore.mailView()?.categoryId() + if @_account?.usesLabels() hiddenCategories = ["all", "spam", "trash", "drafts", "sent"] if allInInbox diff --git a/internal_packages/notifications/lib/activity-sidebar.cjsx b/internal_packages/notifications/lib/activity-sidebar.cjsx index 596ca450a..ac2466d87 100644 --- a/internal_packages/notifications/lib/activity-sidebar.cjsx +++ b/internal_packages/notifications/lib/activity-sidebar.cjsx @@ -90,7 +90,7 @@ class ActivitySidebar extends React.Component
- Syncing mail data… + Syncing your mailbox…
diff --git a/internal_packages/notifications/lib/initial-sync-activity.cjsx b/internal_packages/notifications/lib/initial-sync-activity.cjsx index ea367211f..3244c3d36 100644 --- a/internal_packages/notifications/lib/initial-sync-activity.cjsx +++ b/internal_packages/notifications/lib/initial-sync-activity.cjsx @@ -55,7 +55,7 @@ class InitialSyncActivity extends React.Component else
@setState expandedSync: !@state.expandedSync}> {@_renderProgressBar(totalProgress)} -
Syncing mail data…
+
Syncing your mailbox…
{@_expandedSyncState()}
diff --git a/internal_packages/onboarding/lib/nylas-api-environment-store.coffee b/internal_packages/onboarding/lib/nylas-api-environment-store.coffee index 46c08c4c8..4e2d090af 100644 --- a/internal_packages/onboarding/lib/nylas-api-environment-store.coffee +++ b/internal_packages/onboarding/lib/nylas-api-environment-store.coffee @@ -4,11 +4,10 @@ NylasStore = require 'nylas-store' class NylasApiEnvironmentStore extends NylasStore constructor: -> @listenTo Actions.changeAPIEnvironment, @_setEnvironment + @_setEnvironment('production') unless atom.config.get('env') - defaultEnv = if atom.inDevMode() then 'staging' else 'staging' - @_setEnvironment(defaultEnv) unless atom.config.get('env') - - getEnvironment: -> atom.config.get('env') + getEnvironment: -> + atom.config.get('env') _setEnvironment: (env) -> throw new Error("Environment #{env} is not allowed") unless env in ['development', 'experimental', 'staging', 'production'] diff --git a/src/flux/edgehill-api.coffee b/src/flux/edgehill-api.coffee index f767e9436..6bbe1fe32 100644 --- a/src/flux/edgehill-api.coffee +++ b/src/flux/edgehill-api.coffee @@ -18,7 +18,6 @@ class EdgehillAPI _onConfigChanged: => env = atom.config.get('env') if env is 'development' - # @APIRoot = "http://localhost:5009" @APIRoot = "https://edgehill-dev.nylas.com" else if env is 'experimental' @APIRoot = "https://edgehill-experimental.nylas.com" From 88fdfd9a775a22219172cfeff7bf599bd55f7f70 Mon Sep 17 00:00:00 2001 From: Ben Gotow Date: Fri, 2 Oct 2015 15:31:05 -0700 Subject: [PATCH 2/4] fix(specs): Fix specs for environment config --- docs/WritingSpecs.md | 6 ++---- .../spec/nylas-api-environment-store-spec.coffee | 8 ++++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/WritingSpecs.md b/docs/WritingSpecs.md index a1f158e96..9d2312be5 100644 --- a/docs/WritingSpecs.md +++ b/docs/WritingSpecs.md @@ -5,17 +5,15 @@ Section: Guides Order: 7 --- -# Writing specs - Nylas uses [Jasmine](http://jasmine.github.io/1.3/introduction.html) as its spec framework. As a package developer, you can write specs using Jasmine 1.3 and get some quick wins. Jasmine specs can be run in N1 directly from the Developer menu, and the test environment provides you with helpful stubs. You can also require your own test framework, or use Jasmine for integration tests and your own framework for your existing business logic. This documentation describes using [Jasmine 1.3](http://jasmine.github.io/1.3/introduction.html) to write specs for a Nylas package. -#### Running Specs +### Running Specs You can run your package specs from `Developer > Run Package Specs...`. Once you've opened the spec window, you can see output and re-run your specs by clicking `Reload Specs`. -#### Writing Specs +### Writing Specs To create specs, place `js`, `coffee`, or `cjsx` files in the `spec` directory of your package. Spec files must end with the `-spec` suffix. diff --git a/internal_packages/onboarding/spec/nylas-api-environment-store-spec.coffee b/internal_packages/onboarding/spec/nylas-api-environment-store-spec.coffee index c6da261b6..fbbec1c6f 100644 --- a/internal_packages/onboarding/spec/nylas-api-environment-store-spec.coffee +++ b/internal_packages/onboarding/spec/nylas-api-environment-store-spec.coffee @@ -15,18 +15,18 @@ describe "NylasApiEnvironmentStore", -> spyOn(atom, "inDevMode").andReturn true spyOn(atom.config, "get").andReturn undefined store = new storeConstructor() - expect(atom.config.set).toHaveBeenCalledWith("env", "staging") + expect(atom.config.set).toHaveBeenCalledWith("env", "production") it "initializes with the correct default in production", -> spyOn(atom, "inDevMode").andReturn false spyOn(atom.config, "get").andReturn undefined store = new storeConstructor() - expect(atom.config.set).toHaveBeenCalledWith("env", "staging") + expect(atom.config.set).toHaveBeenCalledWith("env", "production") describe "when setting the environment", -> it "sets from the desired action", -> - Actions.changeAPIEnvironment("production") - expect(atom.config.set).toHaveBeenCalledWith("env", "production") + Actions.changeAPIEnvironment("staging") + expect(atom.config.set).toHaveBeenCalledWith("env", "staging") it "throws if the env is invalid", -> expect( -> Actions.changeAPIEnvironment("bad")).toThrow() From 7d799b64e86d092dd2f46c4d2e3ed8cb012ece9f Mon Sep 17 00:00:00 2001 From: Drew Regitsky Date: Fri, 2 Oct 2015 15:32:59 -0700 Subject: [PATCH 3/4] 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 --- .../onboarding/lib/account-settings-page.cjsx | 16 ++++++++++++++-- .../onboarding/lib/account-types.coffee | 2 ++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/internal_packages/onboarding/lib/account-settings-page.cjsx b/internal_packages/onboarding/lib/account-settings-page.cjsx index ded6eb8a6..6236a29f4 100644 --- a/internal_packages/onboarding/lib/account-settings-page.cjsx +++ b/internal_packages/onboarding/lib/account-settings-page.cjsx @@ -79,11 +79,16 @@ class AccountSettingsPage extends React.Component _onSettingsChanged: (event) => field = event.target.dataset.field + format = event.target.dataset.format + int_formatter = (a) -> + i = parseInt(a) + if isNaN(i) then "" else i + formatter = if format is 'integer' then int_formatter else (a) -> a settings = @state.settings if event.target.type is 'checkbox' settings[field] = event.target.checked else - settings[field] = event.target.value + settings[field] = formatter(event.target.value) @setState({settings}) _onValueChanged: (event) => @@ -94,7 +99,11 @@ class AccountSettingsPage extends React.Component _onFieldKeyPress: (event) => if event.key in ['Enter', 'Return'] - @_onSubmit() + pages = @state.provider.pages || [] + if pages.length > @state.pageNumber+1 + @_onNextButton() + else + @_onSubmit() _renderTitle: => if @state.provider.name is 'gmail' @@ -129,6 +138,7 @@ class AccountSettingsPage extends React.Component onChange={@_onValueChanged} onKeyPress={@_onFieldKeyPress} data-field={field.name} + data-format={field.format} ? "" className={errclass} placeholder={field.placeholder} /> @@ -144,6 +154,7 @@ class AccountSettingsPage extends React.Component onChange={@_onSettingsChanged} onKeyPress={@_onFieldKeyPress} data-field={field.name} + data-format={field.format} ? "" className={field.className ? ""} /> {field.label} @@ -159,6 +170,7 @@ class AccountSettingsPage extends React.Component onChange={@_onSettingsChanged} onKeyPress={@_onFieldKeyPress} data-field={field.name} + data-format={field.format} ? "" className={errclass+(field.className ? "")} placeholder={field.placeholder} /> diff --git a/internal_packages/onboarding/lib/account-types.coffee b/internal_packages/onboarding/lib/account-types.coffee index 29e900ca3..6be0325c1 100644 --- a/internal_packages/onboarding/lib/account-types.coffee +++ b/internal_packages/onboarding/lib/account-types.coffee @@ -125,6 +125,7 @@ Providers = [ label: 'Port (optional)' className: 'half' default: 993 + format: 'integer' page: 1 }, { name: 'imap_ssl_enabled' @@ -157,6 +158,7 @@ Providers = [ placeholder: '587' label: 'Port (optional)' className: 'half' + format: 'integer' default: 587 page: 2 }, { From 05ed20e539b41b69585804de0f933b1daef7a323 Mon Sep 17 00:00:00 2001 From: Drew Regitsky Date: Fri, 2 Oct 2015 15:34:56 -0700 Subject: [PATCH 4/4] 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 --- .../onboarding/assets/nylas-pictographB@2x.png | Bin 0 -> 16014 bytes .../onboarding/lib/account-choose-page.cjsx | 2 +- .../onboarding/lib/welcome-page.cjsx | 4 ++-- .../onboarding/stylesheets/onboarding.less | 8 +------- 4 files changed, 4 insertions(+), 10 deletions(-) create mode 100644 internal_packages/onboarding/assets/nylas-pictographB@2x.png diff --git a/internal_packages/onboarding/assets/nylas-pictographB@2x.png b/internal_packages/onboarding/assets/nylas-pictographB@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9c73b61460274c67b0e971c3a2a5890f2bab10 GIT binary patch literal 16014 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 - +
Select your email provider
diff --git a/internal_packages/onboarding/lib/welcome-page.cjsx b/internal_packages/onboarding/lib/welcome-page.cjsx index 6d0125906..3439bb4f8 100644 --- a/internal_packages/onboarding/lib/welcome-page.cjsx +++ b/internal_packages/onboarding/lib/welcome-page.cjsx @@ -45,7 +45,7 @@ class WelcomePage extends React.Component _renderStep0: ->
- +

Say hello to N1.

The next-generation email platform.

Built with ❤︎ by Nylas
@@ -65,7 +65,7 @@ class WelcomePage extends React.Component -

N1 is built with modern web technologies and easy to extend with JavaScript.

+

N1 is built with modern web technologies and is easy to extend with JavaScript.

{@_renderNavBubble(1)}
diff --git a/internal_packages/onboarding/stylesheets/onboarding.less b/internal_packages/onboarding/stylesheets/onboarding.less index 3a520734e..80d692eed 100644 --- a/internal_packages/onboarding/stylesheets/onboarding.less +++ b/internal_packages/onboarding/stylesheets/onboarding.less @@ -312,9 +312,6 @@ .page.account-choose { width: 388px; height: 615px; - img.logo.content-mask { - background-color: rgba(255,255,255,0.4); - } .caption { font-size: 17px; @@ -539,9 +536,6 @@ line-height: 41px; } - img.logo.content-mask { - background-color: rgba(255,255,255,0.4); - } img.icons.content-mask { background-color: rgba(255,255,255,0.7); } @@ -647,7 +641,7 @@ p { margin-top: 1em; - color: rgba(255,255,255,0.7); + color: rgba(255,255,255,0.9); font-size: 17px; line-height: 24px; }