Commit graph

1232 commits

Author SHA1 Message Date
Evan Morikawa 7cfe045b6d feat(onboarding): style page 2 2016-03-04 16:48:16 -05:00
Evan Morikawa 2f0630b0e8 feat(onboarding): style page 1 2016-03-04 16:48:16 -05:00
Ben Gotow a1867ead6b fix(auth): re-enable ssl_required checkbox with backend support 2016-03-04 13:29:18 -08:00
Ben Gotow 092fb99a17 fix(phishing): Tie to MessageStore so it works when msgs aren't ready 2016-03-03 14:39:15 -08:00
Ben Gotow 84b92af0e7 💄(bars): No email address overflowing phising / autoload images bars 2016-03-03 14:16:54 -08:00
Mehdi Rejraji 19d3c416fc Match only valid URLs for link tracking
As of now, link-tracking creates link tracking for every <a> tag, no matter the href attribute. This commit only creates link tracking for valid URLs.
The reason I wrote a new regex instead of rewriting linkTagRegex is that this regex is used by message-list.
https://regex101.com/r/jD5zC7/3 vs https://regex101.com/r/cK0zD8/2

Resolves: #1525
2016-03-03 13:46:41 -08:00
Juan Tejada 4900df4768 fix(lint): Fix linter error in specs 2016-03-03 13:45:28 -08:00
Juan Tejada f46502ad3e test(plugins): Add snooze and send later specs
Summary:
- Also refactors the code a bit for testability and maintainability
- Fixes #1515

Test Plan: - Unit tests

Reviewers: evan, drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2651
2016-03-03 12:38:42 -08:00
Ben Gotow 9b54d9cf31 fix(MessageContainer): Fix state, prevent from getting different messages. #1175
Summary:
This fixes a serious issue where drafts could appear to be sending if
they were located in the same index of the message list as a draft which was
previously sending.

Under the hood this was due to two bad programming choices:

1) State based on props in MessageContainer requires correct implementation of
   componentWillReceiveProps. This is definitely an anti-pattern.

2) Using item index rather than clientId as the key for items in the MessageList
   caused containers to be given a different message prop when one was inserted,
   rather than just shifting the existing ones down and inserting a new one.

Test Plan: Not sure how to test this really...

Reviewers: drew, juan

Differential Revision: https://phab.nylas.com/D2673
2016-03-03 12:10:03 -08:00
Jackie Luo 83fa692bb5 Bump version for node-emoji 2016-03-02 18:58:07 -08:00
Evan Morikawa 572498aa68 fix(composer): fix minor spacing issue on popout composer 2016-03-02 16:06:40 -08:00
Evan Morikawa b727fe374d fix(find-in-thread): minor rename fixes 2016-03-02 15:00:01 -08:00
Evan Morikawa 10e0fcc965 feat(find-in-thread): add the ability to find in a thread
Summary: Find in thread

Test Plan: todo

Reviewers: bengotow, juan

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2660
2016-03-02 14:46:27 -08:00
Ben Gotow a53e72f542 fix(hidden-messages): Address diff feedback from @jstejada 2016-03-02 10:28:32 -08:00
Ben Gotow f5ee557e2e feat(hidden-messages): Filter trash/spam messages. Fixes #1135
Summary:
By default, the messages in a thread are now filtered to exclude
ones moved to trash or spam. You can choose to view those messages by clicking
the new bar in the message list.

When you view your spam or trash, we only show the messages on those threads
that have been marked as spam/trash.

Test Plan: Run a couple new tests

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2662
2016-03-02 10:05:17 -08:00
Evan Morikawa 66d1fe67e8 fix(account): re-add token if a new one comes in
Summary: fix(account): allow users to reconnect accounts if auth has failed

Test Plan: manual

Reviewers: bengotow, juan

