Commit graph

1249 commits

Author SHA1 Message Date
Evan Morikawa 963d1d92cb fix(sidebar): return valid person to prevent cache miss 2016-03-10 18:49:00 -05:00
Evan Morikawa b9810d5983 fix(sidebar): change optional bit in package 2016-03-10 18:40:26 -05:00
Evan Morikawa 8f94012dd7 fix(sidebar): don't show nulled profiles 2016-03-10 18:32:37 -05:00
Ben Gotow 716533b9f1 fix(messages): Replace calc with margin to make plugin styling easier 2016-03-10 15:31:05 -08:00
Ben Gotow 554bb69ad6 fix(labels): Labels should not show "X" in wide mode 2016-03-10 15:31:05 -08:00
Jackie Luo 3630a1425f 🎨(theme-picker): Adjust styles 2016-03-10 15:18:57 -08:00
Evan Morikawa 93cdbf1d6e fix(sidebar): explicitly detect 202 and cache null people 2016-03-10 18:16:32 -05:00
Ben Gotow ba66a91eca fix(github): Correct minor issue during ES6 conversion 2016-03-10 14:31:50 -08:00
Ben Gotow 85ab3cf0ac fix(remove-from-view): Missing invocation for non-Gmail 2016-03-10 14:25:28 -08:00
Jackie Luo 457abbf329 feat(plugins): Move uninstall from theme picker to plugins tab
Summary: Move uninstall functionality to the plugins tab in preferences.

Test Plan: Tested locally.

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2716
2016-03-10 14:16:07 -08:00
Juan Tejada 76036e82bd fix(gmail-labels): Constraint so threads always belong to all,spam or trash
Summary:
- In Gmail all threads /must/ belong to either All Mail, Trash and Spam, and
  they are mutually exclusive, so we need to make sure that any add/remove
  label operation still guarantees that constraint
- Update ChangeLabelsTask to modify the set of labels to add and remove
  based on this rule
- Update tasksFor archiving, moving to trash and moving to spam so they
  don't affect any other labels in the thread, as gmail does.
- Removing from view /will/ remove any current labels, but will also
  move between all mail and trash as needed
- Remove Inbox, Trash and Spam from the CategoryPicker, as Gmail does

Test Plan: - Unit tests

Reviewers: drew, evan, bengotow

Reviewed By: drew, evan, bengotow

Differential Revision: https://phab.nylas.com/D2715
2016-03-10 14:13:31 -08:00
Ben Gotow 306440dd38 fix(onboarding): We should accept IPs for servers during auth 2016-03-10 12:08:05 -08:00
Ben Gotow 12b1609206 fix(onboarding): Make links in error messages clickable 2016-03-10 12:08:05 -08:00
Evan Morikawa 9c8237caf3 fix(sidebar): design tweaks to sidebar 2016-03-10 15:06:59 -05:00
Evan Morikawa 47e2ef8436 fix(sidebar): minor sidebar style and padding tweaks 2016-03-10 15:06:59 -05:00
Jackie Luo e90b783b36 fix(themes): Fix linter issues and relink images 2016-03-10 11:54:05 -08:00
Ben Gotow b67aedfbff 💄(sidebar): Replace icon with person 2016-03-10 11:15:52 -08:00
Jackie Luo ad9cff4810 🎨(themes): Move notification heading below toolbar 2016-03-10 11:14:02 -08:00
Jackie Luo 2881909be5 Merge pull request #1621 from jamiewilson/master
Adding ui-darkside to internal packages
2016-03-10 11:11:15 -08:00
Evan Morikawa c38ef2f34a fix(sidebar): use http basic auth to pass token 2016-03-10 14:06:48 -05:00
Ben Gotow f706d4d80f fix(sync): Pull down and associate metadata during initial sync
Summary:
Snooze should wait for categories on all accounts

Fix authPlugin to rembmer `plugin+accountId`, not pluginId, add specs

categories() returned [], categories(acctId) returned {}

dry up sync worker, fetch metadata before anything else

Test Plan: Run tests

