Commit graph

1449 commits

Author SHA1 Message Date
Ben Gotow e12d901e62 fix(thread-list): Constrain details width to ensure attachment icon visible. #1858 2016-04-01 14:49:15 -07:00
Jackie Luo df7cd90c4a fix(templates): Convert to ES6 and allow creation of new templates 2016-04-01 14:30:43 -07:00
Jackie Luo 45ef25fc02 🎨(preferences): Updates preferences to look prettier
Summary:
Adds new redesigned preferences with horizontal tab bar and refactored code.

Converts Preferences, Plugins, and a few components to ES6.

Test Plan: Tested locally.

Reviewers: evan, bengotow

Reviewed By: bengotow

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2818
2016-04-01 14:01:26 -07:00
Jackie Luo 280e77c796 spec(composer-emoji): Fix specs for popover 2016-03-31 18:14:11 -07:00
Ben Gotow c836310fac fix(autolinker): Update regexp to handle reported failure cases 2016-03-31 16:36:23 -07:00
Juan Tejada 74a65bb9c1 fix(build): FIx linting and react errors and popover spec 2016-03-31 16:10:09 -07:00
Ben Gotow 0211304f1a fix(inline): Use vw for max-width, use DOM rather than regex 2016-03-31 15:16:22 -07:00
Ben Gotow d49c205dc8 fix(inline): radial progress, merge body with download data on render 2016-03-31 15:16:21 -07:00
Jackie Luo 06feced278 spec(composer-emoji): Add tests for emoji popover
Summary: Adds tests to check that emoji popover is inserting emoji correctly and adding PNGs as expected.

Test Plan: Tested locally.

Reviewers: evan, bengotow, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2810
2016-03-31 14:54:46 -07:00
Jackie Luo c71f4e28d2 🎨(theme-picker): Fix oval close button 2016-03-31 12:04:41 -07:00
Jackie Luo ff08f73f31 🎨(scroll): Fix UI issues in theme picker/emoji picker 2016-03-30 15:52:51 -07:00
Ben Gotow 886328ff7a bump(react): 0.13.2 => 0.14.7
Great breakdown of React changes here:
https://github.com/facebook/react/blob/master/CHANGELOG.md#0140-october-7-2015

Due to deprecation warnings, I don't think this will break third-party extensions unless they were doing really bad things.
2016-03-29 01:43:12 -07:00
Jackie Luo 83aebd99d1 fix(composer-emoji): Render emoji characters on Windows/Linux 2016-03-28 16:18:41 -07:00
Jamie Wilson 6406b8714b applying accent color to focused inputs 2016-03-28 12:49:47 -05:00
Jackie Luo 0f8725a747 🎨(themes): Tweak Taiga to feel more native 2016-03-27 15:51:27 -07:00
Jackie Luo d8459bb2cd fix(thread-list): Show emoji in bolded subject lines 2016-03-27 15:51:27 -07:00
Juan Tejada 88c5de4f2b update(open-tracking): Only display icon when last message has metadata 2016-03-25 14:00:55 -07:00
Juan Tejada 1efa7ffaca Revert "fix(open-tracking): Make sure icon only shows in sent perspective"
This reverts commit 5c0b88d258.
2016-03-25 14:00:55 -07:00
Jackie Luo 457e068188 fix(composer-emoji): Only show replacement PNGs for OS X 2016-03-25 13:35:32 -07:00
Juan Tejada 5c0b88d258 fix(open-tracking): Make sure icon only shows in sent perspective 2016-03-25 12:37:42 -07:00
Juan Tejada c2cf2f4227 fix(tray): Re add old icon assets for tray icon for win32 and linux 2016-03-25 10:05:17 -07:00
Ben Gotow 236e2bfdd5 fix(composer): Sentry 9688 2016-03-24 17:18:50 -07:00
Jackie Luo 14dff14ac7 lint(themes): Add import to ui-variables 2016-03-24 16:56:49 -07:00
Ben Gotow 7b3018699f fix(autolinker): Don't include trailing ? or . in URLs 2016-03-24 16:35:11 -07:00
Jackie Luo 72b0672ac9 fix(themes): Re-add disclosure triangles to Taiga 2016-03-24 16:19:41 -07:00
Juan Tejada 5ef9045d55 🎨(selected-stack): Update text color for clear selection btn 2016-03-24 15:47:49 -07:00
Ben Gotow daeff14a29 fix(search): Display search API errors in transient notiication bar 2016-03-24 15:42:05 -07:00
Ben Gotow 79977a6336 perf(*): Replace _.omit, refresh scrollbar height less often 2016-03-24 15:14:41 -07:00
Juan Tejada 36cda855f7 patch(thread-list): Limit number of injected icons in narrow mode to 1
- Update InjectedComponentSet to take a limit for the amount of matching
  components to render
