Commit graph

3771 commits

Author SHA1 Message Date
Juan Tejada 645a032a50 fix(specs): Fix remaining broken specs 2016-10-27 11:44:19 -07:00
Juan Tejada da48d8433e fix(specs): Fix date input specs 2016-10-27 11:35:37 -07:00
Juan Tejada d4a72ef342 fix(specs): Fix draft-store tests 2016-10-27 10:40:20 -07:00
Evan Morikawa 877a09eda9 fix(token): Fix placeholder & style issues in tokenizing text field 2016-10-27 12:02:45 -04:00
Juan Tejada 43aa660bb9 fix(warning): Don't attach ref inside decorator if not a Component 2016-10-27 09:01:37 -07:00
Juan Tejada f2e7ea4c4c feat(reminders): Add send reminders functionality
Summary: Add reminders plugin which lets you set reminder if you don't get a reply for a message within a specified time in the future

Test Plan: TODO

Reviewers: halla, bengotow, evan

Reviewed By: halla, bengotow, evan

Differential Revision: https://phab.nylas.com/D3356
2016-10-27 08:49:29 -07:00
Evan Morikawa f4a5478358 feat(license): add GPL-3.0 license to package.json 2016-10-27 09:36: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 40cfdec4ec bump(version): 0.4.200
Includes SFDC and the package migration
2016-10-26 19:48:22 -04:00
Evan Morikawa d4dec88148 feat(SFDC): Initial SFDC commit
Fixes to generated form error handling

Remove console fix css

Styles with tokenizing field and generated form

Gen form fixes for required

Gen form styles

Fix datepicker in generated form

Can compute plain text for messages

Add resolvePath. Fix bug in sidebar scoring

Plaintext fixes

Use new syntax for global plugin actions

fix(styles): fix input[type='url'] syntax error in inputs.less

Remove sendToAllWindows action

Style fix to generated form

bump(SFDC): 0.4.100

Trigger AppVeyor

Trigger AppVeyor

Add ci-build to appveyor yml

Only build mac

Publish all builds that make it to AppVeyor or Travis

Bump submodule

Update submodule to init recursively for appveyor

feat(win): add getAllWindowDimensions

bump(SFDC): 0.4.101

fix(form): generated form handles disabled inputs

Make tokeizing field editable

bump(SFDC): 0.4.102

bump(SFDC): 0.4.103

bump(SFDC): 0.4.104

bump(SFDC): 0.4.105

🎨(salesforce): Highlight prefilled fields

Form fixes

Fix prefill class

Fix z-index of fieldsets

Refactor our BoldedSearchResult component

Move and split sidebar section into thread list and toolbar

Fixing referenceTo

bump(SFDC): 0.4.106

bump(SFDC): 0.4.107

bump(SFDC): 0.4.108

Fix delete object from form

Don't show tokenizing input field borders on window

Close popover after adding existing opportunity

Fix required fields

bump(SFDC): 0.4.109

Merge submodule with master

Only store raw data for full object fetches

Use Salesforce error reporter

Refactor form and smart fields

Fix form validation

Remove DOM form validation

bump(SFDC): 0.4.110

Fix mini month view

bump(SFDC): 0.4.111

Fix Record Type layouts

bump(SFDC): 0.4.113

Fix click target

bump(version): 0.4.53 and update Changelog

fix(changelog): Update changelog to reflect latest puublished release

fix(thread-sharing): Update popover style

bump(build)

fix(thread-sharing): Find-thread, incr timestamp delta to 1min in ms

🎨(thread-sharing): Prefer url and querystring modules to parse url

fix(mail-merge): Correctly handle empty column names

fix(thread-sharing): Throw error when thread is /not/ found

fix(thread-sharing): Timestamp range in seconds

fix(N1.sh): Allow path to working copy to have spaces

bump(electron): Electron 1.4, node-sqlite 3.1.4+fts