Differential Revision: https://phab.nylas.com/D2663
2016-03-01 16:02:20 -08:00
mbilker a1b9775b6d lint(*): correct eslint errors, warnings still exist
There are warnings in `spellcheck-composer-extension.es6` for the `while (true)`
loops.
2016-03-01 10:58:29 -05:00
Jackie Luo 876aea0ad9 fix(composer-emojis): Insert emoji on tab, fixes #1511 2016-02-29 20:46:30 -08:00
Ben Gotow 94badcda15 es6(*): convert 20+ source files used in example packages to ES2016
There could be a few lurking bugs. Please test!
2016-02-29 18:47:22 -08:00
Ben Gotow 3072246d8e temp(onboarding): Remove checkbox for option not yet on prod 2016-02-26 16:49:46 -08:00
Drew Regitsky 3327fc4cff fix(message-controls): add accountId to debug values copied to clipboard 2016-02-26 15:13:33 -08:00
Ben Gotow b92e4fa07b fix(threads): Right-align the timestamps in the thread list 2016-02-26 15:00:56 -08:00
Ben Gotow 04f93bd055 💄(print): Fix #1425 2016-02-26 14:40:16 -08:00
Ben Gotow 18677e51a6 fix(config): Store cursors with sync state, avoid constant config.cson writes
Summary:
Previously we were storing sync cursors in config.cson. They were by
far the most frequently updated piece of data in config. To make things worse,
all the writing was happening in the worker window - the main window was just
seeing the changes on disk and reloading.

I believe there's an edge case which causes the main window to read the config
file when it's mid-write and empty. This causes the accounts array to become
empty in the AccountStore and lots of downstream issues. It's also then possible
for the main window to write a config change of it's own and empty the file
permanently.

Test Plan: A few new tests to make sure this is backwards compatible.

Reviewers: juan, evan

Reviewed By: juan, evan

Differential Revision: https://phab.nylas.com/D2642
2016-02-26 13:52:19 -08:00
Drew Regitsky d3d4978dbd fix(message-controls): update email address for reporting 2016-02-26 12:29:11 -08:00
Drew Regitsky 0e522ec789 feat(message-controls): Option to copy message IDs/metadata to clipboard 2016-02-26 12:26:20 -08:00
Juan Tejada 0b5afaad71 fix(lint) 2016-02-26 11:24:00 -08:00
Juan Tejada 8e382f8c26 fix(aliases): Fix regression to properly create/update/remove aliases
- This fixes #1428
- Add specs
2016-02-26 11:01:01 -08:00
mbilker 1a5766114e lint(system-tray): code style consistent with rest of file 2016-02-26 11:37:20 -05:00
mbilker 38dce709e2 fix(system-tray): rename icon files for Windows and Linux 2016-02-26 11:23:53 -05:00
Drew Regitsky e313da8a6b fix(metadata): update metadata version when processing deltas 2016-02-25 16:20:58 -08:00
logandavis dded8abd7f Re-add SSL checkboxes with name ssl_required
Summary:
Now that IMAP auth without SSL is enabled,
those checkboxes that weren't doing anything can come
back.

Test Plan:
This change isn't fully tested and should be thoroughly
inspected (on staging?) before rollout. The N1 end works and sends
parameters correctly, but a 401 prevented local testing of the
interface between N1 auth and sync-engine auth.

Reviewers: bengotow, drew

Reviewed By: drew

Subscribers: kav-ya

Maniphest Tasks: T6666

