Commit graph

2822 commits

Author SHA1 Message Date
Ben Gotow e11181423e fix(autolinker): Always override title attribute #2056 2016-04-26 16:49:33 -07:00
Ben Gotow db934cf463 fix(sidebar): Fix overflow of account name 2016-04-26 15:53:51 -07:00
Ben Gotow b23af144e1 fix(accounts): show messages and coerce config when invalid 2016-04-26 15:34:17 -07:00
Ben Gotow 77f885e86b fix(draft-factory): Correctly load messages when creating a draft on a not-loaded thread. Sentry 26671 2016-04-26 14:18:23 -07:00
Ben Gotow 4962d24b4d fix(quoted-text): Guard call to children[0] Sentry 33642 2016-04-26 14:12:57 -07:00
Ben Gotow 14acad2197 fix(attachments): Make presentError display underlying error, file optional. Sentry 27089 2016-04-26 14:03:08 -07:00
Ben Gotow e2ee14bb60 fix(keybindings): Fix "Show Keybindings" button 2016-04-26 13:46:25 -07:00
Ben Gotow d64fd03c53 fix(menus): Customize context menu for mailto #2061 2016-04-26 13:27:39 -07:00
Ben Gotow e269dc2598 cleanup(config): Additional notes about config.cson => json 2016-04-26 13:17:29 -07:00
Ben Gotow c543de9e81 cleanup(specs): Remove space-pen. Goodbye, jQuery! 2016-04-26 13:14:07 -07:00
Ben Gotow 80c8d733c8 cleanup(config): Remove unused features, dependencies 2016-04-26 13:14:06 -07:00
Ben Gotow d7832576b5 fix(composer): Wait frames not msec on focus out #2033 2016-04-26 13:14:06 -07:00
Ben Gotow 6b12f833d7 fix(compose): "compose in trash", additional specs #2026 2016-04-26 13:14:06 -07:00
Evan Morikawa 4ea8b9622c fix(win): draft popout windows always send draftJSON 2016-04-26 13:02:05 -07:00
Jackie Luo fd256b6bef fix(activity-list): Debounce notifications and add detail to subtitles
Summary: Only sends notifications if none for that thread have been sent
in the last ten minutes/ten seconds, depending on the plugin. Adds
subject/link URL for notification subtitles.

Test Plan: Tested locally.

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2922
2016-04-26 11:02:02 -07:00
Evan Morikawa e42f501780 fix(frame): fix link clicking in iframes 2016-04-25 17:30:30 -07:00
Evan Morikawa 11ed4781a4 bump(version): 0.4.27 beta 2016-04-25 16:57:25 -07:00
Evan Morikawa c416731d35 fix(build): fix lstatSync throwing 2016-04-25 16:18:23 -07:00
Evan Morikawa 6a55717157 feat(package): fix build-resources-task and move submodule 2016-04-25 16:01:56 -07:00
Evan Morikawa 25dea6a136 feat(package): require 'engines': {'nylas': '*'} in package.json 2016-04-25 15:06:37 -07:00
Evan Morikawa 6d86969d73 fix(path): error if booted from wrong folder 2016-04-25 14:28:21 -07:00
Evan Morikawa 483dc7dae9 fix(keymap): stop shift callbacks too 2016-04-25 11:00:08 -07:00
Michael Grinich fb6101097e remove plugins from readme that fail when building from source 2016-04-25 10:18:36 -07:00
Ben Gotow 4d38ac6310 cson(cleanup): Remove imports, only used for config.cson now 2016-04-24 20:33:34 -05:00
Jackie Luo 4f31785a16 🎨(plugins): Fix line breaks 2016-04-24 18:32:53 -07:00
Ben Gotow b7da2c7b86 cson(packages): Remove from specs, deprecate use for for menus, package.json files 2016-04-24 20:31:53 -05:00
Ben Gotow ba16a71777 fix(build): CSON => JSON no longer necessary for /keymaps, /menus 2016-04-24 20:27:29 -05:00
Ben Gotow b98a3bae60 fix(build): Run eslint on files inside submodule 2016-04-24 19:32:37 -05:00
Ben Gotow d8dd9461c2 fix(build): Trigger travis rebuild 2016-04-24 18:57:55 -05:00
Ben Gotow 3bfad0c9e1 fix(*): spec failures related to moment-round again 2016-04-24 15:21:29 -05:00
Ben Gotow aab39a12da mv(packages): move plugins that are incompatible with open source sync engine 2016-04-24 14:53:12 -05:00
Ben Gotow ed6c25d2f9 bump(version): 0.4.26 beta 2016-04-24 14:34:56 -05:00
Juan Tejada e710a83e10 fix(specs): Fix broken popover specs
- Remove composition with decorator for now
- Fix other specs
2016-04-24 11:08:33 -07:00
Ben Gotow a46bad4eb7 refactor(menus): Major prune of keymaps/commands, real conditional menus
Summary:
Keymaps & menus CSON => JSON, remove AtomKeymaps, CommandRegistry use of CSS selectors, use Mousetrap instead

Important Notes:

- The `application:` prefix is reserved for commands which are handled in the application process. Don't use it for other things. You will not receive the events in the window.

- Maintaining dynamic menus seems to come with quite an overhead, because Electron updates the entire menu every time. In the future, we'll need https://github.com/electron/electron/issues/528 to really make things nice. I will be tracking this upstream.

