-
Notifications
You must be signed in to change notification settings - Fork 393
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
Versions that go bump in the night: Bump versions across a few different core dependencies #3415
Merged
Conversation
This file contains 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
Shadowfiend
force-pushed
the
versions-that-go-bump-in-the-night
branch
2 times, most recently
from
May 27, 2023 19:15
cc2fa26
to
50aee8d
Compare
Closed
10 tasks
jagodarybacka
added a commit
that referenced
this pull request
Jul 4, 2023
Resolves #3470 ### What Let's use Argon2 instead of PBKDF2 🔑 What was already done: - [x] added required packages - [x] configured webpack config to work with webAssembly following [example from the docs](https://github.com/antelle/argon2-browser/tree/master/examples/webpack) - [x] add necessary config to `content_security_policy` to allow webAssembly - without `'wasm-eval'` we are not able to use argon implementation in the extension - [x] migration from old vaults to new vaults - [x] handling errors during migration and allowing users to continue with old implementation if needed - [x] added one time analytics event after successful migration - [x] updated Jest to allow unit tests to work with WebAssembly, updated Typescript as this was necessary to make new version of Jest work correctly and fixed a bunch of Typescript issues - most fixes are copied from #3415 ### Testing - [x] test migration from main - install extension on `main`, add some HD wallets, checkout this branch, reload and unlock the wallet, make sure you don't see the error about failed migration in the background console, check if analytics event has been emitted, lock and unlock more than one time - [x] install extension on this branch, test locking and unlocking the wallet - [x] try to make webassembly part break (throw Error [here](https://github.com/tahowallet/extension/blob/migrate-to-argon/background/services/internal-signer/encryption.ts#L118)) and make sure user is able to continue with old vaults Latest build: [extension-builds-3502](https://github.com/tahowallet/extension/suites/14011994578/artifacts/782054890) (as of Sun, 02 Jul 2023 21:28:25 GMT).
1.9.4 brings a few useful things for forward dev: - Better typing. - The ability to customize the selector memoization config, including setting different equality semantics for inputs and outputs of selectors and a cache for inputs that is > 1. - An autoBatchEnhancer middleware that could be used to batch store updates in some cases. A few typing changes were needed; most notably, background async thunks are now correctly typed in the UI frontend, and the `BackgroundDispatch` type carries this information. To manage this, `createBackgroundAsyncThunk` sprouts some new return type configuration, which is then used to properly infer return types for these thunks when `useBackgroundDispatch` is invoked. Additionally, a few selectors had to be massaged to properly support the updated types from redux; they should behave effectively the same.
Some light typing tweaks were needed, but otherwise this was a clean upgrade with fairly minimal non-version-bump dependency changes to boot. The biggest one was a renaming of apollo-* packages to @apollo/.
Bumping to 6.x remains on the docket.
A few adjustments to test mocking had to be made due to the various version bumps, including forcing certain packages to skip the Jest transformation strategy due to using ESM.
A few of the underlying dependencies now require a Node engine in the 16 series that is above 16.10, and this bump feels safe. Bumping to the current LTS (18) needs to happen, but can wait.
Make one associated tweak to types in window-provider and one to ui/utils/swap as well.
Shadowfiend
force-pushed
the
versions-that-go-bump-in-the-night
branch
from
August 26, 2023 19:11
50aee8d
to
e28e336
Compare
Draft until thesis/eslint-config#11 and the next release of @typescript-eslint with support for TypeScript 5.2 (due at 1pm Eastern or so on August 28th) both land, after which we need:
|
This brings us to Prettier 3, and aligns the eslint parser to support latest TypeScript (including the `satisfies` keyword).
The main difference is the bump to prettier 3, which switches `trailingComma` to `all` by default. This hits on the order of 3000 lines by adding trailing commas to all function invocations and param lists.
Shadowfiend
force-pushed
the
versions-that-go-bump-in-the-night
branch
from
August 28, 2023 21:20
e28e336
to
0947b60
Compare
The first parameters were using an arrow function expression without braces, so the internal expression's return value was being used, and wasn't a cleanup function for useEffect. This commit should cover all misuses.
Merged
Shadowfiend
added a commit
that referenced
this pull request
Sep 2, 2023
## What's Changed * Create E2E tests for verified/unverified tokens by @michalinacienciala in #3472 * v0.47.0 by @Shadowfiend in #3601 * Versions that go bump in the night: Bump versions across a few different core dependencies by @Shadowfiend in #3415 **Full Changelog**: v0.47.0...v0.48.0 Latest build: [extension-builds-3610](https://github.com/tahowallet/extension/suites/15695499704/artifacts/896067135) (as of Thu, 31 Aug 2023 16:31:16 GMT).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This brings us up to latest Ethers 5-series, React, and @reduxjs/toolkit.
We'll eventually want to poke at Ethers 6, but that will have to wait as it has breaking API changes.
Most of the resulting code changes were typing-related, and the outcome here is real nice—background async thunks have fully functional typing!
Leaving this as draft until we're ready to test rather heavily for the release.
Latest build: extension-builds-3415 (as of Wed, 30 Aug 2023 15:18:14 GMT).