Reviewers: drew, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2693
2016-03-10 11:06:06 -08:00
Ben Gotow 041817c589 patch(save): Only save drafts when necessary, avoid sync-engine issues
Summary:
Previously, we have saved drafts back to the user's provider through the sync engine. There are a handful of very serious edge case issues we're working to solve that are creating a bad user experience. (#933, #1175, #1504, #1237)

For now, we're going to change the behavior of N1 to mitagate these issues.

- If you create a draft in N1, we will not sync it to other mail clients while you're working on it.
- If you enable send later, we'll start syncing the draft to the server as before.
- If you created the draft in another client, we'll sync the draft to the server as before.

Fix specs

Test Plan: Run specs

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2706
2016-03-10 11:03:38 -08:00
Jamie Wilson 9b682c15e0 adding ui-darkside to internal packages 2016-03-10 12:18:32 -06:00
Ben Gotow 7771f8c4f4 fix(bodies): MBP should cache "" so that it updates when new body arrives 2016-03-09 19:14:54 -08:00
Ben Gotow b1ab520d0e fix(bodies): Move loading into component, add retry, loading spinner 2016-03-09 19:14:54 -08:00
Evan Morikawa 9018ae6a87 Revert "fix(sidebar): use n1_id to verify edgehill server"
This reverts commit ebd2973cf9.
2016-03-09 21:11:53 -05:00
Evan Morikawa 3a28bb0529 fix(sidebar): fix ordering and add hover state 2016-03-09 20:57:13 -05:00
Evan Morikawa ebd2973cf9 fix(sidebar): use n1_id to verify edgehill server 2016-03-09 20:27:31 -05:00
Jackie Luo c0a3452a2e 🎨(plugins): Add install button in preferences 2016-03-09 16:54:29 -08:00
Jackie Luo deeaefaeb4 🎨(plugins): Switch to switches 2016-03-09 16:54:09 -08:00
Jackie Luo c84b4bdd5e 🎨(themes): Tweak UI for consistency 2016-03-09 16:20:33 -08:00
Juan Tejada fcf8fa766c fix(snooze-button): Change div to button 2016-03-09 16:10:15 -08:00
Jackie Luo 7b3d8b1c25 fix(themes): Move Taiga into directory 2016-03-09 15:52:22 -08:00
Noah Buscher 901302fef6 Added Taiga! 2016-03-09 17:44:01 -06:00
Ben Gotow 232dd13660 Revert "fix(autolinker): PR accepted into 0.24.1, fixes #839"
This reverts commit 2a7a97eebc.
2016-03-09 15:21:27 -08:00
Ben Gotow fe80dfb05a fix(sync): Paginate /threads, etc. slightly slower to aleviate backend load 2016-03-09 15:21:27 -08:00
Evan Morikawa 571a464f7e fix(search): search perf and fix css issues 2016-03-09 18:12:06 -05:00
Evan Morikawa f8e52e7a0d fix(spec): fix message timestamp spec 2016-03-09 16:44:44 -05:00
Evan Morikawa c616ded318 feat(sidebar): add timestamps to related messages 2016-03-09 16:17:20 -05:00
Evan Morikawa 2d972ea462 fix(sidebar): ui tweaks to narrow sidebar 2016-03-09 15:46:10 -05:00
Juan Tejada 3d4e8054e3 fix(warning): Remove unused Popover require 2016-03-09 12:11:16 -08:00
Juan Tejada 19f4efb50c fix(signatures): Correct regex to properly replace existing signature
- Fixes #1561
- Add more specs
2016-03-09 12:06:27 -08:00
Ben Gotow 80942db92b 💄(onboarding): Minor style changes to account choose page 2016-03-09 11:40:56 -08:00
Ben Gotow 703686d322 fix(sent): Sort sent view by most recent sent message, not received 2016-03-09 11:40:56 -08:00
Evan Morikawa 58004b29a7 feat(sidebar): Add thread list of currently selected participants
Summary:
WIP. I added a collection index to make displaying the threads of a
currently selected participant on the sidebar easy and fast.

The problem is that the `participants` of a thread, while a collection of
`Contact` objects, have no "ids" for those contact objects.

One idea was to create the join table but access contacts by email instead
of id. This required a minor change to the way the data is entered in the
join table.

This means the sidebar can now simply do:

`DatabaseStore.findAll(Thread).where(Thread.attributes.participants.contains('foo@bar.com'))`

While I didn't for this initial test, we could also/instead create the
`Message-Contact` join table. The trick about a Message-Contact table is
that I believe we'd have to create additional columns further specifying
which field we're interested in.

The following two queries:

`DatabaseStore.findAll(Message).where(Message.attributes.to.contains('foo@bar.com'))`

`DatabaseStore.findAll(Message).where(Message.attributes.from.contains('foo@bar.com'))`

would require additional columns in the `Message-Contact` join table
because currently the only columns are `id` and `value`.

In the case of the sidebar use case, I think the Thread participants is
what you want to see anyway.

Unfortunately an email-centric scheme can't distinguish between
`noreply@phab.com <Evan>` and `noreply@phab.com <Juan>`. I actually think
this may be a good thing since I think most people think in terms of email
address as the unique key anyway and for the use case of showing related
emails in the sidebar I'd rather overshow than undershow.

This solution seems to be working pretty well in initial testing, but I
want to see if you guys can think of anything this may subtly screw up
down the line, or if you can think of a simpler way to do this.

Test Plan: todo

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2687
2016-03-09 14:33:31 -05:00
Juan Tejada e3fc29ee36 remove(popover): Remove Popover in favor of FixedPopover
Summary:
- FixedPopover now correctly adjusts itself when overflowing outside
  window, in all directions
  - Updates styles
  - Adds specs
- Remove Popover and popover.less, and refactor all code that used it in
  favor of the new FixedPopover

Test Plan: Unit tests

Reviewers: drew, evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2697
2016-03-09 10:05:46 -08:00
Jackie Luo 1fc389c804 fix(theme-picker): Fix linter issues for ES6 2016-03-08 17:41:22 -08:00
Jackie Luo 5be8811e33 fix(theme-picker): Move launch command to activate() 2016-03-08 17:32:23 -08:00
Jackie Luo f526bb2736 feat(theme-picker): Uninstall themes on click
Summary: Themes can now be uninstalled by clicking a button in the theme picker, instead of going to `~/.nylas/packages` to delete the directory.

Test Plan: Tested locally.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2700
2016-03-08 17:08:35 -08:00
Drew Regitsky 327eb43932 fix(sync-errors): Handle account deltas indicating sync issues
Summary:
Changes the delta code to handle new deltas on the Account object,
which are triggered by changes in sync state indicating various backend
issues. Saves the sync state in a new field on the Account object, which
is persisited in `config.cson`.

Includes several UI changes to display more information when an account has
backend sync issues. Adds better messages and new actions the user can take
based on the type of sync issue.

Additionally, fixes bug in action bridge that was preventing multi-arg global
actions from working.

Test Plan:
Manual, by testing different sync state values and triggering deltas from the
backend

Reviewers: juan, evan, bengotow

Reviewed By: evan, bengotow

Subscribers: khamidou

Differential Revision: https://phab.nylas.com/D2696
2016-03-08 16:06:04 -08:00