Commit graph

3892 commits

Author SHA1 Message Date
Juan Tejada 5c7518e958 fix(sidebar): Correctly show all accounts in sidebar during initial sync
Ref #1587
2016-11-16 22:48:14 -08:00
Evan Morikawa 69aaf27709 fix(input): error in tokenizing text field and queue debug info 2016-11-16 18:45:36 -08:00
Ben Gotow d53edbffea feat(db): background flag to exec queries in a single forked node process
Summary:
This is an initial attempt to fix an issue we’ve had with long-running queries interrupting the N1 user experience. Node-sqlite3 used an async approach that ran sqlite’s synchronous query methods on a worker thread, but doing that involves copying memory more and node-sqlite3 was just generally slow.

However, moving to better-sqlite3 made /everything/ synchronous. Even with the right indexes some of our queries just suck.

This diff adds `DatabaseStore.findAll(…).background().then()` which allows you to mark a query as “unimportant”. These queries are run in a separate process which is forked from the window and can take an extra 10-50ms to complete. That said, they’re totally async and don’t jam up the app.

I’m personally a fan of the flag and less a fan of the implementation. The “agent” process can handle many queries in it’s lifetime if they keep coming and quits after 10 seconds of inactivity. (Both to save memory and to avoid scenarios where it might end up oprhaned and running forever). While running it uses about 40MB of RAM, which is a bit on the crazy side.

Test Plan: No new tests yet

Reviewers: evan, juan

Reviewed By: evan, juan

Differential Revision: https://phab.nylas.com/D3420
2016-11-16 17:47:24 -08:00
Ben Gotow 2f65979404 feat(calendar): Add line showing ‘now’
Summary: Just a small line that shows during the current week to highlight the current day and time.

Test Plan: No tests atm

Reviewers: evan, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D3435
2016-11-16 17:08:56 -08:00
Evan Morikawa 9cdf261588 feat(menu): new hideWhenDisabled flag for custom submenu items 2016-11-16 16:05:48 -08:00
Evan Morikawa 08d9bfc334 feat(plugin): don't show isHiddenOnPluginsPage 2016-11-16 16:00:56 -08:00
Evan Morikawa 3c0c0cde67 feat(menu): completely remove top-level menus from optional plugins 2016-11-16 15:53:16 -08:00
Juan Tejada d59d292d2f fix(spellcheck): Minor perf improvements
- When applyign spellcheck mutations to the dom, toggle display property
on the contenteditable to reduce reflows/repaints while mutating
- Debounce provideTextHint to reduce work on each keystroke
- Minor speedup checking existence of keys in spellchecker internal maps
2016-11-16 15:18:11 -08:00
Evan Morikawa a2f73b24c5 feat(link): enable the clicking of nylas: and calendar: links in N1 2016-11-16 14:40:44 -08:00
Evan Morikawa f21c0032b6 feat(autolinker): linkify nylas: commands 2016-11-16 13:35:12 -08:00
Evan Morikawa da2055bd96 feat(link): nylas:// plugin links notify when turned on or off 2016-11-16 12:01:05 -08:00
Juan Tejada 2b953a686b fix(cal) Fix backspace in event-search 2016-11-15 17:50:21 -08:00
Juan Tejada d3dcf89e9f feat(event-search): Add event search to calendar
Summary:
This commit adds the ability to perform event search in the calendar window.
To achieve this, SearchBar has been moved from the thread-search package to be a part
of the nylas-component-kit, and reused by both thread-search and nylas-calendar

When an event is selected from search results, the calendar view is moved to the selected
event. Depends on D3396 to open the event popover.

Test Plan: Manual

