Commit graph

1381 commits

Author SHA1 Message Date
Ben Gotow 3f2ffcb8e0 futureproof(packages): Give all example packages engine version range 2015-11-24 17:51:12 -08:00
Ben Gotow c1c06cd794 bump(version): 0.3.25 2015-11-24 17:51:12 -08:00
Drew Regitsky bf36e4df1f fix(examples): small fixes in translate and personal-level plugins 2015-11-24 17:29:56 -08:00
Drew Regitsky 731c6b7531 fix typo 2015-11-24 16:54:18 -08:00
Drew Regitsky 442e779784 fix(examples): change download instructions in QuickSchedule plugin readme 2015-11-24 16:50:06 -08:00
Ben Gotow bd2dfef7ce fix(attachments): Only preview images up to 5MB, not 10MB 2015-11-24 16:27:07 -08:00
Drew Regitsky f5316e1146 fix(examples): remove buggy main.css from quick-schedule plugin 2015-11-24 16:15:51 -08:00
Drew Regitsky 91a5a9acc8 fix(examples): remove autogenerated source from quickschedule plugin 2015-11-24 15:35:55 -08:00
Ben Gotow 0d5865cf49 fix(paste): avoid code duplication, just give menu items roles
Manual implementation of clipboard behaviors was not necessary and meant that pasting images via right-click didn't go through the same code path as Cmd-V.

May fix #228, depending on the exact issue.
2015-11-24 15:23:29 -08:00
Ben Gotow 6f38da5eff fix(counts): Expand tests, fix edge cases in count tracking 2015-11-24 15:14:00 -08:00
Ben Gotow 183924bfe5 perf(db): Flip order of columns in join table indexes for much faster querying 2015-11-24 15:14:00 -08:00
Juan 2bd83f38ff Merge pull request #449 from mbilker/travis-linux-testing
Travis Linux Testing
2015-11-24 12:48:31 -08:00
Juan Tejada 56b62f8b58 fix(lint): Fix linter issues on account-sidebar-section.cjsx 2015-11-24 12:44:06 -08:00
Juan Tejada 58ded66962 fix(styles): Remove custom pre tag styling for email
Fixes #424
2015-11-24 12:35:35 -08:00
Juan Tejada d759f6039b fix(boot): Copy env from main process into renderer process on linux
See: https://github.com/atom/electron/issues/3306
This was casuing NYLAS_HOME to be unavailable on the renderer process
2015-11-24 12:11:44 -08:00
Drew Regitsky 809f4d827e fix(examples): change nylas version in QuickSchedule plugin example 2015-11-24 11:23:46 -08:00
Juan Tejada 468ef439b4 fix(sidebar): Add minor tweaks to sidebar behavior:
- Add default prop to DisclosureTriangle to eliminate warning
- Prevent from firing a new DestroyCategoryTask if category already is
deleted
- Update onBlur event to not close input if I click on the add button
2015-11-24 11:09:00 -08:00
Michael Grinich 03f9af79df Update README.md 2015-11-24 10:34:47 -08:00
Michael Grinich 9ed2b517a8 add screenshot 2015-11-24 10:31:49 -08:00
Michael Grinich c538b4485d Update README.md 2015-11-24 10:28:07 -08:00
Drew Regitsky fb22e6eeb2 fix(examples): change quickschedule plugin backend URL to updated version 2015-11-24 00:30:29 -08:00
Drew Regitsky f248fe9c60 refactor(examples): Rename Send-Availability to QuickSchedule 2015-11-24 00:09:59 -08:00
Drew Regitsky 32d1d20033 fix(examples): better styles in Send-Availability example plugin 2015-11-24 00:04:49 -08:00
Ben Gotow 4dcc2d479e bump(version): 0.3.24 2015-11-23 22:27:05 -08:00
Ben Gotow e0976fde2c bump(electron): 0.34.3 => 0.35.1
Electron 0.35.1 includes the tray fixes we contributed last week but also includes API restructuring and improvements. Most importantly, modules from electron are now imported via `require('electron')`
2015-11-23 22:09:17 -08:00
mbilker 2967e2e495 fix(spectron): prevent execution for windows only 2015-11-24 00:17:00 -05:00
mbilker 4153741566 fix(spectron): typo with darwin 2015-11-23 23:34:37 -05:00
Ben Gotow fabc047a79 fix(prefs): Minor tweaks, see description
- Make the keymaps panel less wide
- <select>'s now populate their current value properly
- Items should blur after being interacted with so that `esc` still moves you back to parent sheet
2015-11-23 20:34:04 -08:00
mbilker 2f39668fd0 fix(spectron): reenable for Linux and choose executablePath based on platform 2015-11-23 23:31:37 -05:00
mbilker c21e9d61ed fix(travis): specify NYLAS_HOME for nylas/N1#445 2015-11-23 23:31:37 -05:00
mbilker edf5275a22 fix(spec): use correct modifier key based on process.platform 2015-11-23 23:31:37 -05:00
mbilker 09c800a692 fix(travis): syntax error 2015-11-23 23:31:37 -05:00
mbilker 7f44ae2d3f fix(travis): only run Xvfb on Linux
Noticed in my Travis build that the build failed on OS X
because its missing the Xvfb startup files present on Ubuntu
2015-11-23 23:31:37 -05:00
mbilker 40d67b5632 fix(travis): enable fake Xorg window to allow electron testing on Linux 2015-11-23 23:31:37 -05:00
Ben Gotow ad04faab02 fix(account-sidebar): Fix specs to match new unread counts 2015-11-23 20:26:18 -08:00
Ben Gotow 4b75265cdd fix(dark-mode): Adjust email CSS immediately upon switching themes
Fixes #145
2015-11-23 20:20:06 -08:00
Ben Gotow 3fdfbefcb3 fix(sidebar): Swap out + image, tweak CSS for unread 2015-11-23 20:08:10 -08:00
Juan Tejada a9aaab9f38 feat(sidebar): Add sidebar controls to add and remove categories
Summary:
- Refactors account-sidebar internal package:
  - Separates into smaller react components
  - Makes DisclosureTriangle its own independent component
  - Adds data to AccountSidebarStore to allow removal or addition of items for a
    specific section of the sidebar
