Commit graph

1696 commits

Author SHA1 Message Date
Ben Gotow 651ea8c1c5 More spec fixes 2016-01-11 13:40:42 -08:00
Juan Tejada 162872fc82 Remove fdescribe 2016-01-11 13:39:25 -08:00
Juan Tejada 4978e61d91 Fix AccountSwitcher specs 2016-01-11 13:38:44 -08:00
Juan Tejada db8b9bae23 Fix ThreadListParticipants spec 2016-01-11 13:31:35 -08:00
Juan Tejada e97ca2b606 Fix CategoryPicker specs
- Add NylasUtils.mockObservable helper
2016-01-11 13:23:59 -08:00
Ben Gotow a352e40af7 fixes for draft store specs, contact.isMe now returns true if it matches any account 2016-01-11 13:23:35 -08:00
Juan Tejada 785fcde470 Add rx-lite-testing 2016-01-11 12:26:27 -08:00
Juan Tejada 29601a7d57 Fix misc errors that made the app crash 2016-01-11 11:39:14 -08:00
Juan Tejada b5fa97bc7a fix(category-store): Fix issue with observables in CategoryStore
- Removes use of observables from category store and keeps a big cache
  of categories per account
- Upates Category Observables with new helper observables
- Updates CategoryPicker and AccountSidebarStore to use observables
- Misc fixes
2016-01-08 18:03:18 -08:00
Ben Gotow 05a7b7eb3b PreferencesStore pull current account from FocusedPerspective 2016-01-08 15:26:35 -08:00
Ben Gotow 9b9be76ccd Merge branch 'master' into unified-inbox 2016-01-08 15:13:56 -08:00
Ben Gotow 4ae4d130ec fix(zoom): Only set zoom to valid numeric values 2016-01-08 15:10:54 -08:00
Ben Gotow 14d6cec669 Rename MailViewFilter => MailboxPerspective 2016-01-08 14:58:31 -08:00
Ben Gotow e642e02a4f bump(version): 0.3.38 2016-01-08 14:37:52 -08:00
Ben Gotow d3f62d4bb0 Merging in new observables for thread list
commit 7a67c1fd349c575a91b162024cc03050e86574c9
Author: Ben Gotow <bengotow@gmail.com>
Date:   Fri Jan 8 11:14:07 2016 -0800

    WIP

commit 891f23487827a447ec95406ef26f1473a0c07de6
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Jan 6 15:25:09 2016 -0800

    WIP

commit 3c323cd4beb2df2fae2439a556d3129404d942cc
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jan 4 17:46:11 2016 -0800

    WIP

commit ec7090ea9e1969fea2ea583f80a9a2ac41e6c8b0
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jan 4 17:22:07 2016 -0800

    Remove unused LRUCache

commit e10c3919559d3c364cb7bb94d19094a2444c10f3
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jan 4 16:21:37 2016 -0800

    rm(database-view): Performance refactor of thread-list

    Summary:
    This diff removes the old DatabaseView class, which included lots of gross optimizations that have since been duplicated in QuerySubscription and makes the thread list use the QuerySubscription class.

    This diff also substantially replaces the QuerySubscription class. The new implementation actually makes more queries but is less gross and more straightforward. It leverages a couple findings from database profiling:

    - Because of the sqlite page cache, asking for ids you've previously asked for is very fast.
        + Don't bother sorting in memory to avoid a query, just ask for ids again and fill in any missing objects.
    - Loading and inflating models is 4x+ slower than just grabbing ids

    I've also added more convenience classes around database queries:
    - QueryRange: Represents {offset, limit}, and can do boolean intersections
    - QueryResultSet: Better than passing an array of 50 items when you really mean items 150-200. Also tries hard to be immutable.

    This diff doesn't fully remove the concept of a "ModelView" because it's used /everywhere/ in the multiselect list source. There's a small shim that we can remove when we refactor that code. Ideally, I think we should rename ModelView to "MultiselectListDataSource" to follow iOS conventions (eg UITableViewDataSource). RIP 80char lines?

    Test Plan: They've gone to hell. WIP.

    Reviewers: evan, juan

    Differential Revision: https://phab.nylas.com/D2408

