Commit graph

3408 commits

Author SHA1 Message Date
Ben Gotow
7af69e3bb9 fix(dev): Tiny script that allows you to install eslint packages into main node_modules folder (for Atom) 2016-07-21 11:56:44 -07:00
Halla Moore
7ca9f7667c Implement a participant cap for multi-send, add multi-send unit tests
Summary:
Prevent hitting SMTP rate limit with multi-send
Some users were hitting the SMTP rate limit when sending messages
with multi-send to too many recipients. There is a backend patch
to help with this, but we decided it would be useful to limit it
on the client side as well.

Test Plan: Added unit tests

Reviewers: jackie, juan

Reviewed By: jackie, juan

Differential Revision: https://phab.nylas.com/D3109
2016-07-21 11:36:45 -07:00
Annie
d55616ca14 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
87dba382a8 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
e984a0c222 fix(readme): Add Kleinstein description 2016-07-20 14:59:07 -07:00
Ben Gotow
43a8a1255b fix(specs): Misc fixes 2016-07-20 12:33:52 -07:00
Annie
241d3e8d61 fix(image): Prepend file:// to image paths to solve
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 (). 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
cd1f39f2fa fix(email): Fix email body height bug
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
David Klein
34bf11d9c0 Update README to include Kleinstein theme ()
This theme hides the account list sidebar.
2016-07-18 20:31:06 -07:00
Jackie Luo
897a331e25 🎨(composer): Add newline for replies 2016-07-18 17:48:26 -07:00
Ben Gotow
f39ed8011c fix(menus): Adopt new pasteandmatchstyle menu role 2016-07-18 16:57:31 -07:00
Ben Gotow
12b9b910c4 fix(linux): Support unread counts in Unity 2016-07-18 16:53:25 -07:00
Ben Gotow
a85cc4d896 bump(version): 0.4.46 and Electron 1.2.7 2016-07-18 16:51:49 -07:00
Ben Gotow
310af1727d Merge branch 'master' of ssh://github.com/nylas/N1 2016-07-18 14:25:09 -07:00
Ben Gotow
893feb2ad8 fix(contacts): Support unicode characters in domains 2016-07-18 14:25:00 -07:00
jathpala
1392887c83 Pasting into a participant field now preserves any text already there (Issue ) ()
This modifies the behavious when pasting into the to, cc or bcc fields of a new draft.
Any text already in the input field is not automatically deleted. Rather the pasted
text is added to the already existing text. If the new contents of the email field now
matches as an email address (based on RegExpUtils.emailRegex().test()), then the address
is immediately tokenized. If the new input text doesn't match as an email, just append
the new text and wait for further input.
2016-07-18 12:32:46 -07:00
Evan Morikawa
eebc6c5c9b fix(delta): add N1 token to delta stream connection 2016-07-13 22:02:48 -07:00
Evan Morikawa
192f6a75b6 fix(login): fix error thrown when login fails for IMAP 2016-07-13 15:55:45 -07:00
Carson Ip
347fcd8c2d Fix incorrect port number when using https ()
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
52c04eca8c feat(analytics): add Sidebar Opened & Sidebar Closed events 2016-07-11 18:16:08 -07:00
Evan Morikawa
6661693860 fix(onboarding): Fix Rx.Observable.fromQuery not defined bug 2016-07-11 18:07:45 -07:00
Annie
39e5a2ee96 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
e3380508a6 Clear notifications when emails are read
Fixes 

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
7d66cdbcac Change pending unread notification stack to be a queue ()
* 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
d1003fbac4 pgp-plugin update ()
* 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
4b7b2f20f5 removes phishing warning for different subdomains ()
This commit improves on  (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
Jonas Strømsodd
c78d36bb65 Make display of onboarding page conditional. ()
When running against a custom Sync Engine, viewing the onboarding page
on startup does not make much sense. This here adds code that checks for
the `env` of the Nylas config and skips the onboarding if it is `local`
or `custom`.
2016-07-08 11:14:42 -07:00
Aaron Sikes
0db3e21884 Mention test focusing and skipping in CONTRIBUTING () 2016-07-08 10:57:41 -07:00
Carson Ip
68da536d79 Fix failing clean script ()
The clean script fails since productName is "Nylas N1" which contains a
space and it appears to pkill 2 patterns. This is causing the script to
stop in my linux machine. Now the productName is wrapped with quotes to
prevent this from happening.
2016-07-08 10:57:12 -07:00
Ben Gotow
b336e66d31 Update Windows.py to remove Node 0.10x 2016-07-08 10:52:08 -07:00
Ben Gotow
6c3bcf99ad fix(auth): ssl_required => true instead of "on" 2016-06-30 13:38:54 -07:00
Jackie Luo
5323350fb2 update(readme): Remove Scheduler from plugins list 2016-06-29 17:19:03 -07:00
Jackie Luo
e4d12459d0 🎨(tracking): Tweak style 2016-06-20 18:14:26 -07:00
Evan Morikawa
20f9e7b3a1 fix(win): fix alt-based worker window keyboard shortcut 2016-06-17 10:08:12 -04:00
Evan Morikawa
ca2fa9e1da fix(analytics): fix identify debounce to prevent phantom profile 2016-06-17 10:08:01 -04:00
Evan Morikawa
53eb7f58aa 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
54a74e317d fix(sidebar): Make sure saved sidebar accts are correct
- Sidebar accounts may become invalid when switching from staging to
prod
2016-06-16 16:40:47 -07:00
Juan Tejada
e87096d7a3 fix(quoted-text): Add option to remove quoted-text, fix styles
- 
2016-06-16 15:37:58 -07:00
Jackie Luo
42e876ab1f feat(spellcheck): Add option to disable spellcheck 2016-06-16 15:12:19 -07:00
Akash Nimare
36e0e0721d Fixed broken links. () 2016-06-16 15:09:24 -07:00
Jackie Luo
a04c1f4224 fix(subscription): Change copy to be less confusing 2016-06-16 12:23:06 -07:00
Annie
7004bf94ce fix(label-nesting): maintain nested labels when renaming a label
Summary:
when renaming nested labels, maintain nested path
fixes 

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
ce8cdf8cd7 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
4ed1f590ce Update broken links for guides, docs, and API ()
Also updated schemes of some links to https for consistency
2016-06-15 15:29:52 -07:00
Jackie Luo
2f48b77d1a fix(identity): Convert datetimes to milliseconds 2016-06-14 15:04:18 -07:00
Ben Gotow
302b8074e5 fix(mail-merge): Patch to prevent interaction with other ParticipantTextFields 2016-06-14 14:02:32 -07:00
Ben Gotow
0a45a5b039 fix(keybase): Don't run specs which require keybase API 2016-06-14 13:26:10 -07:00
Ben Gotow
72cd732ebf Pgp patch ()
* 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
5810aeeefc fix(keybase): Invite fetch doesn't need JSON parse 2016-06-14 12:26:43 -07:00
Ben Gotow
04e3154614 fix(identity): Show number of days remaining correctly 2016-06-14 11:52:15 -07:00