fix(keymaps): Correctly map mod+z to undo, instead of just z (#2663)

fix(tutorial): Minor tweaks, finalized styling

Add link for Darkish theme (#2854)

Fix typo: dependencesi > dependencies (#2838)

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

fix(logging): Fix query logging: escape '%' properly

fix(trial): Compute “days remaining” in timezone-aware way

fix(util): Utils.deepClone properly clones dates

Merge submodule with master

bump(SFDC): 0.4.114

fix(trial): Move”days left” bar to the sidebar, new design

fix(lint): import ui-variables for linter

Refactor object store and gen form updates

feat(msg-list): Don't make participants mailto links, add context menu

fix(long-connection): Throw error for reporting, instead of just logging

design tweaks, breaking css up into files, update readme (#2858)

fix(darkside): `script/grunt lint` requires explicit LESS includes

fix(specs): Display which tests are console.logging

fix(promise): Don't use deprecated Promise.longStackTraces()

fix(error): Let APIErrors have proper stack traces

Update submodule

Revert "fix(promise): Don't use deprecated Promise.longStackTraces()"

This reverts commit ac7602155c.

Bump submodule

bump(SFDC): 0.4.115

fix(specs): Fix tests that were console.logging, bump coffee-react

fix(drag-drop): Restore support for thread dragging

fix(thread-sharing): Fix unloading plugin

fix(auth): Update autofill for Fastmail.fm

fix(tooltips): Position relative to custom container for composer

lint(*): Fix issue breaking the build

bump(react): 15.3.x, warning removal, thread-sharing tweaks

es6(db): Convert attribute class declarations to ES2016

es6(db): Didn’t wait for NylasLint…

hack(channel-picker): Hide Salesforce for now

fix(accounts): Restore account re-ordering

fix(specs): attribute conversion fixed bugs, broke specs

fix(task-queue): performLocal now operates serially

Revert "fix(task-queue): performLocal now operates serially"

This reverts commit 5274ce3543.

Add back in `isSameDomainAsMe`

es6(db): Query-related classes moved to ES2016

fix(task-queue): task queue dependencies are only for preceding tasks

bump(SFDC): 0.4.116

Revert "fix(task-queue): task queue dependencies are only for preceding tasks"

This reverts commit e1e8c1cd9429b5aa20e19d4e2b8eca7215aa4a2c.

Add sequentialId check to tasks

Design pass on SF icons

fix(search/long-conn): Process results buffer before ending connection (#750)

NylasLongConnection ends the connection when the 'end' event is emitted
by the `request` object. When this happens, the global connection buffer is cleared.
Also, the global buffer holds the data we've received from the connection, and
whenever we receive new data, we accumulate it in the buffer and call a processBuffer function
which is throttled to 400ms.

Given that the buffer is global state, and processing occurs
asynchronously with a delay of up to 400ms, if the 'end' event on the connection is
fired before we actually get to process the buffer, we would clear it and show no results.

This scenario currently only affected search because if we accidentally
threw away some data when streaming deltas, we will get that data again
when we reopen the delta streaming connection.

fix(tray): Flipped logic in displaying unread count

Add section to Message footer

bump(SFDC): 0.4.117

fix linter

bump(electron): Update to 1.4.1 to fix intermittent Symbol() error

es6(db): Query builder converted to ES6

fix(long-connection): `close` instead of `end` on network end event

NylasLongConnection.Status.Ended means that we can't open the
connection again. When we get a network level 'end' event, that doesn't
map to our meaning of `Ended`, so we should just close it instead

Fix db setup

bump(SFDC): 0.4.118

feat(transforms): Replace regexp body transforms with DOM approach

Summary:
We originally didn't do this because creating a DOM tree was loading images.
Using range.createContextualFragment seems to do it without the tree ever
being attached.

Accompanying changes to src/pro are here:
https://phab.nylas.com/D3300
https://github.com/nylas/edgehill/compare/bengotow/draft-dom-transformations?expand=1

Also rename applyTransformsToDraft => applyTransformsForSending. Needed
a new name because the function signature has changed. AFAIK there are no
open source plugins using the old functions.

Test Plan: All specs updated

Reviewers: evan, juan

Reviewed By: evan, juan

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

fix(tooltips): Defer display of background, ensure dot inside window

bump(SFDC): 0.4.119

Merged in latest master from N1

fix(attribute): fix es6 conversion error

bump(SFDC): 0.4.120

Include calendar fix

fix(warnings): Fix warnings for react unkown dom prop

When using the pattern `{...extraProps}` to transfer props in the render method,
if rendering a native dom element, react will issue a new warning if we
end up passing invalid dom props:
https://facebook.github.io/react/warnings/unknown-prop.html

This adds a helper library to exclude invalid fom props instead of
manually excluding props inside each render method

fix(attribute): fix es6 conversion error

fix(mail-merge): fix `applyExtensionTransformsToDraft` rename

bump(SFDC): 0.4.121

Add welcome modal with video

Move close button to modal component and update styling

Fix linter errors

fix(help): Better help URL

fix(mail-merge): Add test coverage

Add jitter to BackoffTimer

Summary:
This should help us avoid the thundering herd problem if we have some
kind of API outage affecting a wide number of clients.

Test Plan: Tests

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: juan

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

fix(contact-sidebar): Correctly update selected contact

Sometimes, when selecting a contact (with name, email) inside a thread,
the dropdown (`<select>`) did not correctly reflect the selected
contact.

This was because when focusing a contact, the FocusedContactStore
queried that contact from the database just by email, and the contact
retured from the database became the focused one. However, sometimes the
returned contact might have the same email but different email, and
given that the `<select>` component is keyed by both name,email, it
couldn't find the appropriate <option> to render, so it could not update
to reflect the newly selected contact

Now, the FocusedContactStore queries by email and name to prevent this

Fix broken test

Summary:
Fixes a test that was broken due to my unfamiliarity with
CoffeeScript :-/

Test Plan: Tests

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: juan

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

feat(inline-images): Drag & drop or paste inline images

Summary: Initial support for inline images. Tests still forthcoming!

Test Plan: WIP

Reviewers: mark, juan

Reviewed By: juan

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

Revert "fix(task-queue): performLocal now operates serially"

This reverts commit 5274ce3543.

fix(lint)

es6(db): DatabaseTransaction & Query moved to ES6

fix(tasks): Add instrumentation to Task's performLocal

A slow performLocal may be one of the causes of #2725

update: Update CHANGELOG for v0.4.55

fix(whitespace)

fix(install-location): Update language and remove buggy regex

fix(tasks): Report slow performLocal only when it takes > 500ms

fix(mail-merge): Reduce max number of emails to 250

Almost always, you will get rate limited trying to send 500 emails.
Reduce to 250 to make it more reasonable

💄(sidebar): Github repos should not wrap

fix(sidebar): Command-click + href to open in background

Global window event handler should work when clicking elements /inside/ of an a tag with an href.

💄(mail-merge): Fix alignment and height of tokens

fix(composer): No need for overlaid z-index: 10, appearing over menus

fix(db): Add an index on Thread.client_id for modelify

fix(overlaid-comps): Check if supports preview only after we know exists

fix(warnings): Correctly remove all unknown props warnings

fix(thread-list): Use interaction handlers, don’t update selection directly

fix(drafts): Sanitize quoted text to avoid overlaid component issues [!!]

fix(lint): Change variable to const

fix(search): Update local search syntax to include more results

Add prefix search. Previously, if searching for a thread with a specific
subject, you had to type the entire subject. Searching for just a prefix
wouldn't return the result.
This should not affect any of the current search results, only add more results

fix(react): React refuses to add `partition` attr to webview

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.

fix(db): Messages with empty bodies always showing loading spinner due to ‘’ == null

Bump submodule

fix(composer): Dedupe registered key bindings to avoid double undo in composer

fix(calendar): CSS layout fix for Chromium 53

fix(mail-merge): Reduce limit to 150 messages, improve error handling

fix(composer): Add additional isMounted checks

Resolves this exception: https://gist.github.com/jstejada/a26dc6a7a2896dcef9be3cec60eaecdb

fix(perspectives): More robust validation of saved perspectives, never open to blank screen

fix(specs): Fix mail merge specs

🎨(thread-sharing): Fix icon

fix(lint): Fix coffeelint errors

fix(draft-list): Don't render html string in draft subject

fix(dev): Pretty print deltas

🎨(activity-list): punctuation

fix(window-state): Per electron#7278, save state in beforeunload

Related:
https://github.com/electron/electron/issues/7278
https://github.com/atom/atom/pull/3223/files

As of Chromium 36, unload is async and @zcbenz does not think it happens reliabily in Electron. Move saving of window state to beforeunload, following suit with Atom.

fix(composer): Wrap composer instead of allowing overflow-x

fix(spec): remove unnecessary messages & prevent extra hot window

bump(SFDC): 0.4.123

fix(linter): fix linter error

fix(linter): fix linter error

rm(ship-logs): Remove unused log shipping, prevents many-processes bug on win32

feat(bios): Linkify twitter hashtags and mentions in bios

fix(composer): When pasting links that are tracked, extract actual link

fix(self-hosting) Don't load packages that don't support self-hosting

feat(self-hosting) Add onboarding page about self-hosting plugin restrictions

bump(verison): 0.4.56, more items in changelog

fix(data-source): Wait until the next cycle to cleanup

Fixes a crash when switching to the thread list from the draft list, where there are very briefly zero observers.

💄(share-thread): Fix positioning of share thread button

fix(tutorial-tips): Don't display when component is not visible

fix(participants): When copying, include space #2871

fix(spellcheck): Do not spellcheck <code>, <a>, <pre> tags

This fixes #2877. The templates feature becomes broken when variable names contain misspellings.

fix(specs): Minor spec fixes

fix(composer): enable click regions on margins of composer

Change padding, margins, and borders to allow you to click on the left
margin of to, cc, bcc, from, subject fields as well as the composer
margins both above, left, and to the right of the composer.

Ensured attachments and other assets show up in correct spots

Ensure subject looks correct for mail merge

fix(composer): can shift-tab more places

Allow shift-tab to go back to subject from anywhere except in front of a
tab character

fix(composer): fix margin when editing contact chip

fix(composer): tokenizing text field trigger logic moved to composer

Put acess tokens and refresh tokens in keychain

fix modal spacing

bump(SFDC): 0.4.125

fix tokenizing field margins

fix(tutorial-tips): Recompute pos when theme changes

fix(share-thread): Closed when blurred when blurred or new thread selected

fix(dev-mode): Don’t save to config.json, use flag instead

Turns out even the built, packaged version of the app can be restarted into dev mode by adding `—dev` to argv and using the new relaunch API.

es6(db): Move DatabaseStore to ES6

💄(outline-view): Add title attr for tooltips

fix+🎨(notifs): Cleanup, handle nonexistent thread when opening notification

Notifications now check to see the thread they are supposed to open
exists.

Also, clean up FocusedContentStore._onFocus so that it doesn't have the side
effect of dispatching another action and messay logic.
Instead, added Actions.ensureCategoryFocused, to focus any category, and which
should be used separately from focusing content (notifications now use
this action for "opening" the thread)
Also, convert FocusedPerspectiveStore to ES6

fix(specs): Activity List

fix(composer): enable click regions on margins of composer

Change padding, margins, and borders to allow you to click on the left
margin of to, cc, bcc, from, subject fields as well as the composer
margins both above, left, and to the right of the composer.

Ensured attachments and other assets show up in correct spots

Ensure subject looks correct for mail merge

fix(composer): can shift-tab more places

Allow shift-tab to go back to subject from anywhere except in front of a
tab character

fix(composer): fix margin when editing contact chip

fix(composer): tokenizing text field trigger logic moved to composer

🔪 Last remaining traces of coffeescript in submodule!

fix(tools): Make `arc lint` great again

Add proper arc config for linting ES6 files with eslint

fix(files): When download mode is “manual” prompt about inline attachments

Summary:
When you have your "Download attachments for new mail" setting set
to "manually", inline images always appear broken with no explanation.

This patch listens for the image load to fail and displays a button which
queues the fetchFile task on click. This seemed like the best approach because
it doesn't slow down the loading of the message with more fstats / lookups.
(Seeing if the file has already been downloaded is an async operation)

Test Plan: No specs atm

Reviewers: evan, juan

Reviewed By: juan

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

feat(sidebar-notifs) Create sidebar notifications to replace old bars

Summary:
Move the old bar notifications to the sidebar, and only display one notification
at a time using a priority-rating system. Remove all of the old notification
infrastructure.

Test Plan: Added specs, also reproduced notifications locally

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: juan

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

bump(submodule)

fix(lint)

fix(phising): Handle scenarios where input is malformed (Sentry 51642)

https://sentry.nylas.com/sentry/edgehill/group/51642/

fix(templates): Handle error when scanning dir (Sentry 44351)

https://sentry.nylas.com/sentry/edgehill/group/44351/

fix(perspectives): Restore when only account cannot be found (Sentry 59061)

https://sentry.nylas.com/sentry/edgehill/group/59061/

refator(notification): move base notification to nylas-component-kit

Remove all salesforce objects on logout

Add syncing of salesforce objects

Summary:
Depends on D3327
- Also remove all coffeescript
- Make it so salesforce mail label grabs opportunity from database
- Make sure metadata is kept in sync when salesforce objects are deleted
- Set up stub for Salesforce Object cache via SalesforceObjectStore
- Cleanups here and there

Test Plan: Manual

Reviewers: jackie, evan

Reviewed By: evan

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

fix(db): Switch to better-sqlite3, resolves offline issue

Summary:
Better-SQLite3 is a fork of node-sqlite3 which includes a re-written JavaScript interface. It’s more synchronous, but better reflects what is actually sync vs. async in sqlite’s C++ API. (Not much is really async under the hood.) This diff uses a branch of better-sqlite3 I’ve edited to support Node 6.

In my tests, this branch spends 3.24x less time executing queries than `master`. (Measured time spent in calls to `this._db[run|all|get]` over the first 5000 queries of initial sync. It also increased the performance of starring a thread in the thread list by 28%.

This library also allows us to use a prepared statement cache, which is great because we often make the same queries repeatedly as query subscriptions refresh the UI and deltas are dumped into the app. The old interface didn’t expose statements (cached query plans) to JS.

better-sqlite3 advertises that it uses the JS garbage collector instead of lower level C++ memory management. I tested syncing my entire mailbox to verify that memory usage is not significantly different on this branch after a lot of queries have been made.

Finally, it looks like we can finally stop building sqlite3 from scratch in `script/bootstrap`. This library builds properly with `apm install`. 🎉

We might want to change the DatabaseStore and DatabaseTransaction classes more, now that it’s possible to execute queries synchronously. It could make things cleaner and get us out of promise-hell in a few places. In this diff I tried to change as little as possible.

Test Plan: Run tests, everything still works

Reviewers: juan, jackie

Reviewed By: juan, jackie

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

Fixing broken screenshot link (#2911)

Replacing with new screenshot

fix(onboarding): Fire event when user selects account type

bump(sqlite3): Fix issue with CI build / bindings location

fix(reporter): Handle errors cleaning log files (Sentry #6887)

Switch spellcheck libaries

Summary:
Switch to electron-spellchecker, which will allow N1 to
spellcheck more intelligently across languages. It auto-
detects languages and downloads dictionaries on the fly.

Test Plan: Specs, manual testing

Reviewers: bengotow, evan

Reviewed By: evan

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

Update Windows.md

fix(jquery): remove jquery

fix(spec): remove unused spec helpers

fix(specs) convert nylas-protocol-handler-spec to ES6 (#2886)

fix(win32): Still need custom sqlite3 build cmd for win32 😥

This also includes a bump of the better-sqlite3 module to support compilation on ia32.

feat(popout-threads) Add functionality to open threads in popout windows

Summary:
Threads can now be opened in separate windows. This can be done via the popout
icon next to the print icon, or by double-clicking the thread when in double-
pane mode. Note that the single-click action is still fired, which is why
double-clicking does not work in single-pane mode. The popout icon changes to a
pop-in icon while in the popout window, to allow users to collapse it back into
the main window.

Test Plan: Tested locally

Reviewers: evan, juan

Reviewed By: juan

Subscribers: sdw

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

fix(analytics): Add pgp encryption events

Email Encrypted
Email Encryption Errored
Email Decrypted
Email Decryption Errored

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

bump(version): 0.4.57

 (0.4.58 was accidentally in prev commit)

fix(readme): Improve Win32 build instructions

fix(readme): More Win32-specific instructions

fix(spellchecker): Use cross-platform misspellings, fix lint error

feat(calendar): can pick which calendars you want displayed

Summary:
Adds a resizable column next to the calendar that lets you pick which
calendars you want to turn on and off.

The picker sidebar styling mimics that of the main account sidebar.

Calendars are grouped by account.

We store the disabled calendars in in your config.

I added a `notIn` SQL method so it'll perform `WHERE calendarId NOT IN
['a', 'b', ...]` instead of `NOT (WHERE calendarId IN ['a', 'b', 'c'])`

I wanted it to be an exclusion (instead of inclusion) list so the default
was "all on" and we didn't need to always fetch the full list of
calendarIds from the database to compare against.

This also fixed a test that was failing constantly: The Query Subscription
Pool Spec was not being properly reset on each test. As a result, the test
would fail with an instance of a query subscription that Jasmine would
attempt to pretty print. Jasmine would fail to pretty print it because of
a jasmine bug that fails to properly display Objects with null prototypes.
The DatabaseStore's EventEmitter has a property with a null prototyp
causing the error

Test Plan: manual

Reviewers: bengotow, juan

Reviewed By: juan

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

fix(linter)

Merge submodule with master

Bump submodule

Bump database version and submodule

fix(contact): add hasSameDomainAsMe method to Contact

Better email syncing with Salesforce

feat(dock): Automatically add N1 to the OS X dock upon install

Note - you need to `killall Dock` to see this after it happens

Add main window calendar package

Summary: Add tiny helper app for calendar goodness

Test Plan: No tests yet

Reviewers: juan, halla

Reviewed By: halla

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

cleanup(*): Remove dead .bowerrc, .gitignore files

es6(db): Convert the ORM specs to ES2016

bump(Electron): 1.4.3

fix(license): Swap ref to GPLv3 with the whole thing so GitHub picks it up

Clean up spec-bootstrap and jasmine-helper

Convert spec-suite to es6

Extract out jasmine reporters

Move global imports back to jasmine-helper

Extract to N1SpecRunner

Fold jasmine-helper into spec runner

Convert `spec-suite` to `n1-spec-loader`

Convert spec-helper to es6

Remove unused methods from spec-helper

Move waitsForPromise to jasmine-extensions

Move spec runner & deps into `n1-spec-runner` folder

Remove unused spec-helper-platform

Move specs into subfolders

Initial extraction of all methods out of of spec-helper

Fixes to spec-helper extraction

fix(spec):

Dramatically clean up and simply the spec bootup process.

Converting spec bootup system to es6 from coffee.

Converted old `jasmine-helper`, `spec-helper`, and `spec-suite` to a new
`n1-spec-runner` file.

Each of these old files had tons and tons of code related to various parts
of the spec bootup and running process.

Each of those parts have been extracted into individual files

Fix linter

Add icons to object types in picker

Remove opp references in popover

bump submodule

fix(spellchecker) Add a cache to improve performance

fix(notifs): Don’t render empty <img />

lint(*): Bump to ESLint 3.8

Update linter

bump submodule

bump submodule

bump submodule

bump submodule

bumpd submodule

Add sync thread toggles

Search focused contact by email

fix(mailto): Support body with \n or \r characters

Related to #2923

fix(thread-popout) Add missing packages to the 'thread-popout' window

Summary: Missed some non-composer packages that should be in the 'thread-popout' window

Test Plan: Tested locally

Reviewers: bengotow

Reviewed By: bengotow

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

fix(mailto): Missing return in URL handling

fix(beta): Add notif when on beta channel

fix(db): Return; preventing ThreadSearch indexing

bump(version): 0.4.58

fix(specs): Don’t run update channel check in specs

fix(search): React warns, convert to ES2016

fix(search): Missed a .default

fix(spellcheck): Don’t include cld sources in build

fix(tooltips): Prevent tooltips from breaking wrapped components

fix(overlaid): Preview button was just invisible?

fix(auth): Hide title when long acct. err present

fix(onboarding): Don’t display “Welcome Back” screen

fix(accounts): Return correct list of email addresses

bump submodule

fix(misc) React warnings, kill cjsx

fix(accounts): Return correct list of email addresses

💄(thread-window): Update pop-out icons

lint(react): InlineImages don’t get session at send-time

fix(mail-merge): Upload files per draft to fix inline images

fix(mail-rules): Allow recipient filters to contain names #2942

bump(version): 0.4.59

💄(thread-window): Add thread-popin icon

update(changelog): 0.4.59

fix(search): Use fts search index for typeahead results

Summary: This improves performance of the search typeahead

Test Plan: Manual

Reviewers: bengotow

Reviewed By: bengotow

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

fix(popover): 🔪 deprecated popover

fix(popover) Actually 🔪 deprecated popover

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

Fix generated form and bump

Fixes to generated form

Use customComponent in task

fix(warning): Don't render participant picker with null value

fix(thread-popout): Display the hidden message toggle in the thread-popout

Summary:
Also, maintain the perspective that the thread was opened in, so that the
proper messages are hidden (e.g. hide deleted messages when opened from the
inbox, but not when opened from the trash folder)

Test Plan: Tested locally

Reviewers: juan

Reviewed By: juan

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

rm(grim): We’re not using Grim for deprecations

feat(quick-replies): Reply from Mac notifications

use single regex exec for toEquivalentEmailForm (#2962)

Fix JSON spacing (#2958)

Match JSON style to rest of file

Fix issue #2758. Press Escape after a finished search to get back to … (#2939)

* Fix issue #2758. Press Escape after a finished search to get back to Inbox

Use a keydown event when search bar is in focus to capture escape key press

* fix(search): Convert to ES2016

🎨(notifications): Remove indent and left padding from notifications

Revert "Fix issue #2758. Press Escape after a finished search to get back to … (#2939)"

This reverts commit 6377da8291.
This was already fixed in a95c17bce3

fix(utils): Don’t overwrite _ in global scope

feat(tokens): Multi-select for tokenized text fields

Test Plan: Lots of tests, mostly updated to enzyme. Not many new ones.

Reviewers: evan, juan, jackie

Reviewed By: juan, jackie

Subscribers: juan

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

fix(tokenizing-text): Re-add shouldBreakOnKeydown prop

build: bump eslint-plugin-import version

feat(field): Let TokenizingTextFields be disabled and onEditMotion
2016-10-26 19:46:54 -04:00
Evan Morikawa 20b81086e6 feat(field): Let TokenizingTextFields be disabled and onEditMotion 2016-10-26 18:59:19 -04:00
Juan Tejada 67f8ea8c21 build: bump eslint-plugin-import version 2016-10-26 14:29:18 -07:00
Ben Gotow 415b809155 fix(tokenizing-text): Re-add shouldBreakOnKeydown prop 2016-10-26 14:25:58 -07:00
Ben Gotow 9ee3087d10 feat(tokens): Multi-select for tokenized text fields
Test Plan: Lots of tests, mostly updated to enzyme. Not many new ones.

Reviewers: evan, juan, jackie

Reviewed By: juan, jackie

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3374
2016-10-26 13:58:57 -07:00
Ben Gotow 502af91eb9 fix(utils): Don’t overwrite _ in global scope 2016-10-26 13:44:09 -07:00
Juan Tejada 316933fa58 Revert "Fix issue #2758. Press Escape after a finished search to get back to … (#2939)"
This reverts commit 6377da8291.
This was already fixed in a95c17bce3
2016-10-26 13:20:26 -07:00
Jackie Luo 0d5301c9ce 🎨(notifications): Remove indent and left padding from notifications 2016-10-26 12:19:12 -07:00
Yishu See 6377da8291 Fix issue #2758. Press Escape after a finished search to get back to … (#2939)
* Fix issue #2758. Press Escape after a finished search to get back to Inbox

Use a keydown event when search bar is in focus to capture escape key press

* fix(search): Convert to ES2016
2016-10-26 11:57:57 -07:00
Niraj Pant 48db9ecd9f Fix JSON spacing (#2958)
Match JSON style to rest of file
2016-10-26 11:54:48 -07:00
Koen Punt 9aa75a9a96 use single regex exec for toEquivalentEmailForm (#2962) 2016-10-26 11:52:52 -07:00
Jackie Luo dc934b396a Merge branch 'master' of github.com:nylas/N1 2016-10-25 14:08:26 -07:00
Jackie Luo ef9ed7886f fix(warning): Don't render participant picker with null value 2016-10-25 14:08:13 -07:00
Ben Gotow 977b6a0889 feat(quick-replies): Reply from Mac notifications 2016-10-25 11:36:20 -07:00
Ben Gotow ded52ce101 rm(grim): We’re not using Grim for deprecations 2016-10-25 11:36:20 -07:00
Halla Moore 55bf203596 fix(thread-popout): Display the hidden message toggle in the thread-popout
Summary:
Also, maintain the perspective that the thread was opened in, so that the
proper messages are hidden (e.g. hide deleted messages when opened from the
inbox, but not when opened from the trash folder)

Test Plan: Tested locally

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3366
2016-10-25 11:05:34 -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
Juan Tejada 9d43f006b3 fix(popover) Actually 🔪 deprecated popover 2016-10-24 16:52:02 -07:00
Juan Tejada 5e7c1ad518 fix(popover): 🔪 deprecated popover 2016-10-24 16:33:17 -07:00
Juan Tejada a95c17bce3 fix(search): Use fts search index for typeahead results
Summary: This improves performance of the search typeahead

Test Plan: Manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3363
2016-10-24 14:18:29 -07:00
Juan Tejada d9f35cfc45 update(changelog): 0.4.59 2016-10-24 14:13:58 -07:00
Juan Tejada 689b33a246 💄(thread-window): Add thread-popin icon 2016-10-24 13:46:20 -07:00
Ben Gotow 1c428d8701 bump(version): 0.4.59 2016-10-24 13:21:08 -07:00
Ben Gotow ece56026aa fix(mail-rules): Allow recipient filters to contain names #2942 2016-10-24 13:17:22 -07:00
Ben Gotow 9b3c524cf9 fix(mail-merge): Upload files per draft to fix inline images 2016-10-24 12:32:58 -07:00
Ben Gotow 8b2cebe093 lint(react): InlineImages don’t get session at send-time 2016-10-24 12:32:58 -07:00
Juan Tejada ac659878c4 💄(thread-window): Update pop-out icons 2016-10-24 12:03:19 -07:00
Jackie Luo a26282a4c5 fix(accounts): Return correct list of email addresses 2016-10-24 11:26:51 -07:00
Ben Gotow 6adace5c8d fix(onboarding): Don’t display “Welcome Back” screen 2016-10-20 16:34:59 -07:00
Ben Gotow f655ce9821 fix(auth): Hide title when long acct. err present 2016-10-20 16:26:52 -07:00
Ben Gotow 2b36e9d8a9 fix(overlaid): Preview button was just invisible? 2016-10-20 16:10:09 -07:00
Ben Gotow c89166d2e1 fix(tooltips): Prevent tooltips from breaking wrapped components 2016-10-20 16:09:37 -07:00
Ben Gotow a4c04b30ee fix(spellcheck): Don’t include cld sources in build 2016-10-20 13:45:22 -07:00
Ben Gotow ccbd717c6e fix(search): Missed a .default 2016-10-20 12:21:15 -07:00
Ben Gotow fe82977574 fix(search): React warns, convert to ES2016 2016-10-20 12:09:53 -07:00
Ben Gotow 211814aa7b fix(specs): Don’t run update channel check in specs 2016-10-20 10:24:53 -07:00
Ben Gotow d28c3acd6a bump(version): 0.4.58 2016-10-20 10:21:04 -07:00
Ben Gotow 73c0ec500b fix(db): Return; preventing ThreadSearch indexing 2016-10-19 16:54:00 -07:00
Ben Gotow f71686b766 fix(beta): Add notif when on beta channel 2016-10-18 12:39:09 -07:00
Ben Gotow 2e376150a2 fix(mailto): Missing return in URL handling 2016-10-18 12:39:09 -07:00
Halla Moore 6b012cfb7a fix(thread-popout) Add missing packages to the 'thread-popout' window
Summary: Missed some non-composer packages that should be in the 'thread-popout' window

Test Plan: Tested locally

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3352
2016-10-18 11:02:30 -07:00