commit 32607eee8aafb7fa98b866347bdd2c0b963a602c
Author: Ben Gotow <bengotow@gmail.com>
Date:   Mon Jan 4 09:56:34 2016 -0800

    WIP

commit 5ab5fe74e94db6904bd77d224720ad9fc69fe6a7
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Dec 30 22:56:46 2015 -0800

    redo scrollbars to not require counts

commit 361bb192d072dc8a69fd3ef143cad7bed214ebdc
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Dec 30 17:50:57 2015 -0800

    wip

commit 079394de1cc3344fb6568efe00a52d7fc97fbd27
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Dec 30 13:49:11 2015 -0800

    wip

commit 65142be03c27c653fe1147fdde6c2f9b046ade22
Author: Ben Gotow <bengotow@gmail.com>
Date:   Wed Dec 30 01:23:20 2015 -0800

    wip

commit 5d412ec276be1104175ad0f43c9d54e1cea857bf
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue Dec 29 22:49:58 2015 -0800

    Refactor start

commit d2b6eea884fcd2bd81ebe3985f2b2636a510c493
Author: Ben Gotow <bengotow@gmail.com>
Date:   Tue Dec 29 18:51:53 2015 -0800

    RIP DatabaseView
2016-01-08 14:31:33 -08:00
Juan Tejada 34f68dcc0d refactor(rip-current-account): Rips out AccountStore.current
Summary:
- WIP: Need to fix tests and some errors!
- Refactors Category class to hold information about its type
- Refactors CategoryStore to rely on observables instead of local caches
- Adds and updates Observables and helpers
- Refactors ContactStore to hold entire cache of contacts instead of per
  current account
  - Same for ContactRankingStore and other stores
- Refactors method names for AccountStore + some helpers
- Updates MailViewFilter to hold an account
  - Adds basic Unified filter
- Replaces AccountStore.current calls with either:
  - The account of the currently focused MailViewFilter
  - The account associated with a thread, message, file, etc...
  - A parameter to be passed in
  - Arbitrarily, the first account in the AccountsStore

Test Plan: - Unit tests

Reviewers: evan, bengotow

