-
Notifications
You must be signed in to change notification settings - Fork 62
Wallet cache v2 phase 1: emit currency wallets before their engines exist #733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
j0ntz
wants to merge
37
commits into
master
Choose a base branch
from
jon/wallet-cache-v2
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
600301a
Add a versioned wallet UI-state cache file and Redux seeding action
j0ntz 5105dcc
Emit currency wallets before their engines exist
j0ntz ed985f4
Add deterministic tests for the wallet UI-state cache
j0ntz c09ac2c
Schedule cached wallets' engine startup behind a limited-concurrency …
j0ntz 0ad9cff
Keep the existing balanceMap when a balance report is unchanged
j0ntz 4783de3
Add deterministic engine-scheduler tests
j0ntz ff930d2
Seed the account boot state from a local cache
j0ntz 9d7718f
Drop the duplicate publicKey.json read in the queued engine block
j0ntz e849063
Add account-cache and bulk-seeding tests
j0ntz b89bb6c
Keep user changes over racing wallet file loads
j0ntz a857b19
Deliver account state to engines that start before it loads
j0ntz f4e14c5
Make storage sync wait for the storage wallet
j0ntz 6e27cf5
Wait for builtin tokens before filtering enabled token ids
j0ntz 5f3b860
Stop the deferred boot loads after a logout
j0ntz b4f6389
Reject a pending storage sync on logout or wallet deletion
j0ntz 71beb97
Reject repo waiters after a terminal boot-load failure
j0ntz 93ceb0c
Wait for plugin settings before writing them
j0ntz d7a0ed0
Reject a pending token toggle after a terminal boot failure
j0ntz dc1cb70
Wait for the wallet-state load before changing wallet states
j0ntz d8c48b2
Gate the account token saver on the custom-token load
j0ntz 7a80922
Keep user token edits per token id when a load races them
j0ntz 3bbc97f
Apply enabled-token changes as toggles over the loaded list
j0ntz e9027da
Track dirty plugin settings per plugin id
j0ntz 987632c
Wait for the engine in the account-level engine methods
j0ntz 9b4fe78
Watch currencyWalletIds in the account cache saver
j0ntz 1e2d480
Accept hash-suffixed store routes in the fake sync server
j0ntz 16ff1fe
Add write-path staleness tests
j0ntz 2ea1c01
Serve cached addresses before the engine on stable-address chains
j0ntz e1f7c42
Expose otherMethods as permanent delegating stubs
j0ntz f5f0e64
Cache config otherMethod names
j0ntz b034623
Add address and otherMethods cache tests
j0ntz bb3a169
Key the address cache by tokenId and rebuild stubs on growth
j0ntz eeabe43
Keep the live plugin surface for config otherMethods
j0ntz bf2bf4b
Harden the boot-retry and scheduler-timeout edge paths
j0ntz e3fab42
Serialize repo syncs per storage wallet
j0ntz 6f7c633
Add allowCached opt-in for provisional receive addresses
j0ntz c532ebe
Unwedge wallet pixies when the deferred account load fails
j0ntz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import { makeJsonFile } from '../../util/file-helpers' | ||
| import { asAccountCacheFile } from './account-cleaners' | ||
|
|
||
| /** | ||
| * Cached account boot state, stored on the account's local disklet. | ||
| * See `asAccountCacheFile` for the schema. | ||
| */ | ||
| export const ACCOUNT_CACHE_FILE = 'accountCache.json' | ||
| export const accountCacheFile = makeJsonFile(asAccountCacheFile) | ||
|
|
||
| /** | ||
| * Tuning for the account boot-state cache saver. | ||
| * Tests override the throttle to run quickly. | ||
| */ | ||
| export const accountCacheSaverConfig = { | ||
| throttleMs: 5000 | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.