Commit graph

1386 commits

Author SHA1 Message Date
Ben Gotow
eeb976167e fix(license): Mark a few additional packages as GPLv3 2015-11-25 14:41:10 -08:00
Ben Gotow
1889bfac9d Merge pull request #396 from luixal/patch-2
Allows package to be installed in ElementaryOS
2015-11-25 14:38:17 -08:00
Ben Gotow
5bb417c66c Merge pull request #453 from dcposch/fix-license
Internal package.json license: GPLv3
2015-11-25 14:37:54 -08:00
Ben Gotow
cb756f4f07 fix(composer): Don't pass a callback to dialog API, update changelog 2015-11-25 14:13:21 -08:00
Ben Gotow
06b35cde7c fix(work): Treat work window as if it's always visible 2015-11-25 12:38:59 -08:00
Ben Gotow
1739a19d21 fix(counts): Ensure serial execution of persistModels, unpersistModels
Summary:
reduce scope of changes

more changes

Test Plan: Run 1 new test

Reviewers: juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2290
2015-11-25 12:17:00 -08:00
Ben Gotow
942f29c7e5 futureproof(packages): Give all example packages engine version range 2015-11-24 17:51:12 -08:00
Ben Gotow
8b4687a272 bump(version): 0.3.25 2015-11-24 17:51:12 -08:00
Drew Regitsky
b520dcbb25 fix(examples): small fixes in translate and personal-level plugins 2015-11-24 17:29:56 -08:00
Drew Regitsky
c9faea9ec6 fix typo 2015-11-24 16:54:18 -08:00
Drew Regitsky
bf18b11504 fix(examples): change download instructions in QuickSchedule plugin readme 2015-11-24 16:50:06 -08:00
Ben Gotow
a82ebba618 fix(attachments): Only preview images up to 5MB, not 10MB 2015-11-24 16:27:07 -08:00
Drew Regitsky
651a82287b fix(examples): remove buggy main.css from quick-schedule plugin 2015-11-24 16:15:51 -08:00
Drew Regitsky
e6e506805b fix(examples): remove autogenerated source from quickschedule plugin 2015-11-24 15:35:55 -08:00
Ben Gotow
ea67bec9d9 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
9dda306d1f fix(counts): Expand tests, fix edge cases in count tracking 2015-11-24 15:14:00 -08:00
Ben Gotow
f5fff1322b perf(db): Flip order of columns in join table indexes for much faster querying 2015-11-24 15:14:00 -08:00
Juan
aa27692b03 Merge pull request #449 from mbilker/travis-linux-testing
Travis Linux Testing
2015-11-24 12:48:31 -08:00
Juan Tejada
ff341fcf84 fix(lint): Fix linter issues on account-sidebar-section.cjsx 2015-11-24 12:44:06 -08:00
Juan Tejada
a1269e35cc fix(styles): Remove custom pre tag styling for email
Fixes #424
2015-11-24 12:35:35 -08:00
Juan Tejada
b3a86de16a 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
5d685a3e0a fix(examples): change nylas version in QuickSchedule plugin example 2015-11-24 11:23:46 -08:00
Juan Tejada
f48875d681 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
aa1f87bdde Update README.md 2015-11-24 10:34:47 -08:00
Michael Grinich
c3603873e0 add screenshot 2015-11-24 10:31:49 -08:00
Michael Grinich
fe0a4c70ea Update README.md 2015-11-24 10:28:07 -08:00
DC
e53270f843 Internal package.json license: GPLv3
Changed from 'Propietary' to 'GPLv3' to match LICENSE.md
2015-11-24 09:09:33 -08:00
Drew Regitsky
82a85ddaf4 fix(examples): change quickschedule plugin backend URL to updated version 2015-11-24 00:30:29 -08:00
Drew Regitsky
9f75640825 refactor(examples): Rename Send-Availability to QuickSchedule 2015-11-24 00:09:59 -08:00
Drew Regitsky
ef00799392 fix(examples): better styles in Send-Availability example plugin 2015-11-24 00:04:49 -08:00
Ben Gotow
7f5c0a00ae bump(version): 0.3.24 2015-11-23 22:27:05 -08:00
Ben Gotow
528c8850ce 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
cb0be78d1c fix(spectron): prevent execution for windows only 2015-11-24 00:17:00 -05:00
mbilker
0f20c13501 fix(spectron): typo with darwin 2015-11-23 23:34:37 -05:00
Ben Gotow
5ee8ffabbc 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
4a8b358013 fix(spectron): reenable for Linux and choose executablePath based on platform 2015-11-23 23:31:37 -05:00
mbilker
e9e0b92050 fix(travis): specify NYLAS_HOME for nylas/N1#445 2015-11-23 23:31:37 -05:00
mbilker
35f7c54376 fix(spec): use correct modifier key based on process.platform 2015-11-23 23:31:37 -05:00
mbilker
5cf844d1bb fix(travis): syntax error 2015-11-23 23:31:37 -05:00
mbilker
6fc56b94e0 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
b7a7dde23a fix(travis): enable fake Xorg window to allow electron testing on Linux 2015-11-23 23:31:37 -05:00
Ben Gotow
e72d522b2b fix(account-sidebar): Fix specs to match new unread counts 2015-11-23 20:26:18 -08:00
Ben Gotow
afa6968dc4 fix(dark-mode): Adjust email CSS immediately upon switching themes
Fixes #145
2015-11-23 20:20:06 -08:00
Ben Gotow
010b089511 fix(sidebar): Swap out + image, tweak CSS for unread 2015-11-23 20:08:10 -08:00
Juan Tejada
524028e257 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
6aeda7583b fix(spectron): Run against built version of the app to avoid timeouts 2015-11-23 18:54:42 -08:00
Ben Gotow
33d8b22d58 fix(theme): Improve styling of popout composer in dark mode 2015-11-23 18:28:30 -08:00
Ben Gotow
46a01de651 fix(copy): Call split / list modes "Single Panel / Two Panel"
Fixes T5907
2015-11-23 17:34:56 -08:00
mbilker
a47d33271b 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
e1882ab61a 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