- Textarea bug prevented us from typing in the markdown editor, almost
consistently. Seems to be a chrome bug
- Stop using textarea and use contenteditable instead via codemirror's
inputStyle option. Had to use our fork of simplemde to be able to pass that option
- Disable spellchecker also
- 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