Differential Revision: https://phab.nylas.com/D2632
2016-02-25 14:38:49 -08:00
Ben Gotow 1df517c4af bump(version): 0.4.9 and changelog 2016-02-25 14:10:21 -08:00
Juan Tejada dd92c9b6ad fix(snooze): Do not display snooze buttons unless looking at inbox 2016-02-25 14:02:58 -08:00
Evan Morikawa d97e724c1b fix(analytics): fix send later and snooze analytics 2016-02-25 14:01:15 -08:00
Ben Gotow 816596d422 perf(snooze): Don't wrap snooze label in unsafe container 2016-02-25 13:39:30 -08:00
Ben Gotow 94a8ca57d8 fix(link/open tracking): Update error messages 2016-02-25 13:32:59 -08:00
Ben Gotow a1db17e3c9 fix(snooze): Hide N1-Snoozed from the category picker 2016-02-25 13:32:58 -08:00
Evan Morikawa e77d658a96 fix(composer): focus on the absolute end when clicking near the bottom 2016-02-25 13:31:34 -08:00
Juan Tejada 93f43f6b4f feat(snooze): Add snooze date label to snooze threads
- Adds a new InjectedComponentSet for the role 'ThreadList:Label'.
- Adds a new label to the thread list indicating the snooze date if the
  thread has been snoozed
- Coerces MailLabel to achieve this. This is a temporary hack, we should
  design a better view to display snooze date information
2016-02-25 13:12:40 -08:00
Ben Gotow fe27fb161f fix(link/open tracking): Remove intermediate metadata states, extra db lookup, dead code 2016-02-25 12:54:18 -08:00
Evan Morikawa 274131863f feat(analytics): add analytics to send later, snooze, tracking 2016-02-25 12:34:09 -08:00
Drew Regitsky d5ba162e82 fix(composer-buttons): Fix broken icons on overflow, make buttons wrap 2016-02-25 12:30:20 -08:00
Evan Morikawa cc15d35848 fix(plugin): better errors if plugins are malformed
Fixed read assets
2016-02-25 11:55:11 -08:00
Juan Tejada 57d7057161 💄(composer): Properly align 'X more' token 2016-02-25 11:42:38 -08:00
Ben Gotow bb99f95d2c sp(translate): Transalate => Translate 2016-02-25 11:05:07 -08:00
Juan Tejada 58833b39e8 feat(snooze): Update message in toast when snoozing
- Adds new arg to ChangeLabelTask and ChangeFolderTask to override
  default description
- Adds custom description to task when snoozing
2016-02-25 10:42:21 -08:00
Juan Tejada 2a757f332e fix(plugins): Add headers for composer popover + Fix in snooze popover 2016-02-25 10:24:29 -08:00
Evan Morikawa 407498057c fix(composer): minor padding fix in composer 2016-02-25 10:06:17 -08:00
Ben Gotow 296110d177 fix(swipe): Make it easier to close snooze-confirm swipe state, fix double-popover issue 2016-02-24 21:01:23 -08:00
Jackie Luo 5a480031f0 fix(composer-emojis): Adjust width for overflower 2016-02-24 20:41:54 -08:00
Ben Gotow 9d0ebe9423 fix(snooze): A few minor popover adjustments. See desc.
- Rather than have a `showing` prop on the fixed popover, I just remove it and put a span in it's place when it's gone. This means we always get componentDidMount when the popover appears and simplifies when to focus it's content.
- The fixed popover implements esc and blur behaviors itself
- The fixed popover uses the background-secondary color and works in dark mode
- The snooze items have hover and active states
2016-02-24 20:05:21 -08:00
Ben Gotow 030b60d27d fix(star): Bulk star icon has never shown current state(?!) 2016-02-24 20:05:21 -08:00
Juan Tejada dea8318e13 💄(plugins): Add error messages back to plugin dialogs 2016-02-24 18:22:54 -08:00
Ben Gotow 21b1cd4e19 fix(build): Don't delete plugin package.json files, restore ellipsis (@sdw consulted HIG!) 2016-02-24 18:15:55 -08:00
Drew Regitsky db5c822ccf fix(snooze): options text capitalization: title case => sentence case 2016-02-24 17:56:52 -08:00
Juan Tejada 8e26c8574f fix(lint): Fix lint errors 2016-02-24 17:53:31 -08:00
Drew Regitsky d58f8567b5 fix(send-later): options text capitalization: title case => sentence case 2016-02-24 17:45:14 -08:00
Juan Tejada 9fa64c38e2 fix(plugins): Several minor fixes:
- Fixes styling for snooze quick action button when thread selected
- Fixes snooze popover input debouncing
- Other interaction fixes
2016-02-24 17:34:18 -08:00
Drew Regitsky cffa9c723c fix(open-tracking): quick CSS fix to thread list icon 2016-02-24 16:55:17 -08:00
Evan Morikawa 829facd6dc fix(snooze): look at allCategories instead of userCategories 2016-02-24 16:51:34 -08:00
Ben Gotow f083818c92 💄(snooze): Fix swipe-to-snooze animation 2016-02-24 16:44:16 -08:00
Drew Regitsky fb335c332b fix(plugins): Change server URLs for open/link tracking to final values 2016-02-24 16:29:12 -08:00
Evan Morikawa 17ea99d2ff fix(error-handling): handle offline for link tracking & read-receipts
Fix offline error handling of link tracking and read receipts