2016-03-24 12:32:01 -07:00
Juan Tejada 3cdd831e22 feat(list): Add ThreadIcon injected region to narrow thread-list 2016-03-24 12:00:49 -07:00
Jackie Luo cff427d710 fix(composer-emoji): Return if no search results are found 2016-03-24 11:57:49 -07:00
Ben Gotow 3544ccf979 fix(selection): Make the clear selection button a button 2016-03-24 10:57:12 -07:00
Jackie Luo dcb8478f97 feat(composer-emoji): Add emoji button to composer
Summary: The emoji picker allows users to insert emoji to their messages on click. A few emoji that don't render properly in Chromium are replaced with PNGs, both in the composer view and the message list view, but only the Unicode characters are sent in the message bodies.

Test Plan: TODO

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2787
2016-03-24 10:45:48 -07:00
Ben Gotow 454082d4c1 fix(undo-redo): Remove initial state check 2016-03-24 10:42:15 -07:00
Ben Gotow 4d65dbf9bf fix(autolinker): Only match top ten tld's when schme not present 2016-03-24 10:14:47 -07:00
Ben Gotow 52e8e57e4a perf(autolinker): Use requestIdleCallback to fix hanging on large bodies 2016-03-23 19:03:21 -07:00
Juan Tejada e40f4c58fd fix(snooze): Correctly display snoozed until label 2016-03-23 18:00:46 -07:00
Juan Tejada 3b3f0c0c81 fix(send-later): Close popover in inline composer when msg scheduled 2016-03-23 17:46:24 -07:00
Juan Tejada 9a800bf4ef fix(styles): Fix styles for attachment and upload items 2016-03-23 17:16:25 -07:00
Jackie Luo be9c616840 fix(composer-emoji): Return null if no matching node is found 2016-03-23 17:01:14 -07:00
Jackie Luo a8e5d9948e fix(composer-emoji): Fix setBaseAndExtent bug 2016-03-23 16:48:35 -07:00
Juan Tejada 5f559d596c fix(signatures): Fix signature switching between accounts in composer 2016-03-23 15:23:13 -07:00
Dakota Nelson c9c81782c3 Add extensibility in composer recipient chips
Summary:
Allow for injection into the composer's list of recipients to indicate
something about each recipient (i.e. for the PGP plugin, allow an
indicator as to whether or not each recipient has a PGP key
available)

Test Plan: Tested locally

Reviewers: juan

Reviewed By: juan

Subscribers: bengotow

Differential Revision: https://phab.nylas.com/D2761
2016-03-22 17:08:54 -07:00
Ben Gotow c265cf0dfa fix(drafts): Formalize draft factory, add reply "behaviors" #1722
Summary:
This diff implements a behavior change described in https://github.com/nylas/N1/issues/1722.

Reply buttons should prefer to focus an existing draft in reply to the same message, if one is pristine, altering it as necessary to switch between reply / reply-all. If no pristine reply is already there, it creates one.

Reply keyboard shortcuts should do the same, but more strictly - the shortcuts should switch between reply / reply-all for an existing draft regardless of whether it's pristine.

This diff also cleans up the DraftStore and moves all the draft creation itself to a new DraftFactory object. This makes it much easier to see what's going on in the DraftStore, and I also refactored away the "newMessageWithContext" method, which was breaking the logic for Reply vs Forward between a bunch of different helper methods and was hard to follow.

Test Plan: They're all wrecked. Will fix after concept is greenlighted

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2776
2016-03-22 15:47:51 -07:00
Juan Tejada 7e6141fb47 🎨(composer): Reduce contenteditable min height 2016-03-22 14:51:38 -07:00
Juan Tejada 0f9e70cde7 fix(tasks): Properly handle DraftNotFoundError in DestroyDraftTask
- Fix reference to actual DestroyDraftTask class inside
  syncback-draft-task
