Commit graph

2347 commits

Author SHA1 Message Date
Drew Regitsky
e35b37441b fix(send): make send/syncback draft tasks cooperate, fix task ordering tracking
Summary:
Fixes an issue with sending where certain conditions could result in a
duplicated message.

Fixes task dependency logic for draft syncback and send. Changes `createdAt`
on tasks to instead be `sequentialId`, assigned when the task is queued, to
track order of enqueueing. Renames `isDependentTask` => `isDependentOnTask`
and adds comments for clarity.

Test Plan:
Specs updated. Might be good to add some later to test this particular
edge case.

Reviewers: juan, evan, bengotow

Reviewed By: evan, bengotow

Differential Revision: https://phab.nylas.com/D2681
2016-03-07 20:14:58 -08:00
Drew Regitsky
eaf831efb4 fix(msg-ctrls): reorder hidden options to reduce accidental error reports 2016-03-07 18:24:31 -08:00
Ben Gotow
6d43c9623c fix(autoload-images): Bar disappears when you choose to load images 2016-03-07 18:19:17 -08:00
Ben Gotow
9bb181ef3e 💄(search): Show focus around search input 2016-03-07 18:19:17 -08:00
Juan Tejada
0d15c6cea6 fix(remove-from-view): Fix logic for delete/remove-from-view behavior:
Summary:
- Separate gmail's remove-from-view and delete behaviors and write logic
  for each of those
  - Remove MailboxPerspective::{canArchiveThreads, canTrashThreads,
    removeThreads} and some unecessary code in TaskFactory
  - Instead, add MailboxPerspective::tasksForRemovingFromPerspective (I
    know its a bit of a mouthful)
  - I initially tried to put all of the logic for each execution path
    inside the TaskFactory by checking perspective types, but it made
    more sense to use the polymorphism already in place for the different
    perspective types.
  - There is a default delete/remove-from-view behavior which is
    configurable via simple ruleset objects. The gmail behavior is
    configured in this way.
- Update swipe css classes based on destination of threads
- Fixes #1460:
  - Update logic to display archive/trash buttons and context menu options correctly
    when selected threads can be archived/trashed (not based on
    perspective)
  - Same for swiping
- Add a bunch of specs
- Convert some code to ES6
- TODO write some docs for new functions

Test Plan: Unit tests

Reviewers: drew, evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2682
2016-03-07 18:16:37 -08:00
Juan Tejada
1fe51ef586 fix(date-utils): Add localization to date formats
Summary:
- Setting the locale in moment was not sufficient to actually use the
  correct localized formats.
- Moment provides localized format via the formats : 'L', 'LL', 'll',
  etc. See: http://momentjs.com/docs/#/displaying/format/
- Updates to set our date formats based on localized formats:
  - Unfortunately, localized formats always contain the year, so I
    manually removed the year from our short format.
- Actually fixes: #1515
- Fixes bug where setting nextWeek or thisWeekend returned incorrect
  date if the current day was saturday or sunday
- Add specs

Test Plan: Unit tests

Reviewers: evan, drew, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2688
2016-03-07 16:44:54 -08:00
Jackie Luo
f21e561317 spec(theme-picker): Remove filter for theme picker spec 2016-03-06 16:37:36 -08:00
Jackie Luo
62007cfbb1 🎨(theme-picker): Add inline style to close button 2016-03-06 16:36:28 -08:00
Jackie Luo
86133a150a fix(theme-picker): Fix linter issue 2016-03-06 15:25:52 -08:00
Juan Tejada
f18a800448 bump(submodule): Add eslint to arc 2016-03-06 14:47:49 -08:00
Ben Gotow
c6c4aa83a8 Merge pull request #1574 from mxstbr/master
Fix link to cypher
2016-03-05 15:52:21 -08:00
Ben Gotow
bcb4eb9e3f bump(version): 0.4.11 beta 2016-03-05 12:13:15 -08:00
Jackie Luo
02cdc5d38a fix(theme-picker): Update spec to work with iFrame rewriting function 2016-03-05 11:24:37 -08:00
Max
e036d0248f Fix link to cypher 2016-03-05 18:17:00 +01:00
Jackie Luo
5845a7f8e5 fix(readme): Update theme starter link 2016-03-04 16:59:02 -08:00
Jackie Luo
20aa8f8368 update(readme): Add link to theme starter code 2016-03-04 16:57:10 -08:00
Jackie Luo
c67e2a24ea feat(theme-picker): Add visual theme picker to menu
Summary: Adds a new visual theme picker to the menu that allows users to select different themes based on color palettes and then change their themes live.