Fix ellipses for tooltips

Allow you to change the title in the error box
2016-02-24 16:06:08 -08:00
Juan Tejada d866679737 fix(snooze): Fix quick action button, remove italic from popover 2016-02-24 15:33:57 -08:00
Evan Morikawa 3790f15732 fix(read-receipt): message status updates live 2016-02-24 15:25:11 -08:00
Juan Tejada f86d984355 fix(snooze): Close popover on error 2016-02-24 15:11:03 -08:00
Juan Tejada 7f5c225d40 fix(snooze): Close popover when opening a new one 2016-02-24 15:08:53 -08:00
Juan Tejada defbbbe3c7 fix(snooze): Only allow snooze from inbox 2016-02-24 15:06:06 -08:00
Juan Tejada 9c2a05ba3f fix(fixed-popover): Reposition when overflowing on left direction
- This is a temporary solution
2016-02-24 15:02:42 -08:00
Evan Morikawa 9ad088f899 feat(tracking): sticky tracking state and consolidate component 2016-02-24 14:46:09 -08:00
Ben Gotow afa22729aa fix(feedback): Remove feedback btn, update "N1 Help" in menu bar 2016-02-24 13:49:15 -08:00
Ben Gotow 1f29cb3cea 💄(send-later): Minor draft list styling changes 2016-02-24 13:44:56 -08:00
Ben Gotow 9d52cb1124 fix(snooze/send-later): Change chrono config to always prefer dates in future 2016-02-24 13:16:53 -08:00
Evan Morikawa d04ee7ef3a fix(read-receipts): fix padding and styles under selection 2016-02-24 13:16:35 -08:00
Drew Regitsky fb8f8b78ac fix(read-receipts): threadlist icon vert align and placeholder when missing 2016-02-24 13:02:18 -08:00
Evan Morikawa 02600786c2 fix(tracking): tracking pixel won't register if it's from you 2016-02-24 12:55:00 -08:00
Evan Morikawa 0d7d5489c6 fix(lint): fix less and js linter issues 2016-02-24 12:31:56 -08:00
Evan Morikawa 6144f83834 fix(tracking): fix link tracking and read receipt plugins
Fix broken links in link tracking and read receipts

Fix bug in email frame where it wouldn't adjust the height even when
content changed

MessageItem bodies automatically clear the MessageBodyProcessor cache when
the message contents (including metadata) change.

Remove unused Account stuff from nylas-observables

Plugins appIds properly read if there's an environment set
2016-02-24 12:30:12 -08:00
Ben Gotow 7526fd8684 fix(send-later): Resolves a variety of small bugs from QA 2016-02-24 12:26:56 -08:00
Drew Regitsky 29f751e1ce fix(plugins): more fixes to open/link tracking urls 2016-02-24 12:17:39 -08:00
Drew Regitsky feabd96f86 fix(plugins): fix open tracking and link tracking URLs 2016-02-24 12:00:40 -08:00
Juan Tejada aebbaec639 💄 (send-later): Update placeholder copy, again 2016-02-24 11:50:43 -08:00
Juan Tejada 4de7948500 fix(sidebar): Prevent error in snooze item when category doesnt exist
- Add Snooze category to locked and hidden categories to prevent from
  directly moving stuff to it and showing up in the user categories
  section