- Adds button and input and css styles to create categories
- Adds context menu to destroy a category
- Adds new method to CategoryStore to get the icon name for the categories of
  the current account
- Removes some unused code

Test Plan: Manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2283
2015-11-23 19:43:56 -08:00
Ben Gotow 0c2cf4044e fix(spectron): Run against built version of the app to avoid timeouts 2015-11-23 18:54:42 -08:00
Ben Gotow 522ad2da79 fix(theme): Improve styling of popout composer in dark mode 2015-11-23 18:28:30 -08:00
Ben Gotow 6b6a61f455 fix(copy): Call split / list modes "Single Panel / Two Panel"
Fixes T5907
2015-11-23 17:34:56 -08:00
mbilker 87bc41f600 fix(travis): Add support for Node 4.2 LTS, C++11
commit 95ab064d24fdaf38a846987b88494a62f9acd87a
Author: mbilker <me@mbilker.us>
Date:   Sat Nov 21 23:31:32 2015 -0500

    fix(travis): use GCC 4.8 on 0.10 and 0.12 due to newer NAN library in dependent packages

commit 92cb159fd99c05729f6c7867c848be7383847a92
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 12 20:42:30 2015 -0500

    fix(travis): switch from node 4.1 to 4.2 and add node 5

commit 973aacfdb7df72f6e3da549087492d8cb4388282
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:44:42 2015 -0500

    fix(travis): display gcc version that corresponds to the CC variable

commit 6b4f907719b03924308ee33ad869d498277f15ae
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:34:11 2015 -0500

    fix(travis): reenable osx node 0.12 build

commit c3cb97f2db9113140e374aefb8fc71a8d150593d
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:33:40 2015 -0500

    add(travis): display gcc version

commit 71f3eb619d2bc7c6bc26bce11792622902ab982e
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:28:45 2015 -0500

    fix(travis): set compiler in env declaration