Differential Revision: https://phab.nylas.com/D2423
2016-01-08 14:22:13 -08:00
Ben Gotow cd3aea9885 style(message-list): Correct alignment of dropdown. Fixes #659 2016-01-08 11:48:14 -08:00
Ben Gotow a258ba4613 feat(zoom): Allow users to override interface zoom. Fixes #699 2016-01-08 11:32:32 -08:00
Evan Morikawa 83c815d7fc test(draft): new tests for promise chain in send draft 2016-01-08 10:57:48 -08:00
Ben Gotow 3b6fdd3a53 fix(specs): Minor change to templates package for Travis 2016-01-08 10:52:37 -08:00
Ben Gotow 506ada3a59 fix(lint): Fix linter issues in template package 2016-01-08 10:47:41 -08:00
Ben Gotow 69f4c18ff9 bump(version): 0.3.37 2016-01-08 10:16:45 -08:00
Ben Gotow c0ff88d1b0 Revert "bump(electron): 0.35.4 => 0.36.2"
This reverts commit 863bda2f86.
2016-01-08 10:06:16 -08:00
Drew Regitsky 2a5c1383f8 fix(templates): disable outdated tests in templates plugin for now
TODO: update and rewrite tests for templates plugin
2016-01-07 21:13:07 -08:00
Ben Gotow 3a86c34883 feat(newsletter): Manage subscription directly from N1 2016-01-07 18:44:40 -08:00
Ben Gotow ed50039b00 rename(templates): Use "Quick Replies" name in plugins screen 2016-01-07 15:23:54 -08:00
Ben Gotow bab1622c52 rm(mispelled): Stranded package.json file 2016-01-07 14:59:10 -08:00
Ben Gotow 9acdb3923f Merge branch 'bengotow/consolidate-plugins' 2016-01-07 14:57:34 -08:00
Ben Gotow 460a715e4d fix(examples): examples => packages, move away from installing them 2016-01-07 14:56:34 -08:00
Michael Grinich f0e175c8b8 add predawn 2016-01-07 14:40:13 -08:00
Michael Grinich 814c2ba335 header size 2016-01-07 10:14:12 -08:00
Michael Grinich 08ff39b9a8 Move links to plugins to this repo. 2016-01-07 10:12:25 -08:00
Evan Morikawa 6db0d8bc46 Add 'default' tasks 2016-01-06 15:55:14 -08:00
Ben Gotow 863bda2f86 bump(electron): 0.35.4 => 0.36.2 2016-01-06 13:20:27 -08:00
Ben Gotow cca6b70223 fix(keymaps): Display composer keymaps, fix Apple Mail 2016-01-06 11:44:20 -08:00
Ben Gotow 8e5e46ba30 Merge pull request #913 from colinking/button_order
Reorder archive and trash icons
2016-01-06 11:31:43 -08:00
Colin King 1db98f80b6 Reordered archive and trash icons 2016-01-06 14:22:41 -05:00
Ben Gotow 188e637236 fix(rules): Overflow in the prefrences sidebar. Fixes #908 2016-01-06 09:51:42 -08:00
Ben Gotow 1ba8f5277f fix(rpm): Treat-deb and-rpm as separate platforms on N1Server 2016-01-05 17:51:02 -08:00
Ben Gotow 41d1c551a5 fix(rpm): Upload RPM builds following naming convention 2016-01-05 17:32:11 -08:00
Ben Gotow 78fe32350c Merge pull request #903 from mbilker/fix-debian-icons
Copy app icons to `hicolor` on Debian
2016-01-05 16:45:53 -08:00
Ben Gotow a3eb845e78 bump(changelog): New features / fixes in 0.3.36 2016-01-05 16:28:25 -08:00
mbilker 24af963bc8 fix(mkdeb): specify hard path to icon files 2016-01-05 17:44:14 -05:00
Ben Gotow 1d94fcaaf9 fix(sig): Remove selectEnd, place cursor before sig
Summary: When focusing the composer, select the end of the last text block above any signatures / quoted text (which can be visible by default in Fwd:).

Test Plan: Run tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2411
2016-01-05 14:31:55 -08:00
mbilker f4b136df30 fix(mkdeb): copy app icons to hicolor on Debian 2016-01-05 15:24:49 -05:00
Ben Gotow a3db2ed3d4 bump(version): 0.3.36 2016-01-05 11:45:05 -08:00
Ben Gotow 7f80cc8038 fix(focus): Minor changes to composer focus logic to focus new drafts
Summary:
Remove FocusTrackingRegion—all CommandRegions should be focusable, and nesting the two creates varying behavior based on which is the parent

Calling focus() on an injected / unsafe component should always do /something/. Try the inner React method, inner DOM method, or call on ourselves

Rename contentEditable._focusEditor to "focus" since it intends to replace default focus behavior

In ComposerView, always change focus via setState, never by calling focus() directly. Rather than tracking `_lastFocusedField`, just focus whenever the activeElement isnt within the focusedField. Make body initial focus when draft is pristine...

...(ensures new drafts are focused)

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: evan, juan

Differential Revision: https://phab.nylas.com/D2406
2016-01-05 11:34:26 -08:00
Ben Gotow cb226d2a6f fix(icon): Use app icon on win32, use correct path on Linux 2016-01-05 11:25:36 -08:00
Ben Gotow 9f8791762d Merge pull request #892 from colinking/hoveractions_injectable
Move quick actions inside of flexbox with injectable component set
2016-01-05 10:53:23 -08:00
Ben Gotow 2719f8d9ac Merge pull request #899 from mbilker/fix-linux-grunt-install
Grunt `install` task: Replace `shareDir` with `linuxShareDir` to reflect global changes
2016-01-05 10:03:35 -08:00