Test Plan: Test included.

Reviewers: evan, bengotow

Reviewed By: evan, bengotow

Differential Revision: https://phab.nylas.com/D2669
2016-03-04 15:34:48 -08:00
Evan Morikawa
66c84383ff feat(onboarding): update account-choose page 2016-03-04 16:53:26 -05:00
Evan Morikawa
bc4123a045 feat(onboarding): restyle step 3 2016-03-04 16:48:16 -05:00
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
Evan Morikawa
69b4185a93 fix(win): fix minor styling for buttons on windows 2016-03-04 14:37:11 -05:00
logandavis
f956cfcf88 Allow testing against local auth stack
Summary:
This commit changes how N1 parses config.cson very slightly
so that when "env" is set to "local" N1's auth flow can be
tested against local copies of Nylas' auth servers.

Test Plan: I tested it manually against a local auth stack. It worked!

Reviewers: bengotow

Reviewed By: bengotow

Subscribers: kav-ya

Maniphest Tasks: T6690

Differential Revision: https://phab.nylas.com/D2671
2016-03-04 11:16:43 -08:00
Jackie Luo
9e08d6839c update(readme): Update themes and add new plugins 2016-03-04 11:14:54 -08:00
Juan Tejada
76ce3a62c2 fix(lint) 2016-03-04 10:28:48 -08:00
Ben Gotow
0d47133aef fix(onboarding): Do not load themes in the onboarding window
Do not load user themes into the onboarding window, because it uses a wide range of hard-coded colors and assets and should always be on-brand.
2016-03-03 18:14:03 -08:00
Ben Gotow
fa002b82a5 fix(downloads): Replace stripped extensions, remember folder 2016-03-03 18:00:43 -08:00
Evan Morikawa
4cae9a97a3 feat(quote): add new quoted text detector for quote strings 2016-03-03 17:30:36 -08:00
Evan Morikawa
b1b154d526 fix(quoted-text): add test case for intentional quote text failure 2016-03-03 17:30:36 -08:00
Ben Gotow
e7b07a556f build(32-bit): Move a few docker files out of root of repo 2016-03-03 17:03:14 -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
Ben Gotow
10ec524d90 Merge pull request #1342 from mbilker/linux-32bit-docker
[RFC] Linux 32-bit Docker build
2016-03-03 14:10:41 -08:00
Mehdi Rejraji
0878a49376 Updated Regex to exclude mailto: links only
The rationale being it's covering all of the cases while still having a good performance.
Tracking a non-standard URL is not a user experience problem in a way. It's embedded in a <a href> tag.
2016-03-03 13:46:41 -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
Ben Gotow
68ab8e22c9 fix(drafts): Lock drafts when they're deleted so they can't be revived by deltas
Summary:
When we delete drafts, they can sometimes come back because we receive deltas about them,
find that they're not in the cache, and re-save them.

This diff fixes that by permanently incrementing the optimistic change count, which was also do
to prevent deltas from changing threads while we're in the middle of a request that will change
them further. (This may not actually be necessary anymore, because we'd ignore the delta anyway
due to it's out-of-date version?)

Test Plan: Run a couple new tests

Reviewers: drew, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2665
2016-03-03 12:09:16 -08:00
Jackie Luo
83fa692bb5 Bump version for node-emoji 2016-03-02 18:58:07 -08:00
mbilker
b32dc0d7fc fix(startup): remove beta references 2016-03-02 17:47:47 -08:00
mbilker
887db8d8ea fix(launch): convert Atom's launch script for N1
Addresses #411

The `N1.sh` launch script fails to account for running from
`/usr/{local/}bin/nylas` where it would throw an error saying
it couldn't find the electron binary.

The Atom launch script works just fine and takes that into account.
The installed launch script here is a reflactored Atom launch script
that properly accounts for running the `nylas` executable and locates
the actual binary accordingly.
2016-03-02 17:47:47 -08:00
Evan Morikawa
50ca8136b7 fix(lint): fix linter error in search-match 2016-03-02 16:24:37 -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
Ben Gotow
338ef0d56e rename(specs): A few more task renames 2016-03-01 17:34:36 -08:00