Summary:
We want users to know that their account is still syncing if they're
looking for a message and end up at the bottom of a thread list.
This diff changes some of the wording around the messaging when
sync isn't complete and also adds a footer at the bottom of the
syncing thread lists. Additionally, we added a "Show Progress"
link that will expand the sync details in the lower left.
Addresses T7354
Test Plan: tested locally
Reviewers: juan, evan, jackie
Reviewed By: jackie
Differential Revision: https://phab.nylas.com/D3551
Summary: Also move calculation to sync store, rename stuff a little bit
Test Plan: Manual :(
Reviewers: evan, jackie, halla
Reviewed By: jackie
Differential Revision: https://phab.nylas.com/D3547
Summary:
Depends on D3544 (K2 diff)
This commit ensures that auth notifications are showed when the
underlying sync worker fails and are cleared when an account is
successfully reconnected
To achieve this, we manually keep track and update syncStates where
appropriate via `Actions.updateAccount`, given that we have access to
N1's version of the account directly from local-sync.
Initially I was considering account delta stream to the cloud-api and the local-api, but that
just complicated things more than it helped.
This commit also fixes a bug with refreshing the gmail token in which we
we were only attempting a token refresh upon restarting the app
This addresses: T7346, T7305, T7335
Test Plan: Manual
Reviewers: halla, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3545
Summary:
Adds a UI component to see the progress of initial sync.
(The behavior is sometimes a little strange, but I believe this is
just because of weird behavior in the NylasSyncStatusStore itself.
For instance, it sometimes never populates the `folderSyncProgress`
fields, or it never sets the progress to 1, so the bar stops at 99%)
Test Plan: tested locally
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3536
Summary:
Addresses T7275
Previously, we kept track of the sync status of each API model, and the progress
we'd made syncing all available models (e.g. all threads, messages, events, etc)
Given K2's set up, we are now keeping track of sync status per folder, i.e. what
percent of the folder's messages we've synced. This status is now reported from K2
to N1 via folder object deltas, and this commit rewrites the
NylasSyncStatusStore (in ES6) to reflect that.
The new Store keeps the sync state per account, which is the merged state of
per folder sync state, and delta connections state.
We also got rid of `CategoryStore.whenCategoriesReady` in favor of
`whenCategoryListSynced`, which is derived from the fact hat as long as we've
started syncing one folder, we've already synced the entire list of of folders/labels.
There are a couple of TODOs to be addressed in upcoming diffs:
- T7329 Restore the sidebar component to show sync progress, which was previously removed
- T7330 Figure out how to report sync progress per label, specifically, we are interested in knowing how much of the inbox we've synced, which is a label in Gmail. (This might be a non-issue if we sync the inbox very fast, first)
Depends on D3514
Test Plan: Manual
Reviewers: mark, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D3515
- Threads: N1 always asks for the 'expanded' view, so K2 just always returns
the expanded view. N1 no longer needs to specify this.
- Messages: N1 only needed a 'count' view to display the initial sync progress
We've removed this progress bar and the corresponding request.
Switch from manually setting containerRequired to false on each individual
notification to setting it on the InjectedComponentSet within the
notifs-wrapper. This way, people adding new notifications don't need to
remember to manually set it themselves.
Summary: This will address the longstanding concern in #417
Test Plan: No new tests
Reviewers: juan, evan
Reviewed By: juan, evan
Maniphest Tasks: T7065
Differential Revision: https://phab.nylas.com/D3322
Summary:
Move the old bar notifications to the sidebar, and only display one notification
at a time using a priority-rating system. Remove all of the old notification
infrastructure.
Test Plan: Added specs, also reproduced notifications locally
Reviewers: bengotow
Reviewed By: bengotow
Subscribers: juan
Differential Revision: https://phab.nylas.com/D3310
Summary:
Add header to show how many trial days remain
More rendering out of Store, consolidate registry and store and expose via new serviceRegistry
WIP
Merge branch 'master' into hallamoore/feature-walkthrough-tutorial
Switch to using observable instead of AbortablePromise
Update submodule
WIP
WIP
Remove annotations
Remove changes
WIP
Test Plan: No tests
Reviewers: evan, juan
Reviewed By: juan
Differential Revision: https://phab.nylas.com/D3260
commit 50d0cfb87c
Author: Ben Gotow <bengotow@gmail.com>
Date: Fri May 27 14:01:49 2016 -0700
IdentityStore conveniene methods for subscription state
commit 80c3c7b956
Author: Ben Gotow <bengotow@gmail.com>
Date: Fri May 27 12:03:53 2016 -0700
Periodically refresh identity, show expired notice in top bar
commit 5dc39efe98
Merge: 4c4f463906ea74
Author: Juan Tejada <juans.tejada@gmail.com>
Date: Thu May 26 15:17:46 2016 -0700
Merge branch 'bengotow/n1-pro' of github.com:nylas/N1 into bengotow/n1-pro
commit 4c4f463f4b
Author: Juan Tejada <juans.tejada@gmail.com>
Date: Thu May 26 15:16:48 2016 -0700
Hijack links inside email that go to billing site and add SSO to them
commit 906ea74807
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu May 26 12:02:29 2016 -0700
Add custom welcome page for upgrading users
commit 2ba9aedfe9
Author: Juan Tejada <juans.tejada@gmail.com>
Date: Wed May 25 17:27:12 2016 -0700
Add styling to Subscription tab in prefs
commit 384433a338
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 16:21:18 2016 -0700
Add better style reset, more IdentityStore changes
commit c4f9dfb4e4
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 15:29:41 2016 -0700
Add subscription tab
commit bd4c25405a
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 14:18:40 2016 -0700
Point to billing-staging for now
commit 578e808bfc
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 13:30:13 2016 -0700
Rename account helpers > onboarding helpers
commit dfea0a9861
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 13:26:46 2016 -0700
A few minor fixes
commit 7110217fd4
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 12:58:21 2016 -0700
feat(onboarding): Nylas Pro onboarding overhaul
Summary:
Rip out all invite-related code
Enable Templates and Translate by default
Scrub packages page, unused code in onboarding pkg
Remove resizing
New onboarding screens
IMAP provider list, validation
Call success with response object as well
Renaming and tweaks
Test Plan: No tests yet
Reviewers: evan, juan, jackie
Differential Revision: https://phab.nylas.com/D2985
commit dc9ea45ca9
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 12:52:39 2016 -0700
Renaming and tweaks
commit 5ca4cd31ce
Author: Ben Gotow <bengotow@gmail.com>
Date: Wed May 25 11:03:57 2016 -0700
Call success with response object as well
commit 45f14f9b00
Author: Ben Gotow <bengotow@gmail.com>
Date: Tue May 24 18:26:38 2016 -0700
IMAP provider list, validation
commit c6ca124e6e
Author: Ben Gotow <bengotow@gmail.com>
Date: Sat May 21 11:14:44 2016 -0700
New onboarding screens
commit dad918d926
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu May 19 16:37:31 2016 -0700
Remove resizing
commit ecb1a569e2
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu May 19 16:36:04 2016 -0700
Scrub packages page, unused code in onboarding pkg
commit 3e0a44156c
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu May 19 16:33:12 2016 -0700
Enable Templates and Translate by default
commit 0d218bc86f
Author: Ben Gotow <bengotow@gmail.com>
Date: Thu May 19 16:30:47 2016 -0700
Rip out all invite-related code
- 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.
Summary:
The TaskQueue does it's own throttling and has it's own processQueue retry timeout, no need for longPollConnected
Remove dead code (OfflineError)
Rename long connection state to status so we don't ask for `state.state`
Remove long poll actions related to online/offline in favor of exposing connection state through NylasSyncStatusStore
Consoliate notifications and account-error-heaer into a single package and organize files into sidebar vs. header.
Update the DeveloperBarStore to query the sync status store for long poll statuses
Test Plan: All existing tests pass
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2835
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
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
Summary:
- WIP: Need to fix tests and some errors!
- Refactors Category class to hold information about its type
- Refactors CategoryStore to rely on observables instead of local caches
- Adds and updates Observables and helpers
- Refactors ContactStore to hold entire cache of contacts instead of per
current account
- Same for ContactRankingStore and other stores
- Refactors method names for AccountStore + some helpers
- Updates MailViewFilter to hold an account
- Adds basic Unified filter
- Replaces AccountStore.current calls with either:
- The account of the currently focused MailViewFilter
- The account associated with a thread, message, file, etc...
- A parameter to be passed in
- Arbitrarily, the first account in the AccountsStore
Test Plan: - Unit tests
Reviewers: evan, bengotow
Differential Revision: https://phab.nylas.com/D2423
Summary:
Originally, this was going to be a totally independent package, but
I wasn't able to isolate the functionality and get it tied in to
the delta-stream consumption. Here's how it currently works:
- The preferences package has a new tab which allows you to edit
mail filters. Filters are saved in a new core store, and a new
stock component (ScenarioEditor) renders the editor. The editor
takes a set of templates that define a value space, and outputs
a valid set of values.
- A new MailFilterProcessor takes messages and creates tasks to
apply the actions from the MailFiltersStore.
- The worker-sync package now uses the MailFilterProcessor to
apply filters /before/ it calls didPassivelyReceiveNewModels,
so filtrs are applied before any notifications are created.
- A new task, ReprocessMailFiltersTask allows you to run filters
on all of your existing mail. It leverages the existing TaskQueue
architecture to: a) resume where it left off if you quit midway,
b) be queryable (for status) from all windows and c) cancelable.
The TaskQueue is a bit strange because it runs performLocal and
performRemote very differently, and I had to use `performRemote`.
(todo refactor soon.)
This diff also changes the EditableList a bit to behave like a
controlled component and render focused / unfocused states.
Test Plan: Run tests, only for actual filter processing atm.
Reviewers: juan, evan
Reviewed By: evan
Differential Revision: https://phab.nylas.com/D2379
Summary:
Add concept of "final" to Query, clean up internals
Tiny bug fixes
RxJs Observables!
WIP
Test Plan: Run tests
Reviewers: evan, juan
Reviewed By: juan
Differential Revision: https://phab.nylas.com/D2319