- 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.
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
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
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
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