Commit graph

2689 commits

Author SHA1 Message Date
Ben Gotow
f316c06f7a fix(specs): * 2016-04-08 16:03:21 -07:00
Juan Tejada
b10942a4b3 update(search): Add search usage reporting + other fixes
Summary:
- Converts SearchQuerySubscription to ES6 to fix method overriding for
  `removeCallback`
- Reports different usage metrics for search
- Removes unecessary data source listener iniside ThreadListStore:
  - This listener focused the first thread on the list, which is
  actually unwanted (#1461)
  - It prevented QuerySubscriptions from being disposed promptly because
  of the remaining listener. They qould only be disposed until the
  subscription triggered once, which is not actually desired behavior
  (e.g. for SearchQuerySubscription)

Test Plan: - Manual

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2864
2016-04-08 14:11:32 -07:00
Ben Gotow
c6e24ce948 fix(sync-errors): Improve display of sync errors and offline status
- Make the retry interval go 2 sec, 3.4s, 6 sec...
- Only show the connection status bar if the interval is > 5 seconds, in case the error was temporary.
- Do not show sync errors in the sidebar. The only available action is "Try Again", and we try again on our own. The error is frustrating and the user can't do anything about it anyway.
2016-04-08 13:52:26 -07:00
Drew Regitsky
2edc2e5c32 feat(auth): Provide reauth param to handle changed server endpoints
Summary:
Notify the backend when auth is a reauth of an existing account by
providing the `accountId`. This lets the backend differentiate between
a new auth (where a new account will be created if the server endpoints
don't match) and a re-auth (where the auth will fail on server endpoint
mismatch, prompting the user).

Test Plan: manual

Reviewers: juan, evan, bengotow

Reviewed By: bengotow

Subscribers: mg, spang, kav-ya

Differential Revision: https://phab.nylas.com/D2833
2016-04-08 12:00:03 -07:00
Juan Tejada
5d96fb227f feat(search-streaming): Add support for new search streaming api
Summary:
- This diff includes code to connect to the new search stremaming API. It converts the old NylasLongConnection into ES6 without any of the cursor management and includes it as part of NylasAPI
- Removes current search error handling because of the new error semantics of the api. If no results are returned a message will be displayed to the user indicating that
- WIP TODO:
  - Replace old NylasLongConnection class with new one and add test coverage.
  I did not replace our  current streaming code with the new ES6 code yet because
  the old code doesn't have test coverage and I don't want to introduce any
  (subtle) regressions to a vital piece of the app.
  - Potentially replace with JSONStreaming library or new http library
  (e.g. fetch)

- Note that Streaming API is not in production yet and only works for Gmail and IMAP (no EAS)

Test Plan: -TODO, manual

Reviewers: bengotow, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2859
2016-04-08 11:47:12 -07:00
Ben Gotow
3d00837c4a fix(autoscale): Apply vw when width and height are not present 2016-04-07 18:02:04 -07:00
Juan Tejada
d75e7e7fac fix(search): Escape single quotes correctly 2016-04-07 15:31:55 -07:00
Evan Morikawa
6bc42a10dc feat(scheduler): better time picker
fix(scheduler): time picker fixed
2016-04-07 15:14:33 -07:00
Jackie Luo
199a900ac1 🎨(preferences): Change spacing and button sizes 2016-04-07 14:32:51 -07:00
Ben Gotow
08792f00bd 💄(prefs): Shrink top tabs better, add min-widths 2016-04-07 14:14:20 -07:00
Ben Gotow
37add7741e bump(version): 0.4.22 2016-04-07 14:14:20 -07:00
Jackie Luo
fc2b178d6e 🎨(preferences): Adjust textbox styles for signatures and templates 2016-04-07 14:12:35 -07:00
Evan Morikawa
e61424b7a5 fix(tracking): uid uses draftClientId 2016-04-07 12:18:37 -07:00
Juan Tejada
76ccab606e fix(search): Escape search query properly 2016-04-07 09:57:53 -07:00
Juan Tejada
c0d9915318 fix(contact-sidebar): Don't render <select> when no contacts available 2016-04-07 09:57:53 -07:00
Juan Tejada
a2a3e8af3c feat(thread-search): Make thread search indexing smarter
Summary:
- When accounts change, make sure sync has completed, and only add or
remove threads from the index based on accounts that were added or
removed instead of rebuilding the entire index from scratch

- When thread is updated, make sure to only update the index for threads
that belong to accounts that are not currently in the sync process

- Add more logging and docs

Test Plan: TODO

Reviewers: evan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2852
2016-04-07 09:57:29 -07:00
Ben Gotow
ba0251fd7e lint(*): Fix linter errors from QA fixes 2016-04-06 16:15:46 -07:00
Ben Gotow
4329f53ce8 fix(fwd): Do not mention Bcc'd recipeints in forward headers #1873 2016-04-06 14:51:17 -07:00
Ben Gotow
15eafa7c55 fix(autolinker): Additional test case from #1863 2016-04-06 14:29:28 -07:00
Ben Gotow
f98fedadc0 fix(autolinker): Add test cases, .ly, url hash chars 2016-04-06 14:17:10 -07:00
Evan Morikawa
25b896ccbb fix(scheduler): can scheduler on 30 min intervals 2016-04-06 14:09:51 -07:00
Evan Morikawa
5311ab6b34 fix(scheduler): removes proposals from metadata when removing event
Also add <tbody> tags
2016-04-06 13:59:24 -07:00
Evan Morikawa
5140cf5f07 fix(scheduler): can remove proposed times 2016-04-06 13:59:24 -07:00
Evan Morikawa
0d4fe7e5e5 fix(scheduler): fix time bar scroll height 2016-04-06 13:59:24 -07:00
Evan Morikawa
0aa8aeb70f fix(calendar): today correctly jumps to this week 2016-04-06 13:59:24 -07:00
Evan Morikawa
6b2d820316 fix(scheduler): fix top banner 2016-04-06 13:59:24 -07:00
Ben Gotow
2226e85e65 fix(cc/bcc): Make targets bigger, wait longer before declaring focus left 2016-04-06 13:54:39 -07:00
Ben Gotow
db79e4d48a fix(composer): Do not steal focus when it is in other components
This is to fix a bug where changing the "from" address to an address with a different signature caused the composer to become focused, hiding the from field.
2016-04-06 13:54:39 -07:00
Jackie Luo
53fb45aec5 🎨(preferences): Update styling 2016-04-06 13:08:44 -07:00
Ben Gotow
5c2ee75026 fix(*): Minor CSS fixes, open tracking fix when only message is draft 2016-04-06 12:35:30 -07:00
Ben Gotow
5f044c22bc fix(error): Show actual API domain in connection error bar 2016-04-06 12:35:30 -07:00
Jackie Luo
2dbd1a0914 fix(composer-emoji): Fix tabs to scroll correctly 2016-04-06 12:06:27 -07:00
Evan Morikawa
7b3d773c84 fix(schedule): extracted to own SyncbackDraftEventsTask 2016-04-06 11:50:21 -07:00
Ben Gotow
0086142a88 bump(version): 0.4.21 beta 2016-04-05 19:17:13 -07:00
Ben Gotow
1476764d00 fix(mail-rules): Only process inbox, never skip threads
Summary:
- Disable processing button while already processing
- Only process mail in the inbox in bulk reprocess task
- Advance through mail using "after X" rather than "offset X", avoiding the issue where mail can be deleted as you're advancing.

Test Plan: Run existing tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2847
2016-04-05 19:16:58 -07:00
Ben Gotow
a84b95359c fix(db-spec): Accompanying spec changes 2016-04-05 19:03:47 -07:00
Evan Morikawa
9eea7f52b9 feat(scheduler): add new date & time picker
Summary: Adds a date and time picker to the new event creator

Test Plan: todo

Reviewers: bengotow, juan

Reviewed By: bengotow, juan

Differential Revision: https://phab.nylas.com/D2842
2016-04-05 18:42:19 -07:00
Ben Gotow
f6b24c77ce fix(db): Always refresh entire range after unknown changes
Summary: When changes can't be accurately applied to a result set, always refresh the entire range, not just the missing range. This ensures that additional changes being applied while our query is in flight can't cause the result set to include the same item twice.

Test Plan: Run tests

Reviewers: evan, juan

Reviewed By: juan

Differential Revision: https://phab.nylas.com/D2846
2016-04-05 18:32:38 -07:00
Juan Tejada
b03e560e30 fix(drag): Pass correct drag coordinates from event
- Don't use magic event variable without declaring it
2016-04-05 17:59:48 -07:00
Ben Gotow
b0768d337d perf(*): Make AccountStore / ContactRankingStore less noisy 2016-04-05 16:15:47 -07:00
Juan Tejada
d047cae9ba fix(scheduler): Fix moment-timezone require 2016-04-05 15:19:53 -07:00
Evan Morikawa
695c1e64f3 fix(scheduler): import from moment-timezone 2016-04-05 14:57:51 -07:00
Juan Tejada
a35d8605d2 fix(sync-status): Fix bug caught by specs 2016-04-05 14:53:37 -07:00
Juan Tejada
fc255873de fix(react): Fix several warnings in missing imports 2016-04-05 14:53:37 -07:00
Ben Gotow
afd8304359 fix(quoted-text): Correctly update container height 2016-04-05 14:27:54 -07:00
Ben Gotow
e58014a478 fix(collapsed-participants): Resize in correct scenarios 2016-04-05 14:16:24 -07:00
Juan Tejada
7d2bf7bed5 fix(sync-status): Actually fix sync status logic
- Must take into account that some accounts have `labels` and others
have `folders`
2016-04-05 14:04:10 -07:00
Jackie Luo
cef7809bd6 fix(theme-picker): Reformat invalid class names 2016-04-05 13:43:43 -07:00
Juan Tejada
eb1f9409ef fix(sync-status): Fix logic for checking sync status:
- Only check sync status keys that belong to actual models being synced
- Return false if state object is empty
2016-04-05 13:29:25 -07:00
Juan Tejada
79e15e8408 fix(thread-search): Correct typo 2016-04-05 13:29:25 -07:00