Commit graph

4423 commits

Author SHA1 Message Date
Evan Morikawa
1d6f634e1c fix(ci): add linux dependencies for keyboard-layout plugin build
https://github.com/atom/keyboard-layout/issues/27
2017-01-30 15:40:52 -08:00
Evan Morikawa
96152f9449 bump(version): 1.0.18 2017-01-30 15:23:57 -08:00
Evan Morikawa
cbde218488 bump(changelog): 1.0.18 2017-01-30 15:23:41 -08:00
Mark Hahnenberg
173ac2bd1a [composer] Fix weird refocusing when plugins load
Summary:
We weren't properly keeping track of the focus state in the ComposerView which
would cause us to lose track of what was focused when plugins were eventually
loaded.

Test Plan: Run locally, verify that we don't lose focus

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3801
2017-01-30 14:42:41 -08:00
Mark Hahnenberg
70a04aff19 [composer] Fix autoclearing of participants field in composer
Summary:
Occasionally, if the composer plugins took too long to load, the user would
start typing only to have their text blown away when the plugins finally came in.
This was caused by carelessly overwriting the TokenizingTextField's stored
inputValue state in componentWillReceiveProps. Now we don't do that!

Test Plan: Run locally, make sure things don't get blown away

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3806
2017-01-30 13:44:27 -08:00
Mark Hahnenberg
aa384567f0 [perf] Fix CSS animation for ellipses in "Syncing your mailbox"
Summary:
This animation was changing the width of the after pseudoelement, which was
causing a lot of repainting and layout to occur in the very bottom corner of
the screen. This in turn caused an idle window to use 50-70% CPU all the
time during initial sync. The fix is to change the after element to three
spans and modify the animation to alter their opacity which avoids having to
do style and layout reflows due to width changes. It also looks slightly cooler
IMHO :-) An idle main window now sits around 8% CPU on my laptop.

Test Plan: Run locally, verify that CPU is lower.

Reviewers: evan, juan

Reviewed By: juan

Subscribers: halla

