1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
Mark Stacey 7cd609b86b
Fix crash upon removing contact (#9031)
The UI would crash upon deleting a contact from the contact list. This
happened for two reasons: the deletion could result in a re-render
before the `history.push` finished navigating back to the contact list
(it was a race condition), and the contact entry left behind an invalid
`identities` entry when it was removed.

The first problem was fixed by making the container components for view
and edit contact more tolerant of being passed an `address` that
doesn't correspond to a contact. If they are given an address without a
contact, `null` is passed to the component via the `address` prop. The
component will redirect back to the list when this happens instead
rendering. This is more awkward than I'd like, but it was the most
sensible way of handling this I could think of without making much more
drastic changes to how we're handling routing here.

The second problem was caused by the `setAccountLabel` call, which was
used to ensure the contact entry for any wallet accounts was kept
in-sync with the account label. This was being called even for non-
wallet accounts though, which is where this problem arose. This step is
now skipped for non-wallet accounts.

Fixes #9019
2020-07-20 11:55:47 -03:00
.circleci Remove integration tests (#8959) 2020-07-10 12:22:36 -03:00
.github Update CODEOWNERS (#8600) 2020-05-15 15:33:28 -02:30
.storybook Extract Menu component from ConnectedAccountsListOptions (#8632) 2020-05-20 14:52:23 -03:00
app Initialize extra report property (#9033) 2020-07-17 20:31:18 -03:00
development Fix array-callback-return issues 2020-07-17 16:03:33 -02:30
docs fix-formatting-of-gif (#8767) 2020-06-08 23:07:22 +02:00
test Fix global-require issues (#8999) 2020-07-17 21:06:29 -02:30
ui Fix crash upon removing contact (#9031) 2020-07-20 11:55:47 -03:00
.editorconfig Clean EditorConfig file 2019-05-23 07:17:42 -02:30
.eslintignore Remove integration tests (#8959) 2020-07-10 12:22:36 -03:00
.eslintrc.js Fix global-require issues (#8999) 2020-07-17 21:06:29 -02:30
.gitattributes Suppress diffs for test/e2e/send-eth-with-private-key-test/*.js (#7767) 2020-01-08 13:02:16 -03:30
.gitignore Remove integration tests (#8959) 2020-07-10 12:22:36 -03:00
.nvmrc Bump Node version to 10.18 (#7925) 2020-01-29 13:36:10 -03:30
.stylelintignore Fix stylelint (#8169) 2020-07-14 16:12:53 -03:00
babel.config.js add support for nullish coalescing (#8935) 2020-07-07 15:15:04 -05:00
CHANGELOG.md Update changelog for 8.0.5 (#9022) 2020-07-17 12:42:51 -02:30
LICENSE License 2018-06-22 16:28:54 -04:00
MISSION.md Mission v2 2018-05-29 09:30:59 -07:00
nyc.config.js Add permissions controller unit tests (#7969) 2020-03-16 10:13:22 -07:00
package.json @metamask/inpage-provider@6.0.1 (#9003) 2020-07-15 12:34:08 -07:00
README.md Remove badges from README (#9015) 2020-07-16 11:06:02 -02:30
stylelint.config.js Uncomment and fix all auto-fixable stylelint rules (#8989) 2020-07-15 10:13:40 -03:00
USER_AGREEMENT.md fix tos link; 2018-07-12 16:24:13 -04:00
yarn.lock @metamask/inpage-provider@6.0.1 (#9003) 2020-07-15 12:34:08 -07:00

MetaMask Browser Extension

You can find the latest version of MetaMask on our official website. For help using MetaMask, visit our User Support Site.

MetaMask supports Firefox, Google Chrome, and Chromium-based browsers. We recommend using the latest available browser version.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 10
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
  • Install Yarn
  • Install dependencies: yarn
  • Build the project to the ./dist/ folder with yarn dist.
  • Optionally, to start a development build (e.g. with logging and file watching) run yarn start instead.
    • To start the React DevTools and Redux DevTools Extension alongside the app, use yarn start:dev.
      • React DevTools will open in a separate window; no browser extension is required
      • Redux DevTools will need to be installed as a browser extension. Open the Redux Remote Devtools to access Redux state logs. This can be done by either right clicking within the web browser to bring up the context menu, expanding the Redux DevTools panel and clicking Open Remote DevTools OR clicking the Redux DevTools extension icon and clicking Open Remote DevTools.
        • You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host localhost, port 8000, secure connection checkbox unchecked)

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.

Contributing

Running Tests

Run tests with yarn test.

You can also test with a continuously watching process, via yarn watch.

You can run the linter by itself with yarn lint.

Architecture

Architecture Diagram

Development

yarn
yarn start

Build for Publishing

yarn dist

Other Docs