- The format for keyboard shortcuts has changed. `cmd-X` is now `command+shift+x`

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2917
2016-04-24 12:16:25 -05:00
Juan Tejada 021eac7679 feat(mail-merge): Add mail merge plugin
Summary:
Adds Mail Merge Plugin
- Adds new table components to component kit
- Adds new extension points to allow dragging and dropping into composer contenteditable and participant fields and customizing participant fields
- Adds new decorators and other misc updates
- #1608

Test Plan: TODO

Reviewers: bengotow, evan

Reviewed By: bengotow, evan

Differential Revision: https://phab.nylas.com/D2895
2016-04-22 18:29:07 -07:00
Evan Morikawa a8413c8e2f fix(win): speed up composer launching 2016-04-22 17:41:22 -07:00
Jackie Luo fd61995b92 fix(draft-list): Revert regression for sheet selection 2016-04-22 17:30:14 -07:00
Jackie Luo ff4cbc8d13 feat(activity-list): View message opens and link clicks
Summary:
Adds an activity list view that shows message opens and link clicks in a
chronological feed.

TODO: Add badge for unread notifications and different styling for read/unread
notifications. Click item to jump to corresponding thread.

Test Plan: TODO.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2915
2016-04-22 17:27:30 -07:00
Evan Morikawa f2a53e57c8 fix(win): fix frame settings on windows 2016-04-22 16:21:07 -07:00
Evan Morikawa 78b19a4d42 fix(win): load config earlier 2016-04-22 14:57:33 -07:00
Evan Morikawa e90735ed6e feat(win): faster popout windows
Summary:
This diff is designed to dramatically speed up new window load time for
all window types and reduce memory consumption of our hot windows.

Before this diff, windows loaded in ~3 seconds. They now boot in a couple
hundred milliseconds without requiring to keep hot windows around for
each and every type of popout window we want to load quickly.

One of the largest bottlenecks was the `require`ing and initializing of
everything in `NylasExports`.

I changed `NylasExports` to be entirely lazily-loaded. Drafts and tasks
now register their constructors with a `StoreRegistry` and the
`TaskRegistry`. This lets us explicitly choose a time to activate these
stores in the window initalization instead of whenever nylas-exports
happens to be required first.

Before, NylasExports was required first when components were first
rendering. This made initial render extremely slow and made the proposed
time picker popout slow.

By moving require into the very initial window boot, we can create a new
scheme of hot windows that are "half loaded". All of the expensive
require-ing and store initialization is done. All we need to do is
activate the packages for just the one window.

This means that the hot window scheme needs to fundamentally change from
have fully pre-loaded windows, to having half-loaded empty hot windows
that can get their window props overridden again.

This led to a major refactor of the WindowManager to support this new
window scheme.

Along the way the API of WindowManager was significantly simplifed.
Instead of a bunch of special-cased windows, there are now consistent
interfaces to get and `ensure` windows are created and displayed. This
DRYed up a lot of repeated logic around showing or creating core windows.

This also allowed the consolidation of the core window configurations into
one place for much easier reasoning about what's getting booted up.

When a hot window goes "live" and gets populated, we simply change the
`windowType`. This now re-triggers the loading of all of the packages for
the window. All of the loading time is now just for the packages that
window requires since core Nylas is there thanks to the hot window
mechanism.

Unfortunately loading all of the packages for the composer was still
unnaceptably slow. The major issue was that all of the composer plugins
were taking a long time to process and initialize. The solution was to
have the main composer load first, then trigger another window load
settings change to change the `windowType` that loads in all of the
plugins.

Another major bottleneck was the `RetinaImg` name lookup on disk. This
requires traversing the entire static folder synchronously on boot. This
is now done once when the main window loads and saved in a cache in the
browser process. Any secondary windows simply ask the backend for this
cache and save the filesystem access time.

The Paper Doc below is the current set of manual tests I'm doing to make
sure no window interactions (there are a lot of them!) regressed.

Test Plan: https://paper.dropbox.com/doc/Window-Refactor-UYsgvjgdXgVlTw8nXTr9h

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2916
2016-04-22 13:30:42 -07:00
Ben Gotow f951d85f45 fix(sheets): Attach sheets to the toolbar at correct offset 2016-04-22 13:21:23 -07:00
Ben Gotow 0174b4d20f bump(resources): Updates to submodule 2016-04-22 10:53:11 -07:00
Jackie Luo 534eec2d93 fix(draft-list): Select proper sheet when launching in drafts perspective 2016-04-21 16:00:06 -07:00
Ben Gotow 57cd513a66 rm(package): N1 does not use activationCommands 2016-04-21 10:59:59 -07:00
Ben Gotow 297e93dc8a rm(package): Remove unused grammars, settings, scopedProperties 2016-04-20 18:46:58 -07:00
Ben Gotow aafd3694ac fix(message): Re-write nasty code in participants() 2016-04-20 17:47:44 -07:00
Evan Morikawa 1f267d8bec fix(spec): fix to run in utc travis 2016-04-20 14:39:15 -07:00
Ben Gotow aecb6f7953 fix(attachments): Increase threshold to 12k 2016-04-20 12:27:16 -07:00
Ben Gotow 38804cb816 fix(attachments): Don't show the paperclip for inline attachments < 3k (signatures, etc.) 2016-04-20 10:44:32 -07:00