Commit graph

1755 commits

Author SHA1 Message Date
Alberto Castillo - acg
14aab71cd7 Fixed issue #2670. URL parsing '?#' (#2827) 2016-09-10 10:17:17 -07:00
Jackie Luo
9ac730cccc fix(identity): Log user out of app if identity token is missing 2016-09-02 17:11:00 -07:00
Kyle King
d47c5bf3dd Fixes #2723 -> apm ignore plugin dev-dependencies (#2741)
`apm install --production`
2016-09-02 16:01:26 -07:00
Jackie Luo
19091478a5 fix(send): Check for number of BCC participants before using multi-send 2016-09-02 11:51:04 -07:00
Juan Tejada
8fea55583f fix(packages): Make sure we can migrate and correctly disable new packages
- Add a package migration manager to be able to migrate external
packages into N1, and decide if they should be enabled or disabled by
default when added.
2016-09-01 14:53:31 -07:00
Ben Gotow
65f9a3dd6b fix(onboarding): Fix React warnings, no back button to auth 2016-09-01 11:11:25 -07:00
Ben Gotow
2cbc1a7dde config(*): watch config across fs deletes, re-creates 2016-09-01 11:03:30 -07:00
Ben Gotow
0924404c85 config(*): Fix bad template string 2016-09-01 10:14:40 -07:00
Juan Tejada
f8d2904f72 bump(submodule) 2016-08-31 09:56:36 -07:00
Juan Tejada
7ffb156ee0 plugins(*): Add identifying css classes to composer plugin buttons 2016-08-31 09:56:23 -07:00
Jackie Luo
a8b8359e0c feat(markdown): Add Markdown composer 2016-08-30 19:23:01 -07:00
Juan Tejada
aac01d1088 fix(utils): Fix import when running in browser process
Main process doesn't know about nylas-exports
2016-08-30 16:08:45 -07:00
Juan Tejada
0ea35896b0 fix(config): Write config.json atomically and handle errors (#2518)
Summary:
It seems that #2518 was being caused because `fs.writeFileSync` ocasionally failed and ended up writing an empty config.json file, effectively blowing away your N1 settings. The most common cause of failure for `writeFileSync` seems to be EBUSY error on win32, according to Sentry. The reason as to why EBUSY is happening so frequently on win32 is still unclear.

This commit:
- Adds an `atomicWriteFileSync` helper which writes to a temporary file first, and then renames the file. If writing to the temp file fails, we wont blow away our actual config.json. Also, renaming seems to be atomic across all platforms.
- Adds more robust error handling and messaging to both loading and writing the file, and report them to Sentry
- Automatically retries saving the file 3 times before telling the user.
- Fixes https://sentry.nylas.com/sentry/edgehill/group/43112/

Test Plan: Manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3245
2016-08-30 15:46:53 -07:00
Jackie Luo
1f15026a5f feat(oauth): Add new component for OAuth sign-in
Summary: Future services that require OAuth get a cute new component that lets them connect more easily.

Test Plan: Tested manually.

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3186
2016-08-25 10:44:32 -07:00
Evan Morikawa
e294415e2f feat(workspace): keep track of workspace mode 2016-08-22 19:14:51 -04:00
Juan Tejada
2839ce2856 fix(mail-merge): Remove extra call to linkToDraft
Screwed up our state!
2016-08-18 15:09:16 -07:00
Jackie Luo
c908a1633c fix(autoupdater): Change feed URL when Nylas ID or accounts changes
Test Plan: Tested locally.

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D3178
2016-08-18 13:22:56 -07:00
Evan Morikawa
afc20f255a fix(lint): fix linter error 2016-08-18 12:27:45 -07:00
Evan Morikawa
dcdfa230e8 fix(draft): prepareDraftForSyncback double checks quotes on send later 2016-08-18 12:14:53 -07:00
Evan Morikawa
e6deb83440 feat(plugins): plugins now properly report which are active on change 2016-08-18 11:42:55 -07:00
Juan Tejada
01dee59e04 fix(send): Don't retry send
Summary:
- There are some cases in which constantly retrying send can cause unexpected bugs like sending multiple times, so don't retry send at all
- Make 429 a permanent error code

Test Plan: Manual

Reviewers: jackie, evan

Reviewed By: jackie, evan

Differential Revision: https://phab.nylas.com/D3177
2016-08-18 10:39:13 -07:00
Evan Morikawa
0a5388d0bb feat(app): dialog box prompting to move to Applications folder 2016-08-18 09:58:13 -07:00
Jackie Luo
9b0306d509 fix(errors): Remove reporting for applyTransformsToDraft 2016-08-18 09:28:09 -07:00
Juan Tejada
4b4763dba4 fix(mail-merge): Update props for body tokens when state changes 2016-08-17 18:09:26 -07:00
Shelley Vohr
5f0b248a2e improve first name parser by adding honorific exclusions (#2732) 2016-08-17 10:14:38 -07:00
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