Reviewers: halla, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3424
2016-11-15 17:27:31 -08:00
Ben Gotow b758ffe589 fix(inline-attachments): Handle images with UTF16 names 2016-11-15 17:04:43 -08:00
Ben Gotow 8332ecf95e fix(tokenizing-text): inputValue === undef error 2016-11-15 16:57:07 -08:00
Jackie Luo e3e8c28c57 lint(eslint): Update to new rule names 2016-11-15 16:49:11 -08:00
Ben Gotow 70c040fd3c fix(calendar): Move quick-add button into toolbar 2016-11-15 16:32:49 -08:00
Ben Gotow 75105d6c66 fix(calendar): Use ScrollRegions so win users know you can scroll 2016-11-15 16:02:56 -08:00
Jackie Luo 41a3e273f1 🎨(calendar): Clean Exchange event titles 2016-11-15 14:04:07 -08:00
Jackie Luo 3bf7fb075e Merge branch 'master' of github.com:nylas/N1 2016-11-15 12:11:21 -08:00
Jackie Luo 783006daa6 🎨(calendar): Fix overflow for event names 2016-11-15 12:10:35 -08:00
Evan Morikawa 1bea34be84 feat(tokenizing): allow tokenizing text fields to accept a defaultValue 2016-11-15 12:08:44 -08:00
Evan Morikawa e43de77708 fix(lint): update files to for new linter version 2016-11-15 10:20:39 -08:00
Evan Morikawa 8489ee59c7 feat(lint): upgrade linter and add exceptions for dumb new rules 2016-11-15 09:56:39 -08:00
Evan Morikawa 8775876c4a feat(lint): add eslint_d to package.json 2016-11-15 09:22:46 -08:00
Halla Moore c0067b07aa fix(tests): Make selectedEvents default to [] 2016-11-14 15:24:44 -08:00
Evan Morikawa 1739b3fbb3 fix(contact): only limit length if too long 2016-11-14 14:01:00 -08:00
Evan Morikawa 36abf5b608 feat(composer): render suggestion via custom component 2016-11-14 14:01:00 -08:00
Evan Morikawa f89b905b10 feat(composer): allow extensions to composer participant searching 2016-11-14 14:01:00 -08:00
Evan Morikawa 313fdc2fd0 fix(search): Don't re-query search results on status change
If that method is fired immediately twice in a row, it's possible for
this._set to not re-instantiate causing the results to be blow away
2016-11-14 14:01:00 -08:00
Evan Morikawa 058a10d836 feat(search): support search extensions 2016-11-14 14:01:00 -08:00
Evan Morikawa ec90dcf646 refactor(search): extract generic ModelSearchIndexer 2016-11-14 14:01:00 -08:00
Evan Morikawa 9cde226598 refactor(registry): move all registries into src/registries 2016-11-14 14:01:00 -08:00
Halla Moore a00ef265b2 Bump submodule 2016-11-14 13:09:42 -08:00
Ben Gotow 0f1958f3b8 fix(build): Run the linter before build on CI machines 2016-11-14 12:33:19 -08:00
Halla Moore a366f3be9b feat(calendar): Add functionality to create/edit events
Summary:
Add some basic functionality for creating and editing calendar events

This is a weird work-around diff. Original review is at
https://phab.nylas.com/D3396

Test Plan: manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D3426
2016-11-14 12:21:29 -08:00
Evan Morikawa 94b09eec39 fix(composer): don't create bullets after text insert 2016-11-14 11:55:45 -08:00
Evan Morikawa 5c81f083ce fix(quote): fix more cases of unwrapped signature detection 2016-11-14 11:55:37 -08:00
Evan Morikawa ecb7a0e4aa fix(quote): catch Office 365 quoted text case 2016-11-14 11:55:31 -08:00
Joris Pelgröm 55fc10b513 Rename Google Apps to G Suite in onboarding (#3047)
Google renamed Google Apps (both 'normal' and education editions) to G
Suite on 2016-09-29. See
https://blog.google/products/g-suite/all-together-now-introducing-g-suite/
for the announcement. Updated text for account selection to match Google's
branding.
2016-11-14 10:53:47 -08:00
Ben Gotow 25c32ec5d9 specs(spellcheck): Ignore on linux due to dict downloads 2016-11-09 15:58:57 -08:00
Ben Gotow d52ba1a290 fix(docs): We no longer support Node 4 for building 2016-11-09 15:51:05 -08:00
Ben Gotow 0c6f508541 fix(readme): Remove readme to prevent overwriting on script/bootstrap 2016-11-09 15:16:44 -08:00
Ben Gotow 9c4ad038b8 fix(main): Print notice if exiting due to makeSingleInstance 2016-11-09 15:07:44 -08:00
Ben Gotow 83adb8e74f fix(spellcheck): Wait longer, electron-spellchecker actually downloads dicts 2016-11-09 15:07:30 -08:00
Ben Gotow 0f77e3da74 fix(builds): AppVeyor can cache node_modules too 2016-11-09 14:40:41 -08:00
Ben Gotow c8a656059a fix(builds): Stop when tests fail, use Appveyor build phases 2016-11-09 14:40:27 -08:00
Ben Gotow feca9f82a7 deps(pro): Lift deps out of packages for simpler install / better deduping 2016-11-09 14:28:42 -08:00
Ben Gotow 80b315d708 deps(*): Lift deps out of packages for simpler install / better deduping 2016-11-09 14:24:10 -08:00
Ben Gotow 347238990b ci(*): Travis and AppVeyor changes, script cleanup
Also removed 32-bit build files which have been made obsolete. You can build 32-bit builds by altering script/bootstrap to specify a different arch
2016-11-09 14:13:09 -08:00