2016-03-22 14:34:09 -07:00
Juan Tejada 1d4e4612d5 feat(popover): Add subtle ease-in animation when opening popover
- Closes popover on window resize:
  - Re rendering popover on window resize will be a bit more tricky because
    the FixedPopover only receives an origin rect. The one who
    dispatches the action has the responsability of re dispatching when
    the window resizes
- Fixes tiny behavior in send later popover
2016-03-22 13:45:07 -07:00
Juan Tejada 5aa2b24d72 fix(message-list-toolbar): Fix observable for selection & focused thread 2016-03-22 11:28:55 -07:00
Juan Tejada 8f864e76e3 fix(attachments): Update fn name in ImageAttachmentComponent 2016-03-22 11:28:55 -07:00
Jackie Luo 4afcc0501f 🎨(theme-picker): Fix styling for non-Retina displays 2016-03-21 19:35:47 -07:00
Ben Gotow 9e3dbd3873 fix(template): Rewrite in ES6, add missing windowTypes 2016-03-21 18:25:50 -07:00
Juan Tejada fce1673aac feat(download-all): Adds download-all button + style updates, more ES6
Summary:
- Adds initial version of download all button
- Converts attachments plugin to ES6 and adds updated styling
- Updates quoted text button
- #905, #1712

Test Plan: - Unit + manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2769
2016-03-21 18:23:26 -07:00
Ben Gotow 510e417cb3 fix(tray): Use total count, not unread count, for tray icon 2016-03-21 17:36:18 -07:00
Juan Tejada 687597134d feat(selection): Add new display for selection count + update toolbar
Summary:
- New behavior is that the in split mode, you will perform actions on
  the selection via the MessageListToolbar (the toolbar positioned above
  the message list)
- Refactored and moved around a bunch of code to achieve this:
  - Mostly renaming stuff and moving stuff around and removing some
    duplication
  - Update naming of toolbar role to a single role, and update relevant code
  - Converted and refactored a bunch of code into ES6, specifically to reuse the code for the ThreadActionsToolbar at the 2 locations
  - Deprecated MultiselectActionBar in favor of MultiselectToolbar
  - Deprecated old roles
- Punted the animation for the stackable cards in the selection display for now.
- #370

Test Plan: - Manual and unit tests

Reviewers: evan, drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2756
2016-03-21 12:20:11 -07:00
Ben Gotow cc7317d3f7 fix(composer): Refactor header actions, clean up layout
Summary:
WIP

Remove the mode prop from everywhere, use NylasEnv.isComposerWindow() instead

Test Plan: Run updated tests

