Commit graph

3837 commits

Author SHA1 Message Date
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
Evan Morikawa 0b6707629e fix(contact): Have Focused contacts immediately available 2016-11-09 16:52:37 -05:00
Ben Gotow 1157fdc450 build(*): electron-compile, electron-packager instead of custom tooling
Summary:
This diff removes significant cruft from N1's compilation and build tooling:

- Electron-Packager replaces most of the code in build/tasks/* used to copy things,
  bundle things, download electron, etc.

- script/bootstrap has been replaced with a much simpler script that does not use
  APM, does not download Electron (we just use electron as an NPM dep) and does
  not manully compile sqlite. It requires NPMv3, but I think that's safe.

- babel and eslint are now devDependencies of the main project. The main project
  also supports optionalDependencies now.

- npm test and npm start replace ./N1.sh

- APM is still around, and is only put into N1 so it can install plugins at runtime.
  It should be removed as soon as we notify package maintainers and have them provide zips.

- N1 no longer has it's own compile-cache or babel/typescript/coffeescript compilers.
  It delegates to electron-compile and electron-compilers. Both of these packages had
  to be forked and modified slightly, but I'm hopeful the modifications will make it back
  in to the projects and you can still consult their documentation for more info.

  + In the near future, I think we should stop shipping electron-compilers with N1. This
    would mean that all plugins would need to be compiled on pre-publish, just like NPM
    packages, and would complicate the local development story a bit, but would make the
    app smaller. electron-compile is not supposed to compile at runtime in the prod app,
    just pull from the compile cache.

- I've re-organized Grunt according to Grunt best practices, where each tasks/* file
  specifies it's own config and imports grunt tasks.

- Unfortunately, I was not able to use any open source projects for the deb and rpm builds,
  because we have things like postinst hooks and start menu items which are not supported
  by the electron installer-generators.

WIP

Turn off all LESS compilation, because themes. Doh.

Use Grunt for new build process too, just remove tasks

More changes

Add babel-eslint

Remove unused react-devtools

WIP

Add name

Ignore nonexistent

Switch to more modern approach to config for grunt

Move zipping to mac installer task

Restructure publish task so it aggregates first, can log useful info if publishing is disabled

Fix build dirs

Fix win installer

Fix linux installer

Fix linux installer

Try making linux

A few more

Updates

Upadtes

fixes

fixes

Get rid of non-meaningful variables

Resolve assets path

Insert nylas.sh

Clean up args more

Actually use description

Fix display name ugh

More tweaks

Expliclty write /usr/bin/nylas

Improve vars

Use old nylas.sh

Reinstate APM to better scope this diff

Test Plan: Test on Mac, Windows, Linux

Reviewers: evan, jackie, juan

Reviewed By: jackie, juan

Differential Revision: https://phab.nylas.com/D3411
2016-11-09 13:52:10 -08:00
Karim Hamidou 405ba0ae1a [fix] Don't make undo-send so ridiculously fast
Summary: I almost need at least 30s to proof-read an email.

Test Plan: Looked at the code.

Reviewers: bengotow, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D3412
2016-11-09 13:47:38 -08:00
Juan Tejada 628a4b8617 fix(send-and-archive): Don't validate defaultSendAction key in config (#3031)
Before this commit, opening a new composer window would reset the
default send action to just `send`, even if you had selected it to be
`send-and-archive` via preferences.

This happened because on window initialization we run a config schema
validation, and coerce any values that are not valid under the schema
(e.g. make sure that the value for a setting is one of possible values specified
in the enum). Given that the schema is static, but the values for the enum for
this particular setting are dynamically calculated when we render the selector,
it doesn't make sense to validate the values for this setting.

To prevent validation, we just need to remove the `enum`, and `enumLabels`
from the static config-schema.
2016-11-09 11:36:13 -08:00
Evan Morikawa 5221a87947 fix(form): say "Create" instead of "Submit" 2016-11-09 12:22:46 -05:00