1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-22 18:00:18 +01:00
🦊 Minimalized version of MetaMask for my own personal use.
Go to file
Mark Stacey 889ca62723
Use late-bound noop function when disabling console (#10110)
The `disable-console` script introduced in #10040 used an arrow-
function no-op function to replace `console.log` and `console.info`.
This replacement function was early-bound to the `this` context of the
`disable-console` script, because that's how arrow functions work.

This violates an assumption baked into Sentry, which also replaces the
`console` functions. It wraps them in a function it uses to track
console logs as breadcrumbs. This wrapper function blows up for some
reason if the "original" `console` function is early-bound to a `this`
value of `undefined`.

This resulted in various UI freezes. One example is during onboarding,
when using Firefox with Enhanced Tracking Protection set in "strict"
mode. After submitting a password in the 'Create wallet' flow, the
Sentry `console` wrapper would throw and leave the user stuck on the
loading screen.

By replacing the no-op arrow function with a no-op function
declaration, the problem has been resolved.

Relates to #10097
2020-12-19 16:58:49 -03:30
.circleci Cache dependencies (#10065) 2020-12-14 11:46:42 -03:30
.github @metamask/contract-metadata (#9968) 2020-12-01 14:55:01 -08:00
.storybook Update to @storybook/*@6 (#9956) 2020-11-30 16:40:46 -03:30
app Use late-bound noop function when disabling console (#10110) 2020-12-19 16:58:49 -03:30
development Disable console in contentscript (#10040) 2020-12-14 11:17:13 -08:00
docs remove matomo and route to segment (#9646) 2020-10-26 14:05:57 -05:00
shared Add web3 shim usage notification (#10039) 2020-12-10 15:40:29 -08:00
test Tighten up loading indication logic (#10103) 2020-12-17 21:34:43 -08:00
ui Remove unnecessary swaps footer space when in dropdown mode (#10100) 2020-12-18 09:58:42 -06:00
.editorconfig Clean EditorConfig file 2019-05-23 07:17:42 -02:30
.eslintrc.js Fix contentscript injection failure on Firefox 56 (#10034) 2020-12-10 14:03:04 -03:30
.gitattributes Use Infura v3 API (#9368) 2020-09-10 13:46:00 -02:30
.gitignore Remove coveralls (#10063) 2020-12-11 16:20:45 -03:30
.metamaskrc.dist add segment implementation of metametrics (#9382) 2020-09-14 12:04:05 -05:00
.nvmrc Bump Node version to 10.18 (#7925) 2020-01-29 13:36:10 -03:30
.prettierignore [RFC] add prettier to eslint (#8595) 2020-11-02 17:41:28 -06:00
.prettierrc.yml [RFC] add prettier to eslint (#8595) 2020-11-02 17:41:28 -06:00
babel.config.js Increase Chrome minimum version (#10019) 2020-12-10 01:59:47 -03:30
CHANGELOG.md Merge remote-tracking branch 'origin/develop' into sync-master 2020-12-15 19:40:19 -03:30
LICENSE Add new license (#9282) 2020-08-20 16:01:22 -07:00
nyc.config.js Add permissions controller unit tests (#7969) 2020-03-16 10:13:22 -07:00
package.json Update @metamask/controllers to v5.1.0 (#10096) 2020-12-17 12:06:29 -03:30
README.md add segment implementation of metametrics (#9382) 2020-09-14 12:04:05 -05:00
stylelint.config.js Move stylelint ignore patterns into config (#9391) 2020-09-10 14:30:30 -02:30
yarn.lock Bump @metamask/contract-metadata from 1.19.0 to 1.20.0 (#10104) 2020-12-18 10:14:48 -06: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
  • Copy the .metamaskrc.dist file to .metamaskrc
    • Replace the INFURA_PROJECT_ID value with your own personal Infura Project ID.
    • If debugging MetaMetrics, you'll need to add a value for SEGMENT_WRITE_KEY Segment write key.
  • 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