Commit graph

1958 commits

Author SHA1 Message Date
Ben Gotow
c0dd3da5b9 fix(signatures): Scrolling for long signatures 2016-08-01 11:54:00 -07:00
Ben Gotow
ffefc93e1f fix(phising): Make detection lower case #1784 2016-07-28 18:19:07 -07:00
jathpala
b1e5066110 Better support 24-hour time (#2622)
* Added support for 24-hour time to the thread list view (Issue #682)

* Add 24-hour time support to the thread list scroll tooltip (Issue #682)

* Fix for 24-hour time in the thread list scroll tooltip (#682)

Correctly imports the DateUtils module

* Add support for 24-hour time to the draft threads list (Issue #682)

* Add 24-hour time to the message sidebar

* Fix for 24-hour time in the message view so the rollover tooltip is 24hour also (#682)

* Removed unused date functions from utils

fullTimeString and shortTimeString from src/flux/models/utils.coffee were not
compatible with 24-hour time. These functions were modified and moved to
DateUtils in src/date-utils.

* Fix for display of 24-hour time in the message view (Issue #682)

* Removed unused import of Utils in a couple of files

Prompted by Travis build errors.

* Updates to handling of date/time display

Incorporates changes suggested by @bengotow.
Re-enables support for the isDetailed property in message-timestamp (if this is set
to true, a medium length date/time string will be used for display).
Re-enables additional display varieties based on when the email was received. Note
that this is implemented slightly different to the orinal version - time is now given
as an absolute time rather than "... days ago" format.
TZ guessing moved to the global scope of date-utils for performance reasons.

* Minor de-linting

* Re-enable all tests by unfocusing the test suite

A previous commit (ad04775) added an fdescribe() to one of the tests in
draft-helpers-spec. This changes that to a regular describe() so that
all tests will be run when running ./N1 --test.

* Added tests for the new DateUtils functions

Added tests for getTimeFormat, mediumTimeString and fullTimeString.
Removed no longer relevant tests from message-timestamp-spec as _formattedDate
has been removed in favour of the functions in date-utils.

To test shortTimeString, we need to be able to set a fake current time which is
possible in jasmine 2.0+ but not in 1.3 which is currently in use.

As a possible bug, when running more than 10 tests the following warning is raised:
"(node:25025) Warning: Possible EventEmitter memory leak detected.
11 on-config-reloaded listeners added. Use emitter.setMaxListeners() to increase limit",
source: internal/process/warning.js (24)

* Minor de-linting
2016-07-28 17:42:14 -07:00
Ben Gotow
1387f219f1 feat(signatures): Fix specs 2016-07-28 14:54:37 -07:00
Ben Gotow
5b12dd6ebd feat(signatures): Upgrade old signatures to new format 2016-07-28 14:46:01 -07:00
Halla Moore
28183cb870 fix(spellchecker): Make sure spellchecker returns selection to its original state
This also fixes the scenario where the link editor wouldn't pop up properly with
misspelled words.
2016-07-28 13:42:53 -07:00
Ben Gotow
44fdb874d9 fix(keybase): incorrect react proptype 2016-07-28 13:33:59 -07:00
Juan Tejada
7dadf2ccd3 fix(specs): Properly spy on streaming connection
- Prevent error logs and actually trying to start delta streaming
connections
2016-07-28 12:40:31 -07:00
Annie
7e3aab2256 refactor(folders): Make folders disappear when deleted rather than graying out until confirmed
Summary:
When testing we thought that Deleting a folder turns it grey but keeps it in the folder list; trying again throws this error.
It turns out, that the folder was actually going to be deleted if left alone long enough, however, since it sat there grey for a while
we would attempt to delete it again which would throw an error. To get around this, we removed the isDeleted grey state and
unpersisted the folder right when delete is clicked then persisted the folder if there was an API error.

fix(folders): Add new and extend destroy category task specs

Test Plan: I tested locally, tweaked destroy category task specs and added minor new specs

Reviewers: bengotow, juan

Reviewed By: juan

Subscribers: bengotow, juan

Differential Revision: https://phab.nylas.com/D3131
2016-07-28 12:10:54 -07:00
Juan Tejada
fb18299bc2 fix(log): Rm unecessary console.log call 2016-07-28 10:31:48 -07:00
Jackie Luo
0362849b22 🎨(onboarding): Fix clipped gears in onboarding 2016-07-27 20:08:18 -07:00
Jackie Luo
7d809b7824 🎨(ubuntu): Unhide toolbar for popout composer 2016-07-27 19:32:32 -07:00
Juan Tejada
4427f5eda1 fix(deltas): Update latest cursor, address comments
- Add test to make sure that latest cursor is updated
2016-07-27 14:30:12 -07:00
Juan Tejada
aaeda2e5ac fix(deltas): Consolidate nylas-long-connection code
- Completely remove nylas-long-connection.coffee file and consolidate all logic into
nylas-long-connection.es6 and worker-sync/delta-streaming-connection.es6:
  - Separate it into DeltaStreamingConnection which is specific to the worker-sync
    package for handling deltas
  - NylasLongConnection is a "reusable" persistent connection to our API
    which is also used by the search package
  - This is a basically a fixed revision of https://phab.nylas.com/D2875,
    see difff for more info
- Makes it so delta streaming does not retry so aggressively on 403s, which
  happens whenever a user’s trial has expired
2016-07-27 02:56:55 -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
Annie
3da5c31cdd build(onboarding): Add input with gmail auth url
Summary:
Added animation and input with url of gmail auth for users where the broswer redirect doesnt work.
Still need to finish up some minor styling.

style(onboarding): add input with link for gmail auth if browser redirect doesnt work

Test Plan: testing on my local install

Reviewers: juan

Reviewed By: juan

Subscribers: sdw

Differential Revision: https://phab.nylas.com/D3119
2016-07-26 15:55:45 -07:00
Jackie Luo
50f9a91270 fix(identity): Modify language around subscribing 2016-07-26 15:46:50 -07:00
Jackie Luo
e40b5781c2 fix(self-hosting): Check for env properly 2016-07-22 11:00:11 -07:00
Jackie Luo
25f77f0269 fix(quoted-text): Check that message is reply 2016-07-21 17:45:47 -07:00
Jackie Luo
9bda66c081 spec(quoted-text): Fix broken tests 😞 2016-07-21 15:47:54 -07:00
Jackie Luo
49fd61d347 fix(self-hosting): Set identity correctly 2016-07-21 15:46:37 -07:00
Jackie Luo
6a628102ba feat(self-hosting): Add onboarding flow for self-hosted sync engine
Summary:
Adds a fun new UI for adding accounts to the sync engine. After creating your sync engine instance, all you have to do is auth your accounts on the command line and then enter the URL/port number in this flow. That pulls all of your accounts from the `/accounts` endpoint, mocks an identity token, and edits your `config.json` properly.

TODO: Update the docs in the repo and revert the PR with the temporary fix.

Test Plan: Tested locally.

Reviewers: bengotow, halla, juan

Reviewed By: halla, juan

Differential Revision: https://phab.nylas.com/D3114
2016-07-21 14:25:30 -07:00
Ben Gotow
3299789530 fix(message-body): Sanitize contenteditable attrs out of message bodies 2016-07-21 11:56:44 -07:00
Annie
848b4ef8a1 fix(signatures): Added alias to accounts rendered in dropdown
Summary:
Extended default signatures to also be associated with aliases in the signature
preference page. Also fixed some styling with the signature dropdown button in its blurred
state on the popout composer.
fix(signatures): Fixed styling for signature compuser button on popout when blurred

test(signatures): Updated tests to support and cover extending signatures to alias

Test Plan: Modified existing tests to work with these changes

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3111
2016-07-21 11:33:15 -07:00
Jackie Luo
b323275d24 fix(composer): Stop parsing quoted text on each keystroke to prevent composer lag
Summary: We used to parse the quoted text on each keystroke in the composer for a reply so that we could continue to determine what was quoted text. However, that resulted in dramatically slow typing for replies to complex HTML emails. Now, the quoted text isn't a part of the reply until `prepareDraftForSyncback`, after all of the extensions have run their transformations—we use a marker to determine whether quoted text should be appended or not. The quoted text control is now a one-way operation—you can't hide the quoted text after showing it (Gmail-style).

Test Plan: Tested locally (but didn't run unit tests because they won't run on my machine...)

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3106
2016-07-21 11:11:14 -07:00
Ben Gotow
3f6415c119 fix(specs): Misc fixes 2016-07-20 12:33:52 -07:00
Annie
36771f4b92 fix(image): Prepend file:// to image paths to solve #621
Summary:
refactor(test): Fix file paths in message item body tests to be prepended with file://

Some inline images were not rendering as seen on (#621). The images were being correctly added to the
downloads folder, however, their path was being prepended with an unrelated base url. I hardcoded
file:// into the image paths so that they would always point to the local downloads folder.

Test Plan: Ran the specific tests for message item body and message item. Also checked in my email.

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3105
2016-07-19 16:48:24 -07:00
Annie
8a0345152c fix(email): Fix email body height bug #1280
Summary: Some emails were having their body height set to 0 if their height was dependent upon the iframe height -- e.g. body.height equals 100% or inherit. Added a check to see if height computed to 0px and if so, set the height to auto.

Test Plan: Tested with emails on my computer

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3100
2016-07-19 16:38:59 -07:00
Evan Morikawa
27bfd91e32 fix(delta): add N1 token to delta stream connection 2016-07-13 22:02:48 -07:00
Evan Morikawa
9686361ce4 fix(login): fix error thrown when login fails for IMAP 2016-07-13 15:55:45 -07:00
Carson Ip
a3874ce1de Fix incorrect port number when using https (#2600)
When APIRoot is using https, the port will forced to be 443 even when APIRoot
indicates another port. This is because of the line options.port = 443
overwriting the correct options.port extracted by url.parse. This is fixed by
removing the problematic line. The default port is still 443 if you look into
https.js. In case we want a different default port in the future, we can do
options.port = options.port || 443.
2016-07-12 12:03:13 -07:00
Evan Morikawa
2474b0e7d3 fix(onboarding): Fix Rx.Observable.fromQuery not defined bug 2016-07-11 18:07:45 -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
Aaron Sikes
b03a352ee6 Clear notifications when emails are read
Fixes #1393

The objects returned by `new Notification()` have  a `.close()` method.
So we can just keep a list of notifications that have been sent, and
close them when that message has been read.

Conflicts:
	internal_packages/unread-notifications/lib/main.es6
2016-07-08 11:36:51 -07:00
Aaron Sikes
fd61c37985 Change pending unread notification stack to be a queue (#2517)
* Remove double negative from test label

It always takes me a second to read a double negative, and be sure I
understood correctly. It's also particularly troublesome for non-native
English speakers.

* Change pending unread notification stack to be a queue

Consider the case where a user launches N1, and has 3 unreads since
their last launch. Additionally, after N1 has launched, they begin
receiving a new mail every 2 seconds.

Current behavior would be a notification for 1 of the 3 unread emails,
then every 2 seconds a notification for the most recently received mail.
They would only finally receive notifications for the other 2 original
messages once they stopped getting new mail.
2016-07-08 11:30:33 -07:00
Logan Davis
40f9e5172a pgp-plugin update (#2534)
* Fix private key email-adder, add "no private key" error

The decrypt UI is seriously confusing some people. This commit
adds an error message that should at least stop them from trying
to decrypt a message without a private key to speak of. Also,
there was a dumb hardcoded true in validAddress.

* Adds incorrect passphrase notification; enables carriage return for popover

The passphrase popover was woefully inadequate. It didn't tell users
when they had the wrong password - it just closed without saying anything -
and you couldn't even use carriage return to submit the password.
This commit fixes those mistakes by buffing out passphrase-popover.cjsx.

* Adds private key popover to decrypt button

The decrypt UI was confusing and didn't provide the user with
an option to get a key imported from the message view. This
mondo commit adds an entirely new popover so that the user
never again will be forced to go to the preferences page.

* Adds more forgiving encrypted block parsing

* Overhauls decryption error handling

The decrypt UI didn't clearly communicate error messages from the
failure in PGPKeyStore.decrypt up to the user. This commit adds
nice error surfacing as well as some pretty colors.

* Fix encrypt modal key miscount error via getKeyContents coercion

On Linux and Windows, fs.watch double-triggers on some actions in
the key folder, for reasons that aren't super clear. This was causing
issues where the encrypt modal would report not having a key loaded
even though the key was totally loaded and saved. This commit sort
of kludgily forces the modal to run getKeyContents for every key
it has saved right before it returns them all. This would probably
be better fixed with a refactor the the PGP Keystore.

* remember to close popover, d'oh

* patch key picker modal styling for Linux and Windows

* response to review
2016-07-08 11:29:10 -07:00
Ollie Ford
9b75ea72e6 removes phishing warning for different subdomains (#2420)
This commit improves on nylas/N1#2343 (which allowed From and
Reply-To to be different aliases @ the same domain) by allowing the
address to differ by a subdomain.

For example, the pairs:

    From: foo@bar.com
    Reply-To: foo@sub.bar.com

    From: foo@bar.co.uk
    Reply-To: foo@other.bar.co.uk

    From: foo@bar.com
    Reply-To: foobar@bar.com
are each now allowed without warning.
2016-07-08 11:20:19 -07:00
Ben Gotow
856afb991a fix(auth): ssl_required => true instead of "on" 2016-06-30 13:38:54 -07:00
Evan Morikawa
b755acda3d fix(github): fix view on Github buttton
Error due to action import.
Convert to ES6
2016-06-17 10:07:05 -04:00
Juan Tejada
4c861ff007 fix(quoted-text): Add option to remove quoted-text, fix styles
- #2323
2016-06-16 15:37:58 -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
Annie
30bb68ddd5 fix(label-nesting): maintain nested labels when renaming a label
Summary:
when renaming nested labels, maintain nested path
fixes #2402

Test Plan: created nested labels and successfully tested in dev

Reviewers: juan

Reviewed By: juan

Subscribers: evan

Differential Revision: https://phab.nylas.com/D3028
2016-06-15 16:48:26 -07:00
Halla Moore
93455db929 fix(specs): Fix specs on Linux
Summary: Specs were failing on Linux, this diff fixes them.

Test Plan: Unit tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3029
2016-06-15 16:30:52 -07:00
Keith Armstrong
f8d0c82647 Update broken links for guides, docs, and API (#2455)
Also updated schemes of some links to https for consistency
2016-06-15 15:29:52 -07:00
Jackie Luo
3b9d38e493 fix(identity): Convert datetimes to milliseconds 2016-06-14 15:04:18 -07:00
Ben Gotow
0511c12503 fix(keybase): Don't run specs which require keybase API 2016-06-14 13:26:10 -07:00
Ben Gotow
09addb80a2 Pgp patch (#2430)
* update icons

* style commit

* Debugs export function

The key Export function used to not successfully show items in
their directories and also depend on the most recent attachment
download location. This commit adds a new savedState attribute
just for Keybase keys and also handles the case where that value
is null.

* Forces delete to populate

fs.watch() was acting up and not triggering populates on deletes.
Now deleteKey() just triggers a populate.

* Re-enables decryption of attachments from Enigmail

Decryption of attachments was disabled in the Great Password Popover
Refactor of Early June 2016. This commit adds that feature back
(and makes some changes to getKeyContents to facilitate that
change).
2016-06-14 13:22:38 -07:00
Ben Gotow
3baa987c61 fix(keybase): Invite fetch doesn't need JSON parse 2016-06-14 12:26:43 -07:00
Ben Gotow
10753e128c fix(keybase): Add a small button to redeem a keybase invite 2016-06-13 17:40:21 -07:00
Jackie Luo
9661430268 fix(view-on-github): Import Actions correctly 2016-06-13 16:19:46 -07:00
Ben Gotow
bb2cf67722 fix(onboarding): Minor asset tweaks 2016-06-13 15:19:01 -07:00
Ben Gotow
f49239dcf2 fix(pro): Add manual refresh to identity page 2016-06-13 12:06:53 -07:00
Evan Morikawa
75a785e683 fix(identity): enable proper People support 2016-06-12 21:13:46 -04:00
Ben Gotow
5f13982399 fix(pro): Replace subscriptionRequiredAfter 2016-06-10 14:36:37 -07:00
Ben Gotow
11fb1aefdc fix(sending): Minor changes to cleanup phase of sending 2016-06-10 12:35:56 -07:00
Ben Gotow
d0cb89ebd9 fix(emoji): Remove vertical overflow from composer, allow for popups 2016-06-09 17:51:08 -07:00
Jackie Luo
5a9ac9b79f fix(emoji): Stop checking text outside of current div for matches 2016-06-09 16:50:49 -07:00
Jackie Luo
5e6abfbe68 🎨(darkside): Add UI tweaks for activity list 2016-06-09 16:11:27 -07:00
Evan Morikawa
5ac1e7a63d fix(templates): fix new templates from draft 2016-06-09 15:21:20 -07:00
Evan Morikawa
b513b678de fix(template): can hit enter to save template names 2016-06-09 15:21:20 -07:00
Jackie Luo
6a7dc75f11 fix(typo): Correct spelling in error message 2016-06-09 15:04:00 -07:00
Evan Morikawa
d1d2749209 fix(templates): detect empty bodies and fix CSS 2016-06-09 15:00:58 -07:00
Ben Gotow
35a8b1ab6e fix(auth): Don't use a persistent session for webview 2016-06-09 10:30:27 -07:00
Ben Gotow
4bf36ebe36 fix(prefs): Use labels instead of email addresses 2016-06-08 18:25:45 -07:00
Evan Morikawa
3b21982af2 fix(welcome): pass utm on to welcome 2016-06-08 14:19:40 -07:00
Ben Gotow
c41dade912 fix(onboarding): Switch images into appropriate places 2016-06-08 14:10:09 -07:00
Ben Gotow
11a7472aa8 fix(onboarding): Final tutorial screenshot 2016-06-08 14:05:18 -07:00
Ben Gotow
2f8cba6b5f fix(onboarding): Don't allow going back into N1 signin 2016-06-08 13:48:56 -07:00
Evan Morikawa
bc785c7b5d fix(analytics): fix identify 2016-06-07 18:19:41 -07:00
Jackie Luo
3492718609 fix(plugins): Update plugin descriptions 2016-06-07 16:41:04 -07:00
Ben Gotow
54ce91c6fe fix(keybase): Remove fdescribe 2016-06-07 14:50:33 -07:00
Juan Tejada
42bce855ed fix(search): Prevent from adding duplicate threads to the search index
- We have to manually check if we are inserting a thread to the index
that already exists because the virtual table does not support unique
indexes
- Add versioning to the index to be able to rebuild it for the next
update
2016-06-07 14:41:39 -07:00
Ben Gotow
db0640a614 fix(keybase): Minor linter errors 2016-06-07 14:25:59 -07:00
Ben Gotow
a69a56d0b7 fix(keybase): Disable by default, remove duplicate dependencies 2016-06-07 14:15:54 -07:00
Evan Morikawa
6215fbb200 fix(analytics): update people traits 2016-06-07 13:52:08 -07:00
Evan Morikawa
c4753197ee fix(analytics): improved analytics 2016-06-07 13:38:47 -07:00
logandavis
b69f150e6a feat(keybase): Adds PGP Encryption Plugin
commit efe58092494c8870072bdf45991c122624bb93e6
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue Jun 7 13:06:25 2016 -0700

    patching specs

commit 15a346b93efa5a21327f6bd7c14ef60ddc0f79bb
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jun 6 17:49:20 2016 -0700

    A few small fixes

commit d4cc62a90d2d4f101b71bc57b5521353d2175219
Merge: 80018c0 17d9c3d
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jun 6 17:32:00 2016 -0700

    Merge branch 'master' into wip/keybase

    Conflicts:
    	build/Gruntfile.coffee
    	internal_packages/onboarding/lib/page-authenticate.jsx

commit 80018c045527dec331118426ce67d82c44926334
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri Jun 3 18:12:39 2016 -0700

    Re-styles decryption interface, temporarily removes file decryption

    The decryption interface was ugly as hell. Now it's aligned with
    the "Message Encrypted" notice and also the ugly text input is
    gone - replaced by a much nicer-looking popover. In the course of
    this refactor, file decryption was temporarily deactivated, but
    will return soon.

commit ed1e6232803e2c6b8930f5ed2bd6ccde56542b3b
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri Jun 3 15:39:02 2016 -0700

    Adds more information to key-adder UI

    User testing indicated that the key-adder UI didn't provide
    enough feedback about incorrect inputs and the slow load time
    of key generation. This commit adds a spinning wheel while loading
    and a span describing which inputs are incorrect.

commit 4d7908635cd606a3ebb2607537127dd1c5740a35
Author: logandavis <logankeahidavis@gmail.com>
Date:   Thu Jun 2 18:40:57 2016 -0700

    Touches up search

    Fixes a bug in the search debouncing that was sometimes
    allowing users to modify search queries and not have the
    new query searched. Added messaging to stop people from
    trying to search keybase by email address.

commit 140ae6679758d8ed54d1b6b7bd5c837f84132363
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed Jun 1 17:35:39 2016 -0700

    Adds import from file and unifies paste in key-adder.cjsx

    User review feedback indicated that key import was a big pain
    point - pasting keys was a pain in the butt, private keys
    could be saved as public keys, etc. This commit is the functional
    overhaul (and refactor) for the key-adder on the preferences
    page. It adds an Import from File function and merges
    Paste Private and Paste Public into just Paste, which autodetects.

commit 297f9ed482f4e83c52e40e479a31ba1bffad3f7d
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 21:11:01 2016 -0700

    fix(es6): Converstion broke file uploads by adding body: {}

commit 7815e90c49c70339cd6d26d48e818d4f5f962b7f
Merge: af54f01 0af27ee
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed Jun 1 14:49:14 2016 -0700

    Merge branch 'wip/keybase' of github.com:nylas/N1 into wip/keybase

commit af54f0165b95447ffa04c1e324e02d892b20d047
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed Jun 1 14:47:03 2016 -0700

    Bugfixes: clientID not found (from rebase) and modal on new email

    User testing revealed two pretty noxious bugs, one when you email
    someone who's not saved as a contact and one caused by an update
    to mail merge requiring inputs to Participant-Text-Field that
    n1-keybase wasn't provided. This fix patches modal-key-recommender
    to use emails as a fallback to contacts and sets a reasonable
    default for the input to Participant-Text-Field.

commit 0af27ee10666f35f248a4191fe937cde920d6baf
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 19:10:11 2016 -0700

    fix(specs): Empty parameter list

commit 87407249c2bfa7737a4609ac89b46c3b5a074f76
Merge: e4c050b 9892473
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 18:08:46 2016 -0700

    Merge branch 'master' into wip/keybase

commit e4c050b599fbc83b6249634297483a5683fe3c56
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 18:08:42 2016 -0700

    fix

commit 6c7857890df9d277f786b87ab996feeec4089c3b
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 18:05:35 2016 -0700

    fix(linter): Minor issue

commit 36197effd6c8ca3648a5010dac874c9a990fb1b9
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 18:02:26 2016 -0700

    fix(lint)

commit 73dd4850bf675f983ecfcc5ef65e91b9aa118e16
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 17:52:18 2016 -0700

    fix(lint): Don't lint node_modules of packages

commit 15c9d42f2d896f22092465e78cb340d07e0086ac
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 17:36:24 2016 -0700

    patch(auth): Remove unused import

commit 8756b2b5314fd0366caf8b2e12a3bc5e527bc593
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue May 31 17:33:30 2016 -0700

    patch(auth): Temporarily remove auth flow

commit 135395e4afdfcc8ba57667e60fa73ef55e126c2f
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 31 17:25:08 2016 -0700

    linting fix

commit 1049449f211111e704b3e543d2748339bf9cc6fd
Merge: e6a8f9e e1275eb
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 31 15:50:00 2016 -0700

    merge commit

commit e6a8f9ebadcc3d1b1444c8676d15b730a0d7a5c0
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 31 15:19:27 2016 -0700

    move styling, update readme

commit d388eb737ae9febc197bf0fe22d505a28c669639
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed May 25 16:15:31 2016 -0700

    Add Export Private Key button to preferences

commit f49062639a8f4a67a576b90a02f4b0f06dd492d0
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed May 25 12:40:23 2016 -0700

    Add Export Public Key button to preferences

commit 847221b6a2c9b1a1e8b817708ed9032803de9261
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 15:26:37 2016 -0700

    update readme

commit 1f3f14bf9c69bfea7d7d1ac79c39fe0fe6befd37
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 15:23:26 2016 -0700

    Beautify Add Email button, catch naggling bugs

    The old add email button on the preferences page, which
    was not playing nice with the styling of KeybaseSearch, has
    been replaced by the drop-in EmailPopover element. Also, two bugs
    that were causing the console to flip out on normal, unencrypted
    emails were caught and fixed - the Decrypt Button now returns
    false instead of null, and attachments without filenames are
    allowed.

commit a7cb363e357ff996b92946e9685416b98133de0b
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 14:54:00 2016 -0700

    Debug and style the encryption popover modal

    The encryption popover was ugly as sin and also lacking in
    some functionality - it unnecessarily showed the email list,
    it contained no reference to the Key Management page, it
    didn't display any links to the keybase profile in question...
    now it is a pretty and functional popover.

commit b4e3f5421558d4d128ffc66125657fc8b1abf1f1
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 18:56:08 2016 -0700

    Unborks Import Key popover, obscures password fields

    The Import Key popover on the preferences page was rendering off
    the screen because it was always pointing at the last button
    created rather than the button clicked. Now that's fixed.

commit 20ab9f825d65f40451397c8a1df484bb7e63c593
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 17:17:44 2016 -0700

    Fixes identity filename/address management, dedupes search, encodes +

    Bunch of minor bugfixes here. The identity.path refactor broke
    PGPKeyStore.addAddressToKey and removeAddressFromKey, which this commit
    fixes. + characters were being incorrectly encoded in messages as &#43;
    which was breaking message decryption - that's now fixed in message
    preprocessing. Finally, basic Keybase search result deduplication
    is now in place.

commit 8a2a5e6dc3c84ade420b16e36d2954cea661d1f1
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 14:13:17 2016 -0700

    Adds private key management to preferences page; beautifies

    Previously, the KeyManager element on the Preferences page only
    exposed public keys, and there was no way to see, edit, or delete
    private keys. Now you can do all of those things. This commit
    also fixes some render-timing issues in PGPKeyStore._populate
    that were causing nonexistent keys to appear (one on key generation,
    one on deletion of the final key) and improves the styling of
    the Preferences page.

commit 3c39431dd6ad3a8c19770c6ddd46d508ee92d4bb
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 13 15:22:40 2016 -0700

    burns the dead code out of preferences-keybase

commit eb7b924d5e00946ebb3e7174f54f2c1dde1ff616
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 13 14:58:51 2016 -0700

    Fix key generation and saving from the preferences page

    An earlier refactor away from key objects and towards identity
    objects borked the old key saving code. This commit refactors
    the key-saving code so that keys can be manually added from
    the preferences page again, and also makes said code much
    clearer.

commit e1f78d0080505102bf421c8c3638fee527d84481
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 17:41:24 2016 -0700

    add README of todos

commit c44d7995fc3cc097fb8f98689dd18488920488cf
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 17:41:12 2016 -0700

    heavy style pass, misc bugfixes, add assets

commit 47208ca2d947ac4b04c1fec14b433f7c6105fe1d
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 14:03:06 2016 -0700

    Decrypting files first pass, problem with unlocking keys

commit fc2a56574c1eb0a7098280f3e7a2ca5d6697340c
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 4 17:52:32 2016 -0700

    Cause message to encrypt on key picker popover close

commit 545392dee9db2754c6b729bd9549c071e1568ddd
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 4 12:04:08 2016 -0700

    light design pass on the modal (now a popover)

commit 2726aab32dd74a68936a7d80d6e49b879f182ee3
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon May 2 15:47:45 2016 -0700

    Key picker modal functional for multiple recipients, still needs lots of cleanup

commit 050114acf36b8654de80726352812e945ac88968
Author: Dakota Nelson <dakota@nylas.com>
Date:   Fri Apr 29 14:52:33 2016 -0700

    Key picker modal functional for single recipient

commit 865c7c8894b30a55e4c6027dd6f03fea5d0bb330
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 28 17:31:08 2016 -0700

    modal now allows selection of keybase user

commit 728c995314b3238bdb3222c7d12353ab2e35a65a
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 28 10:46:47 2016 -0700

    consolidate key cache into one object, fix all tests

commit 4bdd49ebd60beadf72b7aa099cfded09861768af
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 27 11:49:54 2016 -0700

    checkpoint commit for key selection modal in composer

commit 7d33d832f6587814f8da142e14f9a7f8256114b9
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 17:46:01 2016 -0700

    Remove infinite loop of doom, match keys properly

commit 7a4c1d60c1f1455e70a190710b59970ab2ed3b2a
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 14:31:41 2016 -0700

    Re-add some of Logan's changes lost in the repo migration

commit 6c1e31601e499f69c8df5b9f1a5244480ec67da1
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 13:52:55 2016 -0700

    slightly improve style on the decryption interface

commit 78f115f59ce09f57621776be4287e1e3a9d047b4
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 13:10:27 2016 -0700

    update keybase profile type translation to include proofs

commit 664c61fdd5e03d9ba4afa40d14673ad7733b1e30
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 11:54:35 2016 -0700

    Replace undocumented 'key' objects with explicit 'identity' objects

commit 0824cc0a522e9d9d8045d7a87ef3b7ec8381090e
Author: Dakota Nelson <dakota@nylas.com>
Date:   Fri Apr 22 13:33:18 2016 -0700

    Remove unused code

commit f0fd315cf7daf64f63d933508a6799ae4b5b4f18
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 21 17:24:54 2016 -0700

    Further refactor keybase plugin

commit 086e86f289213789f5796b5b1febee709986b89a
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 21 15:53:54 2016 -0700

    Refactor, and a useless commit msg

commit 1fcda3875424a3ba4ba54f25644b43690b153324
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 16:16:26 2016 -0700

    Fix linter errors (reported via cd build; grunt lint)

commit fcc937e6b50e43932478437ecf6dabb2f96fa15c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 16:08:42 2016 -0700

    Keybase API was 500'ing - move API adapter to standard (err, data) callback format and make it only call the callback once when error is hit (return after erroring)

commit fd0b4220af13cc80b4c88f9e2e63976a54ac50d4
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 15:56:27 2016 -0700

    Fix state were user has no pub keys

commit 13886101fcf63e4e497526c2e039cbb791670c06
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 20 15:25:30 2016 -0700

    add Logan's changes from the other repo

commit 6e9103b4188414ddd6e01db2c4c50c68ad54caca
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 20 15:22:34 2016 -0700

    minor styling change to improve keybase popover

commit fd0749a7c1c9202b94dc5a47bad26d8960c17099
Author: Dakota Nelson <dakota.w.nelson@gmail.com>
Date:   Wed Apr 20 12:30:40 2016 -0700

    feat(keybase): Initial commit from n1-keybase repo

commit e1275eb9ea548f76c06eb605b77a62d314f3d10f
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 31 15:19:27 2016 -0700

    move styling, update readme

commit 7f64713cc5d8cfdc59eca3c007cf673e5e2b6dea
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed May 25 16:15:31 2016 -0700

    Add Export Private Key button to preferences

commit 9d4e2552388f94fb7113ab80906519dce4d7350f
Author: logandavis <logankeahidavis@gmail.com>
Date:   Wed May 25 12:40:23 2016 -0700

    Add Export Public Key button to preferences

commit 166585dba9ece8d5dd529418b934947985ace5a3
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 15:26:37 2016 -0700

    update readme

commit f875c4146e98152cf4d050fc5af3c322c2d5fdae
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 15:23:26 2016 -0700

    Beautify Add Email button, catch naggling bugs

    The old add email button on the preferences page, which
    was not playing nice with the styling of KeybaseSearch, has
    been replaced by the drop-in EmailPopover element. Also, two bugs
    that were causing the console to flip out on normal, unencrypted
    emails were caught and fixed - the Decrypt Button now returns
    false instead of null, and attachments without filenames are
    allowed.

commit 48713d78381fb7320ce265b84c95f8b1497008f7
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 20 14:54:00 2016 -0700

    Debug and style the encryption popover modal

    The encryption popover was ugly as sin and also lacking in
    some functionality - it unnecessarily showed the email list,
    it contained no reference to the Key Management page, it
    didn't display any links to the keybase profile in question...
    now it is a pretty and functional popover.

commit a607f97f8082a14a29ebd5c2d8b397872ef5456a
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 18:56:08 2016 -0700

    Unborks Import Key popover, obscures password fields

    The Import Key popover on the preferences page was rendering off
    the screen because it was always pointing at the last button
    created rather than the button clicked. Now that's fixed.

commit 2afd41894aa297dcd6aec0b785cadbb533377f80
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 17:17:44 2016 -0700

    Fixes identity filename/address management, dedupes search, encodes +

    Bunch of minor bugfixes here. The identity.path refactor broke
    PGPKeyStore.addAddressToKey and removeAddressFromKey, which this commit
    fixes. + characters were being incorrectly encoded in messages as &#43;
    which was breaking message decryption - that's now fixed in message
    preprocessing. Finally, basic Keybase search result deduplication
    is now in place.

commit 4824556543dce31b14be81ebe471f8febb55e00c
Author: logandavis <logankeahidavis@gmail.com>
Date:   Tue May 17 14:13:17 2016 -0700

    Adds private key management to preferences page; beautifies

    Previously, the KeyManager element on the Preferences page only
    exposed public keys, and there was no way to see, edit, or delete
    private keys. Now you can do all of those things. This commit
    also fixes some render-timing issues in PGPKeyStore._populate
    that were causing nonexistent keys to appear (one on key generation,
    one on deletion of the final key) and improves the styling of
    the Preferences page.

commit 47c05fc485c80b297b6027f9bdabb5f921be77b3
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 13 15:22:40 2016 -0700

    burns the dead code out of preferences-keybase

commit 6fdf34e5c4188994844052d95d927cab1ed182ea
Author: logandavis <logankeahidavis@gmail.com>
Date:   Fri May 13 14:58:51 2016 -0700

    Fix key generation and saving from the preferences page

    An earlier refactor away from key objects and towards identity
    objects borked the old key saving code. This commit refactors
    the key-saving code so that keys can be manually added from
    the preferences page again, and also makes said code much
    clearer.

commit a1b4b4fdb4b35a844ca490d3e9029dbbf4d7bf24
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 17:41:24 2016 -0700

    add README of todos

commit 6747a0a447476ca6af829886ec304d57bc5dd0ee
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 17:41:12 2016 -0700

    heavy style pass, misc bugfixes, add assets

commit 8544e4b84341f0bc49a1765c057cbf443c220448
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 11 14:03:06 2016 -0700

    Decrypting files first pass, problem with unlocking keys

commit 428dc6739fb29f833c53e957e7a998abf25460ac
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 4 17:52:32 2016 -0700

    Cause message to encrypt on key picker popover close

commit 9d8ef053beca3ef6bbc910de272f1b98033599bf
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed May 4 12:04:08 2016 -0700

    light design pass on the modal (now a popover)

commit b4a0ad2fa2ac33dbf3333e4beb9ac0df04aa107d
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon May 2 15:47:45 2016 -0700

    Key picker modal functional for multiple recipients, still needs lots of cleanup

commit 6bf96d973c7e19de103695f3d6e3346c8db2dab3
Author: Dakota Nelson <dakota@nylas.com>
Date:   Fri Apr 29 14:52:33 2016 -0700

    Key picker modal functional for single recipient

commit f5f0e6aea8c16aefd3cdcbe19664bed708857693
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 28 17:31:08 2016 -0700

    modal now allows selection of keybase user

commit 83f7ad54bcab7c24da033d8fe60a602b27b79ded
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 28 10:46:47 2016 -0700

    consolidate key cache into one object, fix all tests

commit f8ec4576dee108584e946a7e4c6b9f17885921de
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 27 11:49:54 2016 -0700

    checkpoint commit for key selection modal in composer

commit c4dd851402162bcaa7e3b8cebf911d6a57fdfdbc
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 17:46:01 2016 -0700

    Remove infinite loop of doom, match keys properly

commit 537d2b423b9c4210c97bda0bf00cbbd1a4ebc80f
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 14:31:41 2016 -0700

    Re-add some of Logan's changes lost in the repo migration

commit 91d86ad6b69edee59de4938c24143e186ad5523a
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 13:52:55 2016 -0700

    slightly improve style on the decryption interface

commit 321ea22c01a6f346325870049a0664155b7ee71f
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 13:10:27 2016 -0700

    update keybase profile type translation to include proofs

commit b8821490432e582a53e7416b49476f90ab59f230
Author: Dakota Nelson <dakota@nylas.com>
Date:   Mon Apr 25 11:54:35 2016 -0700

    Replace undocumented 'key' objects with explicit 'identity' objects

commit 0999127bcd9c3cd75e17a8a4e6d37c5b53bc22ef
Author: Dakota Nelson <dakota@nylas.com>
Date:   Fri Apr 22 13:33:18 2016 -0700

    Remove unused code

commit 3ddfc4e6946b3ed3e051c561cdda7499d326058f
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 21 17:24:54 2016 -0700

    Further refactor keybase plugin

commit 1b5a9de2c9b2084a214619ce7c551ed6e9283a96
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 21 15:53:54 2016 -0700

    Refactor, and a useless commit msg

commit 999dd82e225b2d8209ee4f7be3cc0ab43c8e53b8
Author: Dakota Nelson <dakota@nylas.com>
Date:   Thu Apr 21 11:43:02 2016 -0700

    Modify participants func to optionally allow from and bcc

commit 9cdf258f5df9fd34ac94bf9822fdd7256af1bb9a
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 16:16:26 2016 -0700

    Fix linter errors (reported via cd build; grunt lint)

commit c14fc59b6f236191b759bda6561c5f343401e8ab
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 16:08:42 2016 -0700

    Keybase API was 500'ing - move API adapter to standard (err, data) callback format and make it only call the callback once when error is hit (return after erroring)

commit f0225603abb56b14e540f8419cb212760cf0883d
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Apr 20 15:56:27 2016 -0700

    Fix state were user has no pub keys

commit 818881523c698b1bd368344e9ff29ae870f9aae2
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 20 15:25:30 2016 -0700

    add Logan's changes from the other repo

commit 69f2003ff11be741b97bbb36a7bb4afd29ac7ecc
Author: Dakota Nelson <dakota@nylas.com>
Date:   Wed Apr 20 15:22:34 2016 -0700

    minor styling change to improve keybase popover

commit 4081ad7ef2b4375f5665904eb2d61992bab9cf4d
Author: Dakota Nelson <dakota.w.nelson@gmail.com>
Date:   Wed Apr 20 12:30:40 2016 -0700

    feat(keybase): Initial commit from n1-keybase repo
2016-06-07 13:30:04 -07:00
Jackie Luo
e94a5bbe0f fix(onboarding): Add notice about cloud sync 2016-06-07 13:07:12 -07:00
Ben Gotow
046bc276c0 fix(win32): Pad the search container to prevent clipping
#2376
2016-06-07 11:39:52 -07:00
Juan Tejada
e28f6d3b5d fix(templates): Support accented characters in template names
- #2392
2016-06-07 10:38:18 -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
Juan Tejada
52f928c991 fix(sidebar): Properly update sidebarAcctIds when all accts removed
- Prevents app from crashing when all accounts are removed
2016-06-06 15:08:10 -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
f7492b8250 fix(css): Fix CSS regression, remove unused assets 2016-06-03 17:01:48 -07:00
Ben Gotow
74cb7ac94f fix(onboarding): Message for 400+ server error codes 2016-06-03 16:38:59 -07:00
Ben Gotow
668d32705f fix(onboarding): Only show the welcome page if not already seen 2016-06-03 16:09:25 -07:00
Juan Tejada
f484117b00 fix(sidebar): Correctly update sidebar when focusing perspective
- When focusing a perspective:
  - If sidebar is unified inbox then don't the sidebar layout
  - If sidebar is for a single account, then update to the appropriate
  single account
- Renames some variables
2016-06-03 15:10:08 -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
508c92f599 fix(sync): Always restart where left off after initial sync interrupted 2016-06-02 18:56:09 -07:00
Juan Tejada
5c8b68b4e1 fix(build): Don't lint files inside node_modules, fix lint error 2016-06-02 14:45:51 -07:00
Evan Morikawa
680b219662 fix(analyitcs): make sure to flush events before they close 2016-06-02 16:24:32 +01:00
Evan Morikawa
077472af55 fix(onboarding): use proper env 2016-06-02 15:00:02 +01:00
Evan Morikawa
e5ca74684d fix(onboarding): properly base64 encode string 2016-06-02 14:45:48 +01:00
Evan Morikawa
81c8cd6a8b fix(analytics): fix errors in onboarding flow 2016-06-02 11:16:41 +01:00
Evan Morikawa
7c870d7cd2 feat(analytics): update analytics libraries
Summary:
See
https://paper.dropbox.com/doc/Analytics-ID-Unification-oVDTkakFsiBBbk9aeuiA3

Test Plan: Manual

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2998
2016-06-02 03:38:51 -04:00
Ben Gotow
2ac8987211 fix(tutorial): Incorrect strings 2016-06-01 17:25:08 -07:00
Juan Tejada
ce968c0d3e update(sidebar): Moves accounts in sidebar state to FocusedPerspectiveStore
Summary:
- FocusedPerspectiveStore now holds the state of the accounts that are currently being displayed in the sidebar, i.e. unified inbox or not, which makes it globally accessible state. The SidebarStore just reads this state directly off of the FocusedPerspectiveStore to decide which sections and items to display in the sidebar.
- Updates `Actions.focusDefaultMailboxPerspectiveForAccounts` to take an optional array of `sidebarAccountIds` to set in the sidebar. The default behavior is to show the accounts of the perspective that will be focused. E.g. when selecting an account via the account switcher, it will just show the sidebar items for the single account that was selected, but when adding a new account, we are setting the sidebar accounts to all account although we are still focusing the perspective for a single account.
- Will now show unified inbox sidebar with correctly focused account when new account added.
- Cleans up the code a little bit, but this package still needs major refactor

Test Plan: Missing!

Reviewers: jackie, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3002
2016-06-01 17:13:46 -07:00
Jackie Luo
8de83d26d3 🎨(participant-profile): Use UI variables 2016-06-01 16:08:10 -07:00
Ben Gotow
7f09e72182 fix(account-store): Update fake data import for screenshots 2016-06-01 15:55:44 -07:00
Ben Gotow
dd432e338b fix(undo): Improve messaging around label changes, modernize undo-redo-store
Summary: Just a small patch to address bad messaging

Test Plan: Run one new test!

Reviewers: jackie, juan

Reviewed By: jackie, juan

Differential Revision: https://phab.nylas.com/D3000
2016-06-01 14:36:57 -07:00
Jackie Luo
c6e28d3ebb fix(emoji): Remove special casing for Outlook emoji 2016-06-01 11:11:51 -07:00
Ben Gotow
66613470fd fix(specs): Empty parameter list 2016-05-31 19:10:11 -07:00
Ben Gotow
e3a08c8e7a fix(category-picker): Update specs for sorting 2016-05-31 17:05:17 -07:00
Ben Gotow
9d0db18dc9 fix(category-picker): Sort categories displayed in picker 2016-05-31 17:01:02 -07:00
Ben Gotow
52cc1a6e33 fix(mail-rules): Fix re-ordering of mail rules 2016-05-31 16:42:03 -07:00
Jackie Luo
b5ad43a686 fix(themes): Add Less is More to list ordering 2016-05-31 14:35:49 -07:00
Ben Gotow
9c54677753 fix(auth): Wait 150s for Exchange autodiscovery to complete 2016-05-31 14:04:22 -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
Ollie Ford
3df2b1e3be warns suspicious message only on differing domain (#2343)
For example, the following is *not* suspicious:
```
From: foo@example.org
Reply-To: bar@example.org
```

While the following remains suspicious:
```
From: foo@example.org
Reply-To: foo@example.com
``` 

This commit fixes #2342.
2016-05-31 12:08:18 -07:00
Ben Gotow
8385097341 fix(pro): Don't refresh identity unless one is present 2016-05-27 15:37:49 -07:00
Jackie Luo
6713827e65 fix(email-frame): Allow events to bubble correctly and pass iframe 2016-05-27 15:18:12 -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
e103809b34 fix(mail-merge): Switch to using new overlaid components api
Summary:
- Fixes several selection and focus issues along the way
- Can now preview what tokens will look like when not editing
- Adds decorator to listen to mail merge session changes and removes a bunch of duplicated code
- Gets rid of all imperative code (and specs) that had to imperatively
reach into the dom to update the tokens

Test Plan: - Unit tests

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2989
2016-05-27 11:02:44 -07:00
Jackie Luo
d9b6529df7 Revert "🎨(ui-dark): Remove iframe inversion" 2016-05-25 23:46:36 -07:00
Ben Gotow
2eb331aae3 fix(packages): Show version numbr of 3rd party plugins 2016-05-25 14:13:42 -07:00
Ben Gotow
7e3ddba016 fix(ubuntu): Update theme, fix a few strange glitches 2016-05-25 14:03:09 -07:00
Ben Gotow
0c77f61838 fix(config): removeAtKeyPath => undo, guard with assertions 2016-05-25 14:03:09 -07:00
Juan Tejada
6e57cbaee4 fix(build): Fix remaining specs (composer-view, send-draft-task) 2016-05-25 10:25:36 -07:00
Juan Tejada
39611f8962 fix(specs): Fix merge conflicts and some specs 2016-05-24 19:04:20 -07:00
Juan Tejada
db868740c8 fix(build): Fix lint error 2016-05-24 17:53:15 -07:00
Juan Tejada
a4ee61eadc fix(mail-merge): Refactor mass sending procedure
Summary:
This diff introduces several updates to mail merge to improve the procedure for sending a list of drafts.
Specifically, sending mass email will now:

- Clear mail merge metadata on the drafts that will actually be sent
- Upload attached files only /once/, and reuse those files on the drafts that will actually be sent
- Minimize database writes for new drafts being created
- Will queue a SendManyDraftsTask that will subsequently queue the necessary SendDraftTasks and keep track of them, and notify of any failed tasks

TODO:
- Add state to MailMerge plugin for failed sends and ability to attempt to re send them

Test Plan: - TODO

Reviewers: evan, bengotow, jackie

Reviewed By: bengotow, jackie

Subscribers: jackie

Differential Revision: https://phab.nylas.com/D2973
2016-05-24 17:22:09 -07:00
Evan Morikawa
c9ea5b6483 feat(scheduler): Add Overlaid Components
Summary:
SEE ASSOCIATED SUBMODULE DIFF

This enables rich React components (like the Scheduler's `NewEventCard`)
to be used in contenteditables.

We introduce the concept of an "Overlaid Component". These are rendered
React components that are absolutely positioned on top of an equivalent
"Anchor" in a contenteditable.

Inside the contenteditable are special `<img />` tags that have an
id corresponding to a particular rich overlaid component. This way, even
if those img tags are cut and pasted or moved, they'll have a mapping to a
  particular component stored in the `OverlaidComponentStore`. Img tags
  are fairly well handled natively by contenteditable and allow you to
  maniuplate these overlaid components as normal text elements.

The `OverlaidComponentStore` is responsible for listening to and managing
the state of the Anchors and their equivalent OverlaidComponents.

We use a decorator called `ListenToChanges` that allows us to wrap
components to update their corresponding anchor. Since we need to know
about ALL changes that could affect rendered height and width, we need to
use a `MuatationListener` instead of the React render cycle.

This is only the initial diff. There are several TODOs here:
https://paper.dropbox.com/doc/Composer-Overlaid-Components-FoZrF0cFggzSUZirZ9MNo

Test Plan: TODO. Manual

Reviewers: juan, bengotow

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2946
2016-05-24 15:47:49 -07:00
Ben Gotow
77733253eb fix(undo): Move undo/redo to session, properly undo all changes
Summary:
- Simplify undoManager to just maintain the undo/redo history items
- DraftEditingSession manages snapshotting state of draft, hack allows it to also save selection (still hoping to eventually put selection in body HTML as markers)
- Switch from `debounce` to `throttle` style behavior so typing for along time followed by undo doesn't undo away your entire block.

This resolves two issues:
+ Changes to participant fields are no longer undoable because they go straight to the session.
+ Changes to metadata weren't undoable.

Test Plan: Tests WIP

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2956
2016-05-24 11:48:33 -07:00
Ben Gotow
c2e9ac6fab fix(dialogs): Use new buttonLabel as needed 2016-05-23 10:34:44 -07:00
Ben Gotow
52f050c5f5 fix(pli): Always indent where indicators are, even if blank 2016-05-19 14:58:12 -07:00
Juan Tejada
072490ebcc fix(send-later): Check if draft is valid before scheduling send later 2016-05-19 13:28:28 -07:00
Juan Tejada
11799c8ce8 fix(accts): Display perspective for a newly added acct correctly
- Will wait for categories to be ready before attempting to focus the
inbox for the new account, preventing a blank screen when a new account
is added
- Add temprary action to set the collapsed state of a sidebar action
after adding a new account
2016-05-19 12:12:22 -07:00
Juan Tejada
04e3a5a3a1 fix(sidebar): Add state to determine wether to show unified sidebar
- Adds a piece of global state that will be persisted to
`NylasEnv.savedState` indicating wether the accounts for the sidebar
should be reset whenever the FocusedPerspective changes
- #2257
2016-05-19 11:30:31 -07:00
Juan Tejada
7f735e9f41 fix(aliases): Properly set selected state on account update 2016-05-18 17:35:07 -07:00
Jackie Luo
29b448989c fix(plugins): Update plugins list on install 2016-05-18 16:02:57 -07:00
Jackie Luo
fdc7b0aa5d 🎨(templates): Change language and remove gray box in demo template 2016-05-18 15:30:16 -07:00
Ben Gotow
5b5320997f fix(pkg-install): Use the package.json name, not the folder name 2016-05-18 15:25:18 -07:00
Ben Gotow
564d77421f perf(spellcheck): Limit misspellings to 15, recycle nodes 2016-05-17 18:48:01 -07:00
Evan Morikawa
0db70868a8 fix(composer): reduction in composer bootup time 2016-05-17 15:03:49 -07:00
Evan Morikawa
517a9cdd47 feat(perf): add perf monitoring to composer open time
Summary:
Add basic globally accessible performance monitoring.

Allows us to measure load times for composer windows (or whatever else we
want) and view the data as a Histogram on Mixpanel

Test Plan: manual

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2965
2016-05-17 14:23:14 -07:00
Evan Morikawa
6f355093e0 feat(composer): speed up composer loading & fix deactivate error 2016-05-17 12:37:46 -07:00
Juan Tejada
907ee68aa7 fix(snooze): Fix path to main file in package.json 2016-05-16 17:53:42 -07:00
Juan Tejada
417b09f2ff fix(snooze): Sentry error: "Can't create Snooze Category"
- This error was still being thrown for a large number of accounts,
despite the fact that the N1-Snoozed category was being created
- This error was happening when adding a new account which did not already have a
snooze category in the backend:
  - When the account is added the AccountStore triggers more than once,
  causing the SnoozeStore to send more than one request to create the
  same category. Any request after the first one will fail because the
  category already exists
- The fix is not try to create a category unless the accounts have
actually changed
2016-05-16 16:21:27 -07:00
Ben Gotow
bb40df97fe fix(config): Move all reads / writes to the main process
Summary:
Moves all reading / writing of config file to the main process,
to avoid needing to write code to lock across processes. This should also
be more efficient than re-loading the file in all processes when it's
saved.

Test Plan: Run tests

Reviewers: evan, jackie

Reviewed By: evan, jackie

Differential Revision: https://phab.nylas.com/D2963
2016-05-16 16:38:46 -05:00
Ben Gotow
345d006533 fix(connection): account.id => accountId 2016-05-16 03:26:23 -05:00
Ben Gotow
b3b6276f4e Revert "refactor(deltas): Update sync-worker to use NylasAPI.longConnection"
This reverts commit 1a78a758f4.

# Conflicts:
#	internal_packages/worker-sync/lib/delta-streaming-connection.es6
#	internal_packages/worker-sync/lib/nylas-sync-worker.coffee
#	internal_packages/worker-sync/spec/nylas-sync-worker-spec.coffee
#	src/flux/nylas-long-connection.es6
2016-05-16 01:25:30 -05:00
Ben Gotow
e23d597493 fix(keymaps): Handle empty keymap.json, recover when saving 2016-05-15 12:19:03 -05:00
Ben Gotow
f865b48f4e fix(auth): Revert imap => custom, bump package.json 0.4.37 2016-05-15 11:14:16 -05:00
Ben Gotow
288023639b fix(linux): Add libappindicator1 note, improved View menu 2016-05-15 00:05:25 -05:00
Jackie Luo
9a569c41ae 🎨(ui-dark): Remove iframe inversion 2016-05-13 23:03:33 -07:00
Ben Gotow
f6a90d12c5 fix(imports): Don't use relative paths with ASAR 2016-05-13 18:05:24 -07:00
Ben Gotow
ef328fe451 fix(templates): QA pass on templates, resolve #2216 2016-05-13 17:14:04 -07:00
Ben Gotow
3135e2b339 fix(err): InspectorFrontendAPI => DevToolsAPI 2016-05-13 16:25:23 -07:00
Juan Tejada
99f8a81e96 fix(mail-merge): Pass session to injected subject 2016-05-13 16:01:12 -07:00
Ben Gotow
17ed847240 fix(401/403): Unify error bars, query /account, improve reconnect flow
Summary: See https://paper.dropbox.com/doc/Sync-disabling-for-N1-URZmjVpSSxWFvjC62TiFI

Test Plan: Tests incoming

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2959
2016-05-13 14:16:54 -07:00
Ben Gotow
4145a60130 fix(category-picker): Don't wrap folder names early 2016-05-12 16:14:30 -07:00
Juan Tejada
eb10d46992 fix(build): Fix linter errors 2016-05-12 14:28:11 -07:00
Ben Gotow
26d4361bfb bump(electron): Fix remaining deprecated requires, move to 1.0.1 2016-05-12 13:59:23 -07:00
Jackie Luo
589f77d7e1 refactor(focus): Move code for focusing threads to FocusedContentStore 2016-05-12 13:29:41 -07:00
Juan Tejada
51d51fb47e feat(mail-merge): Add ability to drop tokens in subject
Summary:
Adds ability to drop tokens in subject via a custom rendered subject field which
renders a contenteditable instead of an input.
Decided to completely replace the subject field via injected components for a
few resons:
  - That's the way we are currently extending the functionality of the participant fields, so it keeps the plugin code consistent (at the cost of potentially more code)
  - Completely replacing the subject for a contenteditable means we hace to do extra work to clean up the html before sending.
  - Reusing our Contenteditable.cjsx class for the subject is overkill, but using a vanilla contenteditable meant duplicating a bunch of the code in that class if we want to add

Test Plan: Unit tests

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2949
2016-05-12 10:47:41 -07:00
Jackie Luo
ce0bf93cdc 🎨(dark): Update theme colors 2016-05-12 01:05:26 -07:00
Ben Gotow
57ac866021 fix(pli): Design PLI indicators #2148 2016-05-11 17:09:23 -07:00
Juan Tejada
ab55bc68ea fix(build): Fix lint issues and specs 2016-05-11 15:33:52 -07:00
Juan Tejada
eb79ce9d44 specs(table): Add specs for table components
Summary:
- Add some docs to Table components
- Updates Table components to use a TableDataSource instead of accessing arrays, cleans up code a bit
- Add enzyme lib to have a cleaner and simpler api to write tests for React Components
- Updates decorators to extend from the BaseComponent instead of vanilla Component, this way instance methods are still available on composed components

Test Plan: - Unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2941
2016-05-11 14:36:59 -07:00
Juan Tejada
3e21a89a88 fixt(print): Update print header logo 2016-05-11 11:33:12 -07:00
Juan Tejada
c564b2c0f7 fix(delta-streaming): Fix stale cursor key in config file 2016-05-11 10:34:29 -07:00
Juan Tejada
48abc9dd9e Revert "fix(print): Update logo"
This reverts commit bff232e892.
2016-05-09 23:43:36 -07:00
Juan Tejada
bff232e892 fix(print): Update logo 2016-05-09 20:13:32 -07:00
Ben Gotow
c4b5b4b779 fix(prefs): ? shortcut for "Show Keybindings" #1144 2016-05-09 17:28:52 -07:00
Ben Gotow
c441913f0e fix(drafts): Support additional deletion shortcuts #939 2016-05-09 17:28:52 -07:00
Ben Gotow
da07fe21ab feat(not-spam): Unmark items as junk / spam #2112 2016-05-09 17:28:52 -07:00
Ben Gotow
35d5f29b82 fix(thread-list): Add missing displayName, ES6 2016-05-09 13:18:07 -07:00
Ben Gotow
a5e3bf86c2 fix(notifs): Don't play notification sounds over and over #1910, #2179 2016-05-09 13:09:10 -07:00
Evan Morikawa
6910520dc5 fix(lint): fix minor linter issue 2016-05-09 13:42:18 -04:00
Alexander Adkins
92a54f8013 Added Less Is More (#2168)
* Added Less Is More Theme to internal-packages and README.md

* fixed Less Is More title in README.md

* removed units for values of zero

* updated readme, package title fix, theme topbar fix, message list adjustments
2016-05-09 09:46:50 -07:00
Robert Stanfield
be48fc4305 The horizontal scrollbar was not showing up when viewing an email (#2028) 2016-05-06 16:44:30 -07:00
Evan Morikawa
1498bcfac6 fix(lint): final linter fixes
fix(lint): final set of linter fixes
2016-05-06 16:32:34 -07:00
Ben Gotow
41ae914b9d fix(lint): Various linter fixes 2016-05-06 16:23:48 -07:00
Ben Gotow
42ef0e98a4 fix(lint): Various linter issues 2016-05-06 16:06:16 -07:00
Evan Morikawa
2bcfedf7a4 fix(lint): fix various linter issues 2016-05-06 14:36:11 -07:00
Evan Morikawa
4fed2b452e fix(lint): various linter fixes 2016-05-06 14:11:05 -07:00
Evan Morikawa
bb861d494f fix(lint): fixing various linter errors.
746 left
2016-05-06 13:42:09 -07:00
Evan Morikawa
805221dfa3 fix(linter): object-shorthand, quote-props
object-shorthand got turned off. We think it's fine to say {foo: foo} if
you want

quote-props is error consistent as neeeded.

Use custom file-by-file rules for global-require
2016-05-06 12:41:52 -07:00
Evan Morikawa
9355a2635d feat(babel6): fix es6 importing from coffee 2016-05-06 12:00:45 -07:00
Evan Morikawa
b812a93850 feat(babel6): Fix emoji data 2016-05-06 11:55:48 -07:00
Evan Morikawa
837627aa39 feat(babel6): 1,774 linter errors 2016-05-06 11:55:46 -07:00
Evan Morikawa
f72e28a22f feat(babel6): 2,743 lint errors 2016-05-06 11:55:41 -07:00
Evan Morikawa
1a0dfeaf78 feat(babel6): Yay all the tests pass 2016-05-06 11:55:36 -07:00
Evan Morikawa
cc1f6e46dd feat(babel6): Don't use _.clone on Model objects 2016-05-06 11:55:34 -07:00
Evan Morikawa
f2d153c87b feat(babel6): Fix autlinker spec 2016-05-06 11:55:32 -07:00
Evan Morikawa
e717a44581 feat(babel6): Fix spread operator 2016-05-06 11:55:29 -07:00
Evan Morikawa
8f4e30329c feat(babel6): Convert message.coffee to message.es6 2016-05-06 11:55:27 -07:00
Evan Morikawa
50f301e845 feat(babel6): fix es6 describe function syntax 2016-05-06 11:55:20 -07:00
Evan Morikawa
47c064617d feat(babel6): Fix destructuring default from exports and update linter 2016-05-06 11:55:14 -07:00
Evan Morikawa
87b1d5075b feat(babel6): Fix syntax errors and add regenerator runtime 2016-05-06 11:55:08 -07:00
Evan Morikawa
fb32bdfa67 feat(babel6): Fix linter problems in new es6 files 2016-05-06 11:55:06 -07:00
Evan Morikawa
9230078ffe feat(babel6): Rename to js to es6 2016-05-06 11:55:02 -07:00
Evan Morikawa
7f50074c0d feat(babel6): Convert to use new es6 require syntax 2016-05-06 11:54:55 -07:00
Evan Morikawa
e2f9104766 feat(babel6): Initial babel conversion 2016-05-06 11:54:38 -07:00
Ben Gotow
8d9d979abc feat(keymaps): Edit your keymaps from preferences 2016-05-05 17:05:51 -07:00
Ben Gotow
f0be73cdc4 fix(focus): Always set selection range into editor on focus 2016-05-05 11:53:58 -07:00
Jackie Luo
bd063fd9c6 🎨(darkside): Hide search bar in list mode when items are selected 2016-05-05 10:35:37 -07:00
Ben Gotow
5d9cf73c3c es6(*): AutoUpdateManager, ProtocolHandler, more. 2016-05-04 19:34:41 -07:00
Ben Gotow
5150dccaf1 fix(file-drop): Wait for attachments before popping composer 2016-05-04 19:09:28 -07:00
Juan Tejada
2c986f2cd0 fix(composer): Properly setup editing action listeners on update
- This prevented emoji selection via the popover from working on a new
window because the plugin is loaded after the contenteditable sets up
the action listeners, so we need to re set them on update
2016-05-04 16:25:42 -07:00
Juan Tejada
6e0e70ddf7 fix(composer-editor): Remove dead code 2016-05-04 15:02:38 -07:00
Ben Gotow
0448dd1070 rm(fullcontact): Deprecated in favor of new contact sidebar 2016-05-04 14:41:13 -07:00
Ben Gotow
aee07a80b8 rm(*): deprecated/unused Atom code, user stylesheet support 2016-05-04 14:27:46 -07:00
Ben Gotow
0992acf4c8 fix(read-receipts): Always remove own read receipt images 2016-05-04 13:44:35 -07:00
Juan Tejada
1a78a758f4 refactor(deltas): Update sync-worker to use NylasAPI.longConnection
Summary:
- Remove nylas-long-connection.coffee duplicate code from sync worker package
  and replace with delta-streaming-connection which uses NylasAPI.longConnection
- Replacement for XHR will come in another diff -- still need to clean up and
  fix some edge cases

Test Plan:
- TODO! Will add test coverage for NylasLongConnection and
  DeltaStreamingConnection

Reviewers: evan, bengotow

Reviewed By: evan, bengotow

Differential Revision: https://phab.nylas.com/D2875
2016-05-04 13:03:47 -07:00
Ben Gotow
2bd2965acf fix(keymaps): "Delete" => "Del" to fix keycode 46 2016-05-04 09:29:42 -07:00
Ben Gotow
85c1b030b7 Revert "feat(mailto): Allow N1 to be default client on windows"
This reverts commit fad7c1ae86.
2016-05-03 19:04:04 -07:00
Ben Gotow
fad7c1ae86 feat(mailto): Allow N1 to be default client on windows 2016-05-03 14:47:21 -07:00
Ben Gotow
dc30187d30 fix(db): When replacing obj in a set, keep old body if new body not provided 2016-05-03 14:01:06 -07:00
Evan Morikawa
c89413e98d fix(window): fix error when adding account and serializing bad API data 2016-05-03 11:30:41 -07:00
Ben Gotow
c1a296acf9 fix(sheets): Always change sheet when changing perspective (#2094) 2016-05-02 19:14:12 -07:00
Ben Gotow
74232d5b7e fix(tracking): Use colors for link/read receipts, fix parsing 2016-05-02 15:59:17 -07:00
Ben Gotow
4c537cbf8e fix(emoji): Replace message emoji in DOM, not in html string 2016-05-02 12:33:08 -07:00
Ben Gotow
e9a898c869 fix(undo): Don't create separate commands, since they bubble separately 2016-04-29 17:10:17 -07:00
Evan Morikawa
444101a74b fix(specs): fix composer-header specs 2016-04-29 16:54:37 -07:00
Ben Gotow
871383d0b1 fix(lint): Errors in ActionBarPlugins 2016-04-29 16:19:52 -07:00
Evan Morikawa
909226fcf4 feat(composer): better composer plugin loading 2016-04-29 15:58:17 -07:00
Evan Morikawa
99a8143a9d fix(composer): fix flashing and focus losing in the composer 2016-04-29 15:58:17 -07:00
Ben Gotow
55bd04b3a2 feat(mail-merge): Import CSV button 2016-04-29 13:55:11 -07:00
Ben Gotow
105e33c9c4 fix(mail-merge): Fix drag and drop for files vs. chips 2016-04-29 11:57:43 -07:00
Evan Morikawa
db899491ea fix(onboarding): pass along accountId too 2016-04-29 10:20:59 -07:00
Karim Hamidou
cba6ccc220 [N1] Changes to allow running edgehill-server locally
Summary: This is mostly config changes.

Test Plan: Tested the Google OAuth flow.

Reviewers: bengotow, drew

Reviewed By: bengotow, drew

Differential Revision: https://phab.nylas.com/D2907
2016-04-29 10:18:51 -07:00
Ben Gotow
b0d332c2c1 fix(read-receipts): Fix another issue caused by ES6 subclassing Coffeescript 2016-04-28 17:20:39 -07:00
Ben Gotow
05be74ec04 fix(read-receipts): Remove tracking pixels when composing drafts 2016-04-28 17:08:54 -07:00
Evan Morikawa
7907b8fdd1 fix(onboarding): encode welcome page info 2016-04-28 17:06:47 -07:00
Ben Gotow
040c3bc45a fix(build): linter errors 2016-04-28 16:40:48 -07:00
Ben Gotow
c2cf89026e fix(thread-list): Don't rely on zip since it can become off-by-one forever 2016-04-28 15:53:51 -07:00
Evan Morikawa
78c453a616 feat(onboardin): fix win closing & nav to welcome page 2016-04-28 15:29:13 -07:00
Evan Morikawa
b226dfb5b1 perf(composer): tweak tooltip animation timing & composer loading 2016-04-28 13:42:30 -07:00
Evan Morikawa
f45c497810 fix(sidebar): fix account name styles 2016-04-28 11:45:44 -07:00
Juan Tejada
8ff5f4f8b5 fix(cursor): Remove stale cursor from config.cson when cursor error
- #2049
2016-04-28 10:16:40 -07:00
Juan Tejada
ea9538f444 feat(mail-merge): Add CSV imports, styling, and several fixes
Summary: Adds CSV imports, proper styles to mail merge plugin and fixes a handful of bugs

Test Plan: TODO

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2925
2016-04-27 18:22:32 -07:00
Ben Gotow
5bda8993f0 fix(thread-list): Remove unnecessary extra trigger 2016-04-27 15:20:25 -07:00
Ben Gotow
a270234f6d fix(keymaps): Restore missing bindings, handle single keys inside of email frames 2016-04-27 15:20:06 -07:00
John McNair
dccf4f3ad3 Parse Office 365 names (#2016)
Office 365 likes to format email addresses as follows:
Last Name, First Name (Some Description) <email@address.org>

This causes Contact.firstName() (and hence sometimes displayName()) to return
"Last Name," which looks a bit odd in the message/thread views.

The intent of the commit is to correctly parse these names so that (using the
above example):
- firstName = "First Name"
- lastName = "Last Name (Some Description)"
- fullName = "First Name Last Name (Some Description)"

These behavioral changes only impact names containing a ','.

I don't know that this really provides exhaustive coverage of Office 365, and
keeping the description as part of the last name is not completely guilt free,
but it's not any worse than the previous state of affairs which also has
the description in the same field but combined instead with (misplaced)
first name data.
2016-04-27 10:26:23 -07:00
Selwyn
cbded86bd4 Linux launch on start (#2019)
* feat(workspace-section): Add Linux-only warning to launch on start

* feat(system-start-service): Add Linux launch on system start option
2016-04-27 09:22:23 -07:00
Ben Gotow
8944e10ae9 fix(autolinker): Don't match emails that are also URLs #2071 2016-04-26 19:03:43 -07:00
Ben Gotow
c5a77fa854 fix(autolinker): Use getAttribute('href') because href is magic 2016-04-26 17:01:15 -07:00
Ben Gotow
aa42040813 fix(autolinker): Always override title attribute #2056 2016-04-26 16:49:33 -07:00
Ben Gotow
e4a0c94482 fix(sidebar): Fix overflow of account name 2016-04-26 15:53:51 -07:00
Ben Gotow
1fcef30b6b fix(attachments): Make presentError display underlying error, file optional. Sentry 27089 2016-04-26 14:03:08 -07:00
Ben Gotow
2bae0d5885 fix(composer): Wait frames not msec on focus out #2033 2016-04-26 13:14:06 -07:00
Evan Morikawa
3ac94a4402 fix(win): draft popout windows always send draftJSON 2016-04-26 13:02:05 -07:00
Evan Morikawa
60d2c24693 feat(package): fix build-resources-task and move submodule 2016-04-25 16:01:56 -07:00
Evan Morikawa
2472e0556b feat(package): require 'engines': {'nylas': '*'} in package.json 2016-04-25 15:06:37 -07:00
Ben Gotow
43b65ca36c cson(cleanup): Remove imports, only used for config.cson now 2016-04-24 20:33:34 -05:00
Jackie Luo
cbda623fec 🎨(plugins): Fix line breaks 2016-04-24 18:32:53 -07:00
Ben Gotow
16dd26c29e fix(build): CSON => JSON no longer necessary for /keymaps, /menus 2016-04-24 20:27:29 -05:00
Ben Gotow
ddba5415ad mv(packages): move plugins that are incompatible with open source sync engine 2016-04-24 14:53:12 -05:00
Ben Gotow
a48ddd51f8 refactor(menus): Major prune of keymaps/commands, real conditional menus
Summary:
Keymaps & menus CSON => JSON, remove AtomKeymaps, CommandRegistry use of CSS selectors, use Mousetrap instead

Important Notes:

- The `application:` prefix is reserved for commands which are handled in the application process. Don't use it for other things. You will not receive the events in the window.

- Maintaining dynamic menus seems to come with quite an overhead, because Electron updates the entire menu every time. In the future, we'll need https://github.com/electron/electron/issues/528 to really make things nice. I will be tracking this upstream.

- The format for keyboard shortcuts has changed. `cmd-X` is now `command+shift+x`

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2917
2016-04-24 12:16:25 -05:00
Juan Tejada
2dccde2e58 feat(mail-merge): Add mail merge plugin
Summary:
Adds Mail Merge Plugin
- Adds new table components to component kit
- Adds new extension points to allow dragging and dropping into composer contenteditable and participant fields and customizing participant fields
- Adds new decorators and other misc updates
- #1608

Test Plan: TODO

Reviewers: bengotow, evan

Reviewed By: bengotow, evan

Differential Revision: https://phab.nylas.com/D2895
2016-04-22 18:29:07 -07:00
Evan Morikawa
1920d5db8a fix(win): speed up composer launching 2016-04-22 17:41:22 -07:00
Jackie Luo
777ef33622 fix(draft-list): Revert regression for sheet selection 2016-04-22 17:30:14 -07:00
Jackie Luo
6a1bed23c1 feat(activity-list): View message opens and link clicks
Summary:
Adds an activity list view that shows message opens and link clicks in a
chronological feed.

TODO: Add badge for unread notifications and different styling for read/unread
notifications. Click item to jump to corresponding thread.

Test Plan: TODO.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2915
2016-04-22 17:27:30 -07:00
Evan Morikawa
78112563a6 feat(win): faster popout windows
Summary:
This diff is designed to dramatically speed up new window load time for
all window types and reduce memory consumption of our hot windows.

Before this diff, windows loaded in ~3 seconds. They now boot in a couple
hundred milliseconds without requiring to keep hot windows around for
each and every type of popout window we want to load quickly.

One of the largest bottlenecks was the `require`ing and initializing of
everything in `NylasExports`.

I changed `NylasExports` to be entirely lazily-loaded. Drafts and tasks
now register their constructors with a `StoreRegistry` and the
`TaskRegistry`. This lets us explicitly choose a time to activate these
stores in the window initalization instead of whenever nylas-exports
happens to be required first.

Before, NylasExports was required first when components were first
rendering. This made initial render extremely slow and made the proposed
time picker popout slow.

By moving require into the very initial window boot, we can create a new
scheme of hot windows that are "half loaded". All of the expensive
require-ing and store initialization is done. All we need to do is
activate the packages for just the one window.

This means that the hot window scheme needs to fundamentally change from
have fully pre-loaded windows, to having half-loaded empty hot windows
that can get their window props overridden again.

This led to a major refactor of the WindowManager to support this new
window scheme.

Along the way the API of WindowManager was significantly simplifed.
Instead of a bunch of special-cased windows, there are now consistent
interfaces to get and `ensure` windows are created and displayed. This
DRYed up a lot of repeated logic around showing or creating core windows.

This also allowed the consolidation of the core window configurations into
one place for much easier reasoning about what's getting booted up.

When a hot window goes "live" and gets populated, we simply change the
`windowType`. This now re-triggers the loading of all of the packages for
the window. All of the loading time is now just for the packages that
window requires since core Nylas is there thanks to the hot window
mechanism.

Unfortunately loading all of the packages for the composer was still
unnaceptably slow. The major issue was that all of the composer plugins
were taking a long time to process and initialize. The solution was to
have the main composer load first, then trigger another window load
settings change to change the `windowType` that loads in all of the
plugins.

Another major bottleneck was the `RetinaImg` name lookup on disk. This
requires traversing the entire static folder synchronously on boot. This
is now done once when the main window loads and saved in a cache in the
browser process. Any secondary windows simply ask the backend for this
cache and save the filesystem access time.

The Paper Doc below is the current set of manual tests I'm doing to make
sure no window interactions (there are a lot of them!) regressed.

Test Plan: https://paper.dropbox.com/doc/Window-Refactor-UYsgvjgdXgVlTw8nXTr9h

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2916
2016-04-22 13:30:42 -07:00
Jackie Luo
79b5e34211 fix(draft-list): Select proper sheet when launching in drafts perspective 2016-04-21 16:00:06 -07:00
Evan Morikawa
8fb062f765 fix(spec): fix to run in utc travis 2016-04-20 14:39:15 -07:00
Ben Gotow
bb71529322 fix(attachments): Don't show the paperclip for inline attachments < 3k (signatures, etc.) 2016-04-20 10:44:32 -07:00
Kevin Jose Martin
78ea5c0c64 Doing write on a GET is invalid. (#2004)
* Doing write on a GET is invalid

* Doing write on a GET is invalid
2016-04-20 10:07:12 -07:00
Ben Gotow
658e1a5d0d perf(db): Use partial indexes added in sqlite 3.8 2016-04-19 17:42:02 -07:00
Jackie Luo
8803b01d2f lint(github-card): Change duplicated variable name 2016-04-19 17:34:19 -07:00
Jackie Luo
1bfc8e74b1 feat(preferences): Add theme picker button to Appearances 2016-04-19 17:14:25 -07:00
Tim Hitchins
24fb3ee952 Added link to all plugins section (#2002)
* Added link to all plugins section

* Added correct link - to the nylas repro ;-)
2016-04-19 16:14:06 -07:00
Max Stoiber
fe453b02da Fix Github Sidebar Plugin (#2003)
Hopefully fixes #1991

I don't have N1 setup locally, so this is a blind shot–would appreciate somebody who has it set up to pull this and verify this fixes the issue, but as far as I can tell it should.

The gist is:

> Looking at the code, what you do is use the `search/users` endpoint to find users by email and taking the repos from there. You then load the repositories of the username, but we can't sort those by most-starred: "sort string Can be one of `created`, `updated`, `pushed`, `full_name`. Default: `full_name`" *([src](https://developer.github.com/v3/repos/#list-user-repositories))*
> What we could instead do is use the search API, which **allows us to search for repositories by a specific user and sort by most starred**. This is a tiny bit hacky, but works perfectly fine. E.g. this is the URL for my most starred repos: `https://api.github.com/search/repositories?q=user:mxstbr&sort=stars&order=desc`
2016-04-19 16:13:30 -07:00
Ben Gotow
33225f56b0 rename(drafts) DraftStoreProxy => DraftEditingSession 2016-04-19 16:08:58 -07:00
Ben Gotow
7452705c31 refactor(composer): Make session, draft available everywhere
Summary:
Up until now, we've been requiring that every plugin control in the composer take the draftClientId, retreive the session, listen to it, build state from the draft, etc. This is a huge pain and is hard to explain to newcomers becaus it frankly makes no sense.

In 0.3.45 we made it so that the ComposerView always has a non-null draft and session. (It isn't rendered until they're available). In this diff, I just pass those through to all the plugins and remove all the session retrieval cruft.

Almost none of the buttons have state of their own, which I think is appropriate.

They do render on every keystroke, but they were already running code (to recompute their state) on each keystroke and profiling suggests this has no impact.

Prepare for immutable

In preparation for Immutable models, make the draft store proxy returns a !== draft if any changes have been made. This means you can safely know that a draft has changed if `props.draft !== nextProps.draft`

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D2902
2016-04-19 16:05:15 -07:00
Evan Morikawa
b29d5ac75b tests(calendar): adding calendar and scheduler tests
Summary: Adding tests

Test Plan: Tests

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2892
2016-04-19 11:54:15 -07:00
Ben Gotow
36ab9d593b feat(unread/spam): New items in the sidebar for unread and spam
Summary:
Adds a new unified "Spam" folder and a unified "Unread" view,
which shows all the messages in your inbox which are unread.

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2901
2016-04-19 11:32:33 -07:00
Dakota Nelson
ccaa03e944 Expose ParticipantsTextField through component kit (#1994) 2016-04-18 16:39:08 -07:00
Ben Gotow
0de50b476c fix(default-alias): Show primary email instead of "None", clarify only for new messages currently 2016-04-15 19:05:54 -04:00
Ben Gotow
e70fdd4dcd fix(default-client): Set initial state to fix React warning 2016-04-15 14:30:13 -04:00
Ben Gotow
cd4b1c7016 fix(related-threads): Show snippet in addition to subject #1683 2016-04-14 17:33:43 -04:00
Ben Gotow
59b0c1c556 fix(view-on-github): Add readme and fix bug 2016-04-14 17:03:57 -04:00
Ben Gotow
b521cf7f03 fix(star): Change action from Star All => Star #1927 2016-04-14 16:34:46 -04:00
Ben Gotow
c96a5a4d22 💄(scheduler): Would you like => I'd like 2016-04-13 17:48:27 -07:00
Drew Regitsky
8ea78417a8 fix(onboarding): Add missing return statement when changing endpoints 2016-04-13 17:41:31 -07:00
Drew Regitsky
19a4281bb4 fix(onboarding): Change error notification for endpoint changes 2016-04-13 16:13:25 -07:00
Ben Gotow
1b6525910c fix(search-bar): Apparently we were not providing keys 2016-04-13 16:08:24 -07:00
Ben Gotow
f85f447141 fix(require): Move more requires to new electron format 2016-04-13 15:35:01 -07:00
Ben Gotow
b64719d09f fix(search): Cannot remove items from search (Sentry 30318) 2016-04-13 14:22:43 -07:00
Ben Gotow
d1211ab7de bump(electron): 0.36.7 => 0.37.5 2016-04-12 18:42:57 -07:00
Matt Bilker
5fd8faa82c fix(imports): switch to Electron's require('electron') (#1907)
* fix(imports): switch to Electron's require('electron')

Electron in 0.37.5 phases out the usage of `require('built-in-module')`
in favor of `require('electron').builtInModule`. This commit corrects usage in
some cases that cause N1 to not start under Electron 0.37.5.

* fix(specs): use new Electron remote import
2016-04-12 18:09:13 -07:00
Jackie Luo
cf926b0346 fix(composer-emoji): Fix calculation for category positioning 2016-04-12 14:51:56 -07:00
Ben Gotow
d5fb58a029 fix(emoji): Improve variable names / diff feedback 2016-04-12 14:46:03 -07:00
Ben Gotow
370edc40e9 fix(emoji): Re-use img tag to avoid running out of file descriptors
Summary:
On my machine the new emoji picker was causing "too many open file descriptor"
errors. I think that this was because it was creating 1300 image tags in 50msec.

I refactored this code so that it uses a single image tag and only loads one image
at a time. This could make it slower on some people's machines, but eliminates the
possibility of it breaking the app!

Test Plan: Run tests

Reviewers: jackie

Differential Revision: https://phab.nylas.com/D2878
2016-04-12 14:29:59 -07:00
Jackie Luo
2a431fcec7 fix(composer-emoji): Switch to characters to PNGs (#1898)
* Add PNGs and JSON file

* Add Apple and Twitter emoji

* Fix linter issues and tests

* Get correct path from EmojiStore

* Add emoji regex and update extensions

* Remove the scary regex
2016-04-12 10:27:24 -07:00
Evan Morikawa
c5f4c7305d feat(scheduler): add an event preview when sending a meeting request
Summary: add event preview

Test Plan: manual

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2874
2016-04-11 22:45:36 -04:00
Ben Gotow
793b9efae0 fix(scheduler): Don't cast durations to integers, fix 1.5, 2.5 hour blocks 2016-04-11 18:52:49 -07:00
Ben Gotow
24d9157ee5 fix(scheduler): End should work even if the mouse isn't over a time 2016-04-11 18:42:17 -07:00
Ben Gotow
c3fad8cca7 fix(scheduler): Make popover width even so it's not blurry 2016-04-11 18:33:53 -07:00
Ben Gotow
046c8b3122 fix(sync): Handle "Invalid cursor" scenario by 💣🔥 away the cache 2016-04-11 17:34:52 -07:00
Evan Morikawa
d24f653e26 fix(scheduler): minor style tweaks to scheduler popover 2016-04-11 19:33:27 -04:00
Evan Morikawa
ceee33eb10 fix(scheduler): fix jumping calendar and add popover
fix(scheduler): fix jumping calendar and add popover

Summary: feat(scheduler): improved calendar picker

Test Plan: manual

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2873
2016-04-11 18:23:06 -04:00
Ben Gotow
586d099c23 fix(schedule): Move z-indexes to prevent dropdown layering issue 2016-04-11 14:58:58 -07:00
Ben Gotow
db90db3131 fix(schedule): Use draft session to udpate metadata, always save in syncback 2016-04-11 14:32:54 -07:00
Ben Gotow
5220b471e3 fix(db): Counts no longer require Thread table join 2016-04-11 13:51:31 -07:00
Ben Gotow
c00190c492 fix(auth): Fix missing var. This is why we should go ES6! 2016-04-11 10:48:16 -07:00