Commit graph

1730 commits

Author SHA1 Message Date
Jackie Luo
6ff7aec999 fix(tracking): Check for specific plugin before transforming body 2016-08-16 17:22:30 -07:00
Evan Morikawa
5231b4f556 feat(install): add a checker for the install location
Summary:
Adds a new notification bar for mac users only that warns you if N1 is not
in your /Applications folder. Gives you the option to move it to your
/Applications folder.

Test Plan: manual

Reviewers: juan, jackie

Reviewed By: juan, jackie

Differential Revision: https://phab.nylas.com/D3166
2016-08-16 16:58:13 -07:00
Juan Tejada
b223a38b73 fix(mail-merge/preview): Don't unmount components when toggling preview
Summary:
See edgehill revision: https://phab.nylas.com/D3160

- CustomContenteditableComponents.get now takes a single component to register as an overlaid component, and this component will be passed a prop `{isPreview: true}` when it is meant to be rendered as a preview. Update scheduler and mail-merge to use this new api.

- This prevents the mail merge state from being incorrectly updated when we toggled preview mode -- previously, it believed that the tokens had been unmounted when toggling preview, so they were incorrectly removed from the mail merge state.

- Additionally, makes sure that tokens are correctly added to the mail merge state whenever a token is rendered via componentDidMount -- previously, we only added the token to state when a token was dropped on the contenteditable, however, a token might be pasted or an anchor node might be added by any other means, in which case we want the mail merge state to reflect that. (Adds docs about this)

Test Plan: Manual

Reviewers: jackie, evan

Reviewed By: jackie, evan

Differential Revision: https://phab.nylas.com/D3161
2016-08-16 13:21:41 -07:00
Evan Morikawa
3b365dd9b1 fix(window): window launcher now assigns new window keys if none exist
Fixed issue where new windows wouldn't refresh themselves because the keys
were stuck on the hot window
2016-08-15 14:16:54 -07:00
Evan Morikawa
610aecb184 fix(metadata): add pluginId string check when grabbing metadata
This caused an infinitely growing set of duplicate metadata entries whose
keys were "[object object]"
2016-08-15 13:39:40 -07:00
Evan Morikawa
ff61da26d7 fix(sidebar): fix bug in sidebar scoring
Not properly getting passed the account means that yourself was not
properly downgraded in the sidebar participant score
2016-08-15 13:38:01 -07:00
Annie
43ea21e3bf add(composer): Turn emails into mailto for debugging purposes
Summary:
fix(subject-field): Fix subject text field focus
Before, if you clicked a mailto link, once the composer loaded, the subject field (which was focused in composer-preload) blurred. This was not ideal as users would want to type once the popout loaded and instead they would have to click first. We identified that this was coming from the composer header _renderSubject injected component. We fixed the focus within mail merge subject text field and additionally added the onComponentDidChange method to injected component. This allowed us to only update the component when the header field changed.

Test Plan: tested on my machine for mailto links

Reviewers: juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3150
2016-08-12 16:06:22 -07:00
Evan Morikawa
2e1bd5daae fix(env): add remove unload callback for stores
Also add eslint_d to linter setup.
Developer bar store supports bearer token auth
2016-08-05 12:15:39 -07:00
Evan Morikawa
59b5c2d960 feat(request): Add APIRoot as an option to Nylas API Request 2016-08-03 11:23:55 -07:00
Evan Morikawa
011d5e90a9 Add NylasLongConnection to nylas-exports 2016-08-02 17:34:56 -07:00
Evan Morikawa
0de68632df Auth keybase and clearbit
Summary:
Fix to pass N1 ID auth through to edgehill-server for remaining services
(clearbit and keybase) that request authing against the Nylas API. We need
to pass along the N1 ID.

This also requires an Edgehill Server patch here:
https://phab.nylas.com/D3149

Test Plan: Manual.

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D3151
2016-08-02 16:17:34 -07:00
Annie
b46f60fc1c 🎨(signature): Fix signature dropdown styling on different themes
Summary: Ran into issues with the selected tag having different styles associated with it in taiga and in darkside. Fixed these.

Test Plan: Tested on my machine

Reviewers: jackie

Reviewed By: jackie

Subscribers: jackie