2016-02-24 11:45:47 -08:00
Jackie Luo 4459fad47b 🎨(composer-emojis): Remove pointer and adjust styling
Summary: The floating toolbar now takes an optional boolean to decide whether it shows the pointer.

Test Plan: Tested locally.

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2628
2016-02-24 11:31:32 -08:00
Juan Tejada ab181305b3 💄 (popover): Properly apply styles to input inside popover
- Fix tabindex in send later popover
- Update placeholder copy
2016-02-24 11:22:54 -08:00
Juan Tejada 1eb7515ff6 feat(snooze): Add snooze item to sidebar 2016-02-24 10:50:21 -08:00
Juan Tejada f5c18d1b34 💄 (snooze): Add quotes to popover placeholder 2016-02-24 10:28:08 -08:00
Juan Tejada 194aa84f44 fix(snooze): Close all popover types when submitting date with enter 2016-02-24 10:27:16 -08:00
Jackie Luo f04449d67a 🎨(composer-emojis): Fix styles in emoji picker
Summary: Adjust sizing, padding, etc., to fit better with overall app design.

Test Plan: Tested locally.

Differential Revision: https://phab.nylas.com/D2627
2016-02-24 10:12:38 -08:00
Ben Gotow 7bc335c28b fix(*): misc fixes for warnings, appearance of PL indicators 2016-02-24 01:04:57 -08:00
Juan Tejada 579d4ad71b fix(signature): Update signature when account is changed in composer
Summary:
- Fixes #1239
- Adds action in composer view to indicate when draft partcipants have
  changed. This seemed like the simplest way to listen for this change without
  adding another extension point
- Updates signature plugin to listen to this action and update signature
  accordingly
- Adds test

Test Plan: - Unit tests

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2614
2016-02-24 00:19:55 -08:00
Juan Tejada 57fb1919ee fix(system-tray): Move Tray to main process
Summary:
- Fixes #1223
- Still uses a package in the renderer process to listen to changes in
  the unread count and have access to the canvas api.
- Renderer process will write icon to disk and inform main process that
  it should update the icon

Test Plan: - Manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2613
2016-02-23 23:26:06 -08:00
Juan Tejada 0c8ecc5829 💄 (plugins): Clean up constants in plugins
- Fix some eslint issues
2016-02-23 22:55:47 -08:00
Juan Tejada d930abcea6 fix(snooze): Fix react component warnings 2016-02-23 22:39:18 -08:00
Ben Gotow 9b32ac4719 fix(metadata-plugins): Add production app ids 2016-02-23 22:29:49 -08:00
Juan Tejada e82278ab25 feat(snooze): Adds initial design pass and update snooze popover
Summary:
- Add FixedPopover, an absolutely positioned popover component to use for swipe snoozing:
  - This component needs to be finished, as its current behavior is primarily for the snooze plugin
- Updates popover.cjsx to properly render pointer for thesnooze popover for the `down` direction
- Adds new design assets
- Adds date input to snooze popover

Test Plan: - TODO

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2624
2016-02-23 20:03:42 -08:00
Drew Regitsky 4289e09651 fix(metadata-plugins): update all appIds and URLs for staging 2016-02-23 19:19:43 -08:00
Evan Morikawa 393156c55c fix(link-tracking): fixes in link-tracking 2016-02-23 18:58:07 -08:00
Evan Morikawa 6e48af0c90 fix(read-receipts): Style fixes to link tracking and read receipts 2016-02-23 18:58:07 -08:00