Differential Revision: https://phab.nylas.com/D3810
2017-01-30 13:43:12 -08:00
Michael Grinich
8bd013e9e9 Update docs config
- Don't ignore built class docs
- pin requirement versions for docs
- update docs build instructions
- update repo URL
2017-01-30 13:05:36 -08:00
Evan Morikawa
bf0aa51148 fix(rename): update nylas/N1 to nylas/nylas-mail Github references 2017-01-30 11:50:39 -08:00
Evan Morikawa
4fadcfdc89 fix(rename): remove n1-next references & update changelog link 2017-01-30 11:40:03 -08:00
Juan Tejada
ab5e5af7a9 bump(k2) 2017-01-30 11:39:18 -08:00
Michael Grinich
70acab2665 Update README.md 2017-01-30 03:18:52 -08:00
Michael Grinich
d51a99d020 Add built docs 2017-01-30 02:49:48 -08:00
Forbes Lindesay
7347861f06 Add the GitHub community plugin (#3197) 2017-01-30 02:47:35 -08:00
Richard Lai
ca0d9eb0a4 Fix typo (#3173) 2017-01-30 02:47:28 -08:00
Paul Xu
6df5f68ff1 Normalized size of buttons in preferences (fixes #2753) (#3112)
Normalized size of buttons across signature, accounts and mail rules preferences. Also make signature pane same size as other preference panels
2017-01-30 02:47:15 -08:00
John Oksasoglu
dad69b272f Fix link to Flux diagram in Architecture.md (#3147)
It looks like the location of the Flux architecture diagrams got moved around on the Flux docs; this change updates the link here to the new location of the diagram.
2017-01-30 02:46:58 -08:00
Michael Grinich
6e1ba41686 Merge branch 'master' into n1-next 2017-01-30 02:45:57 -08:00
Michael Grinich
05da3a6c0d Update documentation with GitBook 2017-01-30 02:38:37 -08:00
Juan Tejada
c7037d06a1 bump(k2) 2017-01-28 01:40:18 -08:00
Evan Morikawa
9be018b489 bump(k2) 2017-01-27 17:49:38 -05:00
Evan Morikawa
667f4dd87d bump(k2) 2017-01-27 17:46:39 -05:00
Juan Tejada
82b3033861 fix(tasks) ChangeMailTask should depend on EnsureMessagesInSentFolder
Summary:
See title
Add specs

Test Plan: unit

Reviewers: halla, evan

Reviewed By: halla, evan

Differential Revision: https://phab.nylas.com/D3805
2017-01-27 14:02:50 -08:00
Juan Tejada
bf69357c01 bump(changelog) 2017-01-27 12:54:57 -08:00
Juan Tejada
f6b4cfdacb bump(version) 1.0.17 2017-01-27 12:51:49 -08:00
Juan Tejada
5b11097172 bump(k2) 2017-01-27 12:50:35 -08:00
Evan Morikawa
3441df3a65 bump(k2) 2017-01-27 14:19:48 -05:00
Mark Hahnenberg
0d61af5f03 [search-index] Embiggen Thread and Contact indexes
Summary: See diff title

Test Plan: Run it

Reviewers: juan, mg, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3794
2017-01-27 10:30:45 -08:00
Juan Tejada
6252f94bb0 bump(changelog) 2017-01-27 09:09:18 -08:00
Juan Tejada
3aaf91ee93 bump(k2) 2017-01-27 08:29:27 -08:00
Evan Morikawa
dfc09254e6 bump(version): 1.0.16 2017-01-27 10:11:27 -05:00
Evan Morikawa
bb560af023 bump(changelog): 1.0.16 2017-01-27 10:11:09 -05:00
Mark Hahnenberg
9acb8b48a8 [spellcheck] Fix spellcheck debouncing
Summary:
Previously we were only debouncing one function in onContentChanged. This would
cause us to do very expensive things on every keypress in the things that
weren't debounced. This diff changes things so that we debounce the entire
process of running the spellchecker.

Test Plan:
Run locally, make sure spellchecker doesn't run on every keypress.
Misspell lots of things, type really quickly, paste large chunks of text
into the composer.

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3791
2017-01-26 13:40:45 -08:00
Juan Tejada
f6193f9114 bump(k2) 2017-01-26 13:38:40 -08:00
Juan Tejada
6dc9bbf412 fix(tasks) Notify when actions on threads fail
Summary: It is better to notify that a task failed rather than having a thread or group of threads randomly bounce back.

Test Plan: manual

Reviewers: evan, spang, mark, halla

Reviewed By: mark, halla

Subscribers: mark

Differential Revision: https://phab.nylas.com/D3790
2017-01-26 13:30:40 -08:00
Juan Tejada
78cdf32761 bump(k2) 2017-01-26 09:19:42 -08:00
Juan Tejada
c996af3b36 bump(k2) 2017-01-26 09:11:01 -08:00
Juan Tejada
54ca43e48e fix(plugins) Unbreak plugins support in Nylas Mail
Properly use plugins specified in babelrc.json when using the babel
compiler. #3187
2017-01-25 22:41:54 -08:00
Juan Tejada
5a67198226 bump(version) 1.0.15 2017-01-25 16:47:04 -08:00
Juan Tejada
0eaa184a4a bump(k2) 2017-01-25 16:37:54 -08:00
Juan Tejada
7beff5bae4 fix(onboarding) Allow users who only have custom imap to auth
Summary:
Users who only had a custom imap account could not open the window to
add a custom imap account the first time the auth was opened, rendering
the app useless for them.

Github issue #3185 and T7691

Test Plan: manual

Reviewers: halla, spang, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D3783
2017-01-25 15:06:58 -08:00
Mark Hahnenberg
7bf8d18a02 Don't register to receive IPC for hot windows
Summary:
These windows don't need to receive IPC until they're being used for something
(i.e. after transitioning from hot window to composer, popout, etc)

Test Plan:
Run locally w/ hot windows shown, make sure that hot window doesn't
receive IPC

Reviewers: evan, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3780
2017-01-25 14:54:38 -08:00
Mark Hahnenberg
6946bda2bd Use meaningful names for helper processes
Summary: See diff title

Test Plan: Run locally, check in htop for new titles

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3778
2017-01-25 14:54:13 -08:00
Evan Morikawa
14514a3413 fix(specs): change spec scheduler back to setTimeout
Summary:
Adds a new `npm run test-window` that will launch specs in a window so you
can use the debugger

The spec window wouldn't close because `onbeforeunload` was unnecessarily
preventing close. This circumvents this in spec mode.

Most significantly I discovered we can't use the synchronous timer for the
promise scheduler anymore. Suppose you do:

```
it('should error', async () => {
  try {
    await doSomething()
    throw new Error("doSomething should have thrown!")
  } catch (err) {
    expect(err.message).toMatch(/my message/)
  }
})
```

The way async/await is transpiled, when `doSomething` throws, the error
will propagate all the way back up to the uncaughtPromiseException handler
before the `catch` gets called and registered. The transpilation method
assumes that when the function gets executed it can synchrously advance
beyond the call before the `then` or `catch` resolve. When the promise
scheduler is synchronous this doesn't happen.

I chose to use `setTimeout` instead of `process.nextTick` or
`setImmediate` as the promise scheduler. `setTimeout` seems to work better
with Chrome's async function call stacks. `nextTick` and `setImmediate`,
being Node methods, skip Chrome's async watchers.

Test Plan:
I talked with Juan about these changes, in an upcoming diff he will be
testing these in the context of our broader test suite.

Reviewers: mark, khamidou, halla, spang, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3779
2017-01-25 17:43:11 -05:00
Evan Morikawa
2fe1368aa9 bump(k2) 2017-01-25 17:11:45 -05:00
Juan Tejada
85d41839c1 bump(k2) 2017-01-25 13:53:17 -08:00
Juan Tejada
be99845d41 bump(version) 1.0.14 2017-01-25 12:28:47 -08:00
Evan Morikawa
9b21dfb261 bump(k2) 2017-01-25 15:28:09 -05:00
Evan Morikawa
77bc501eb7 bump(spellcheck) upgrade to 1.0.0
Summary: This bumps the spellcheck and restores the specs

Test Plan:
Manually open a composer, type some text and ensure it underlines them as
misspelled. Also restore test coverage

Reviewers: mark, halla, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3776
2017-01-25 15:26:38 -05:00
Juan Tejada
b2bd4186a2 bump(changelog) 2017-01-25 11:04:58 -08:00
Juan Tejada
a4a71d790f bump(k2) 2017-01-25 10:57:16 -08:00