Differential Revision: https://phab.nylas.com/D3144
2016-08-01 14:18:13 -07:00
Juan Tejada
3678c23515 fix(mail-merge): Fix cursor style, refactor state reducers, add test 2016-08-01 12:50:36 -07:00
Juan Tejada
9fe6717a98 fix(utils): Properly export DateUtils.timeZone, fix specs 2016-08-01 12:41:05 -07:00
Juan Tejada
5e2f8756e0 fix(activity-list): Properly update to DateUtils.shortTimeString 2016-08-01 12:09:01 -07:00
Ben Gotow
5254589e5e fix(signatures): Scrolling for long signatures 2016-08-01 11:54:00 -07:00
jathpala
7faa9ac7bd 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
Halla Moore
329ea70670 fix(error msgs): Show an error when we can't store the identity token 2016-07-28 17:35:56 -07:00
Ben Gotow
36bd794b61 feat(signatures): Fix specs 2016-07-28 14:54:37 -07:00
Ben Gotow
817a78a296 feat(signatures): Upgrade old signatures to new format 2016-07-28 14:46:01 -07:00
Annie
5dc0f53cea bump(submodule) 2016-07-28 14:15:31 -07:00
Juan Tejada
c347a36ab5 fix(mail-merge): Skip row in table data if its empty
- Don't show annoying error if entire row is empty
- Just show error if just the email cell is empty
2016-07-28 14:05:51 -07:00
Ben Gotow
0c41498977 fix(quoted-text): Don’t add <body>, <head> accidentally to text when transforming 2016-07-28 13:33:59 -07:00
Ben Gotow
e3a58b4bde fix(thread-list): Random error when rapidly clicking row after launch 2016-07-28 13:33:59 -07:00
Annie
796af843a0 fix(mail-merge): Fix column deletion and added a spec for uneven data
Summary: After importing an uneven csv (not all rows have the same number of columns e.g. rows: [[1,2][3,4,5]]), deleting the last column would improperly delete data in rows with fewer columns. This is because we were slicing each row based on row.length - 1 which is not the same for all rows. Fixed this by creating a new variable newNumColumns which is columns.length - 1.

Test Plan: Added new test data with uneven data and added a test in table-data-source-spec for removeLastColumn on this uneven set.

Reviewers: juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3133
2016-07-28 12:12:10 -07:00
Annie
ea60c69fa6 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
Halla Moore
8e1aa4b371 Make sure draft has enough time to save before composer is closed
If the composer is closed too quickly, the DatabaseStore doesn't have enough
time to trigger the necessary ActionBridge events that will properly save the draft.
These events are triggered every 10 ms, so to be safe, we wait 15.
2016-07-27 19:52:08 -07:00
Ask Brean
05b6d46002 Enables showing/hiding of menubar (#2648)
* Enables showing/hiding of menubar as per #1181

* Updates to new setting name
2016-07-27 18:35:32 -07:00
Juan Tejada
ef6cf545d8 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
Ben Gotow
b7408805f0 fix(packages): Don’t look for package in top level directory
Fixes issue with Keybase.io installing a folder at the top level of the filesystem called `keybase`
2016-07-27 11:52:55 -07:00
Juan Tejada
008aa11318 fix(long-connection): Close connection on 'end' event 2016-07-27 03:12:55 -07:00
Juan Tejada
693bd18267 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
Juan Tejada
df4dec866f bump(submodule): Revert submodule bump revert 2016-07-26 19:21:39 -07:00
Annie
02d48ff0ce 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
665f2c8dd1 bump(submodule) 2016-07-26 15:31:44 -07:00
Annie
4c452aaf47 fix(downloads): Add a check to see if last download directory is different, only show item in folder if true
Summary:
Each file downloaded would open finder and show the path to the file. Users were reporting that this felt excessive when downloading multiple files all to the same location #1044. I added a check to see if the path was the same as the previous file path, and only showed the item in the folder if these differed.

Also added tests for this in file download store.

test(downloads): Add tests for showing item in folder only if lastDownloadDirectory differs

Test Plan: Added tests to file-download-store-spec

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3121
2016-07-26 15:02:09 -07:00
Halla Moore
7626bf6728 Ignore thread labels that aren't listed in the account's labels
Summary:
An "important" label has been showing up for some users, rather than the usual
important markers. We generally have a list of labels that are hidden, including
the important label, but this list starts with the labels for the entire account.
In these cases, we believe gmail stopped returning the important label for the
accounts, while we still had threads marked as important. This resulted in the
important label not being properly hidden. To fix this, we added a clause that
ignores labels if they are not in the account's list of labels.

Test Plan: Tested locally

Reviewers: annie, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3123
2016-07-26 14:00:36 -07:00
Juan Tejada
0ae78ebdd9 fix(mail-merge): Bump submodule 2016-07-22 14:26:28 -07:00
Juan Tejada
7b020765e9 fix(mail-merge): Keep column links state properly in sync #2493
Summary:
See https://phab.nylas.com/D3112 for full description
- Update EditorAPI.insertCustomComponent to take a pre-generated
anchorId

Test Plan: Unit tests + manual

Reviewers: bengotow, halla, jackie

Reviewed By: jackie

Differential Revision: https://phab.nylas.com/D3113
2016-07-22 14:25:31 -07:00
Jackie Luo
ad047755e6 fix(quoted-text): Check that message is reply 2016-07-21 17:45:47 -07:00
Jackie Luo
ba32391351 spec(quoted-text): Fix broken tests 😞 2016-07-21 15:47:54 -07:00
Jackie Luo
98e351ebeb 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
e40239f6b9 fix(message-body): Sanitize contenteditable attrs out of message bodies 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
43a8a1255b fix(specs): Misc fixes 2016-07-20 12:33:52 -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 #408 2016-07-18 16:53:25 -07:00