commit 0b694230211bedd8a603810cb7959652e33f3bf1
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:25:46 2015 -0500

    fix(travis): print currently used compiler in CC and CXX

commit 9ca898b543b7a97bf77c11837085eb43f18872d1
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:22:07 2015 -0500

    fix(travis): install c++11 supported compilers

commit e728ee7de9015e0ac945cadc744e2bca61c0731b
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 23:07:35 2015 -0500

    fix(travis): print clang version, disable frequently failing build configs

commit 8d6cf314b0d23a2e6bee1d6e543ef81dad5f4ffd
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 22:30:48 2015 -0500

    fix(travis): delete npm prefix for node 4.1

commit b7cf33eac8ca07a7013c9248b3e90990b01cec39
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 22:26:20 2015 -0500

    fix(travis): nvm complains on os x about npm prefix

commit 670168e4103cdd2d6eaddd32796dc581d0107a7c
Author: mbilker <me@mbilker.us>
Date:   Thu Nov 5 22:19:25 2015 -0500

    add(travis): test node 4.1 under linux and os x
2015-11-23 17:17:22 -08:00
Ben Gotow b2f8b34a32 feat(counts): Unread counts for all folders and labels across all accounts
Summary:
This diff replaces the UnreadCountStore with a better approach that is able to track unread counts for all folders/labels without continuous (and cripplingly slow) SELECT COUNT(*) queries.

When models are written to the database, we currently don't send out notifications with the "previous" state of those objects in the database. This makes it hard to determine how to update counters. (In the future, we may need to do this for live queries). Unfortunately, getting the "previous" state is going to be very hard, because multiple windows write to the database and the "previous" state we have might be outdated. We'd almost have to run a "SELECT" right before every "REPLACE INTO".

I created an API that allows you to register observers around persistModel and unpersistModel. With this API, you can run queries before and after the database changes are made and pluck just the "before" state you're interested in.

The `ThreadCountsStore` uses this API to determine the impact of persisting a set of threads on the unread counts of different labels. Before the threads are saved, it says "how much do these thread IDs contribute to unread counts currently?". After the write is complete it looks at the models and computes the difference between the old count impact and the new count impact, and updates the counters.

I decided not to attach the unread count to the Label objects themselves because 1) they update frequently and 2) most things observing the DatabaseStore for categories do not care about counts, so they would be updating unnecessarily.

The AccountSidebar now listens to the ThreadCountsStore as well as the CategoryStore, and there's a new preference in the General tab for turning off the counts.

Test Plan: Tests are a work in progress, want to get feedback first!

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2232
2015-11-23 17:12:22 -08:00
Ben Gotow 8952e7d149 Merge pull request #443 from mbilker/fix-message-body-processor
Do not return when original body is null
2015-11-23 14:13:09 -08:00
Evan Morikawa b9d6e89879 fix(spec): cleanup N1.sh and make specs fail with exit code 1 2015-11-23 16:00:55 -05:00
Ben Gotow 599d8f834f fix(prefs): Move to a sheet rather than a window, use configSchema
Summary:
This diff moves the preferences interface to a sheet in the main window, with the following benefits:
- We can put any sort of React control in it (no ReactRemote)
- It's not strange for the interface to scroll
- Since it can scroll, it's safe to auto-generate preferences for plugins based on their package config schema.

The general tab is now mostly based on the config schema, with the exception of the "Workspace" and "Layout" bits.

The other tabs are still manual, and should be polished more.

Test Plan: No new tests

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2278
2015-11-23 12:20:51 -08:00
Evan Morikawa 05b50fd7bf fix(build): bail if script/bootstrap fails and enhance test output
Have the test output
2015-11-23 14:34:18 -05:00
mbilker cc77da8b08 fix(store): return early if body is not a string 2015-11-23 14:22:53 -05:00
Juan Tejada ea97d94226 fix(tray): Prevent duplicate trays on preference changes 2015-11-23 09:53:05 -08:00
Juan Tejada b3a9f31051 fix(tray): Prevent system tray from being initialized more than once
- Makes sure the tray is deactivated before activating
2015-11-23 09:31:10 -08:00