Reviewers: drew, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2766
2016-03-21 11:32:48 -07:00
Jackie Luo 38d9c41c0b fix(theme-picker): Add tabIndex to click to dismiss 2016-03-18 18:12:55 -07:00
Ben Gotow c849212250 log(sync-state): Send Account State Delta to mixpanel 2016-03-18 15:09:00 -07:00
Ben Gotow 9aba847a92 fix(onboarding): Focus first field when showing settings #1696 2016-03-18 14:03:37 -07:00
Jackie Luo 815dc58e3a fix(ui-taiga): Remove border-bottom in two-pane mode 2016-03-18 13:48:14 -07:00
Jackie Luo 96186631cd fix(ui-taiga): Show active list item in single-pane mode (#1751) 2016-03-18 13:42:32 -07:00
Ben Gotow d780740187 fix(build): Fix failing linter and account tests 2016-03-18 13:26:03 -07:00
Ben Gotow 5bc00bd55e fix(quick-schedule): Update to use new APIs, remove leftover docs 2016-03-18 10:43:43 -07:00
Drew Regitsky 3240635b4c fix(sync-state): ignore Account.syncState=="stopped" for now
Valid accounts that are syncing properly can reviece a delta for
Account.syncState==stopped currently, due to some quirks in the backend.
Ignore "stopped" until it unabiguously represents an error state.
2016-03-18 10:41:08 -07:00
Jackie Luo 2575cecd59 bump(node-emoji): Use 1.2.1 with merged PR 2016-03-18 10:07:56 -07:00
Ben Gotow 2e2ecf0647 fix(quoted-text): div vs blockquote, signature cleanup #1746
Summary:
Previously we always created <blockquote class="gmail_quote"> to wrap quoted text. This is not correct.
Gmail uses blockquotes only when it wants visual indentation, and <div>s to wrap other quoted text, like forwarded
messages which are not displayed indented.

This diff updates N1 to match Gmail exactly. Note that for replies, Gmail actually nests a blockquote.gmail_quote
inside a div.gmail_quote.

I also updated signature handling because it turns out the regexp that was removing existing signatures would blow
away any and all divs until it reached a <blockquote> tag.

Test Plan: See updated specs. Manually tested by creating a thread in Google Inbox and then performing fwd and reply in both N1 and Inbox. Results match.

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2750
2016-03-17 13:11:00 -07:00
Ben Gotow a3a03bd086 fix(lint): Actions is defined but never used 2016-03-16 20:04:01 -07:00
Ben Gotow 552b66fbaf fix(syncback): Bidirectional transforms, ready-to-send saved state
Summary:
This diff replaces "finalizeSessionBeforeSending" with a
plugin hook that is bidirectional and allows us to put the draft in
the "ready to send" state every time we save it, and restore it to
the "ready to edit" state every time a draft session is created to
edit it.

This diff also significantly restructures the draft tasks:

1. SyncbackDraftUploadsTask:
   - ensures that `uploads` are converted to `files` and that any
     existing files on the draft are part of the correct account.

1. SyncbackDraftTask:
   - saves the draft, nothing else.

3. SendDraftTask
   - sends the draft, nothing else.
   - deletes the entire uploads directory for the draft

Test Plan: WIP

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2753
2016-03-16 19:27:12 -07:00
Jackie Luo 55ed1e2f3c sp(composer-emoji): Correct emojis to emoji 2016-03-15 13:37:54 -07:00
Juan Tejada 592e861406 fix(focus): Show drafts in unfocused state when window is blurred
- See #1695
- Update key commands region to clear focus when window blurs
- Dispatch broswer-window-focus/blur as a window event into the renderer
  window
- Update tray icon to listen to window instead of ipc event
2016-03-15 12:12:30 -07:00
Juan Tejada 030b0b57b4 feat(view-mode): Add option in menu to select view mode
Summary:
Also add minor refactoring
#1710

Test Plan: Manual

Reviewers: bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2745
2016-03-15 11:20:55 -07:00
Jackie Luo 76d478b677 refactor(ui-variables): Clean UI variables for consistency/usage
Summary: Shortens and simplifies UI variables so that unused variables are no longer present.

Test Plan: Tested locally.

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2738
2016-03-15 11:18:50 -07:00
Ben Gotow 84b9741fa6 fix(autolinker): Additional phone number parsing specs 2016-03-15 11:04:00 -07:00
Ben Gotow 92e8a2a7d4 fix(autolinker): Add more test cases, improv URL regex 2016-03-15 10:47:14 -07:00
Ben Gotow 7a7496b675 fix(uploads): Display icon regardless of ext capitalization
Note: In the future we really need to consolidate file-upload.cjsx and attachment-component.cjsx. #1700
2016-03-15 09:31:22 -07:00
Ben Gotow 2d8bb9d3f7 fix(next/prev): Move buttons to correct column #1721 2016-03-15 09:16:28 -07:00
Jackie Luo 492ae69abe Merge pull request #1731 from jamiewilson/darkside
(darkside) using new toolbar selectors, svgs, etc
2016-03-14 18:50:43 -07:00
Jackie Luo 1869709121 🎨(plugins): Add theme-specific icon in plugins tab 2016-03-14 17:55:25 -07:00
Juan Tejada ded7c20fba feat(tray): Update to new set of icons and behavior for tray (menubar)
Summary:
- See #1698

Add specs

Test Plan: - Unit tests

Reviewers: bengotow, evan, drew

Reviewed By: drew

Differential Revision: https://phab.nylas.com/D2734
2016-03-14 17:17:11 -07:00
Ben Gotow cff2f71d18 fix(signatures): Adds default signature, convert to ES6 2016-03-14 17:05:49 -07:00
Jamie Wilson 013898ed02 using new toolbar selectors, svgs, etc. 2016-03-14 19:02:00 -05:00
Juan Tejada cfbbcd23d3 fix(snooze): Correctly query and create snooze categories per account
Summary:
- Was not properly updating the references to snoozed categories when
  accounts were added or removed
- Update whenCategoriesReady to make sure we listen until category syncing has concluded (Move inside CategoryStore)
- #1676, #1658

Test Plan: - TODO

Reviewers: evan, drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2723
2016-03-14 15:36:39 -07:00
Ben Gotow 734a52aa6a fix(config): Move account tokens to system keychain
Summary:
This diff also adds an account version number to the config so that the AccountStore can tell whether it should reload accounts (depending on whether it was the instance making tthe changes.)

This diff also fixes a tiny issue where un-opened composers threw an exception if you changed accounts.

Test Plan: New tests

Reviewers: evan, drew, juan

Reviewed By: juan

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2726
2016-03-14 15:14:08 -07:00
Ben Gotow dbf3610c88 hide(zoom): Remove UI for zoom, move to CONFIG.md 2016-03-14 13:13:32 -07:00
Ben Gotow 465831175a rm(autolinker): Use our own very simple autolinker
Summary:
Autolinker is a great open source project but it attempts to parse HTML with regexp, is quite slow, and hangs on specific emails https://github.com/nylas/N1/issues/1540

This is super bad, and also super unnecessary. I think this should do the trick.

Note: I changed the urlRegex in our Utils to be much more liberal. It now matches anything that looks like a URL, not just things with the http:// and https:// prefixes. It's used in the LinkEditor and onboarding screen (detecting auth errors with urls) and I think it should be ok?

Test Plan: Need to write some tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2725
2016-03-14 12:30:54 -07:00
Juan Tejada 06d7c05aa8 fix(acct-menu): Add option to add account from context menu 2016-03-14 11:22:52 -07:00
Ben Gotow fc59d88337 fix(spellcheck): Enables spellcheck menu for basic inputs (#1600)
Summary: Just moves some code so we can easily attach spelling menus to the basic inputs.

Test Plan: Updated existing tests

Reviewers: juan, drew

Reviewed By: drew

Differential Revision: https://phab.nylas.com/D2721
2016-03-14 10:23:57 -07:00
Ben Gotow a3483c0a2b Merge pull request #1648 from Eldorado234/patch-2
Fixed text overflow in phishing detection indicator
2016-03-14 10:09:21 -07:00
Jackie Luo 9cc235dbbb 🎨(themes): Fixes Windows button UI issues in #1649 2016-03-12 11:43:49 -08:00
Evan Morikawa ae4ca59526 fix(sidebar): keep trying on 202s
Also fixed a bug where the email could come back with different
capitalization causing a cache miss
2016-03-11 16:27:04 -05:00
Simon Seyer 257f9a13d9 Fixed text overflow in phishing detection indicator 2016-03-11 20:33:06 +01:00
Jackie Luo 2c723725b6 fix(themes): Add quick fixes for Ubuntu 2016-03-11 11:02:02 -08:00
Jackie Luo 4bddd302e1 Merge pull request #1629 from ahmedlhanafy/master
Added Ubuntu theme to the internal packages
2016-03-11 10:59:30 -08:00
Simon Seyer 9cb8a24de8 Fixed alignment of message headers
like the phishing indicator.

Before this change: http://pasteboard.co/2bUg8PU9.png
After: http://pasteboard.co/2bUj2Bmz.png
2016-03-11 19:07:52 +01:00
Drew Regitsky fe11a425cd fix(templates): fix a null check bug in template contentedtable ext 2016-03-10 19:06:15 -08:00
Ahmed Magdy 595bd70514 Added Ubuntu theme to the internal packages 2016-03-11 03:50:19 +02:00
Juan Tejada 42e5f4c605 fix(snooze): Fix getter for inbox category in when moving to snooze 2016-03-10 17:46:23 -08:00
Ben Gotow 0533cf3cb3 fix(labels): Do not re-use mail labels if they're removable 2016-03-10 17:08:42 -08:00
Jackie Luo 1e61f2916b 🎨(theme-picker): Order internal themes and update theme names 2016-03-10 16:37:06 -08:00
Ben Gotow 21e19cab50 fix(bodies): Message with empty string body showed loading forever 2016-03-10 16:13:17 -08:00
Ben Gotow a24f67398e fix(sync): Do not paginate /metadata unless pluginsSupported 2016-03-10 16:03:36 -08:00
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