Coder Social home page Coder Social logo

Comments (9)

smilefan1993 avatar smilefan1993 commented on July 26, 2024

Nvm, done changes in my project to handle this case

from react-web3.

coopermaruyama avatar coopermaruyama commented on July 26, 2024

Cool.

This library depends on web3 already being available on the window context, and I don't think it makes sense for it to choose a node/network for you.

from react-web3.

danfinlay avatar danfinlay commented on July 26, 2024

Hi, I'm Dan from MetaMask! I think this issue should be re-opened, and I'm willing to maybe make the change myself.

I think this is a great component, I actually use it in a small web dapp I made.

OP is correct here, there is a breaking change that this module should account for. The best article for detailing the difference is here.

The short of it

Although web3 may be available, when accounts are not available, you should call let accounts = await ethereum.enable() to ask the user to sign in. This is both an improved user experience (no more telling the user to unlock metamask, just show the prompt), and improves privacy, because it means MetaMask is no longer showing accounts to sites that don't get explicit permission.

I actually came here to fork and maybe just add this change myself, so in a way I'm just commenting here first to make sure you'd approve the change. We made this protocol change in tandem with Mist, Coinbase, Cipher, imToken, and every other web3 browser that participates in the EIP process, so this should be considered the new preferred sign-in UX.

from react-web3.

coopermaruyama avatar coopermaruyama commented on July 26, 2024

@danfinlay Thanks for your input! I would 100% approve that change if you were kind enough to add this. I will reopen the issue for this.

from react-web3.

danfinlay avatar danfinlay commented on July 26, 2024

Sorry, I got held up on some basic things in your build system:

Error in ./test/provider-styles.test.js

  Module parse failed: /Users/danfinlay/Documents/Development/ethereum/node_modules/react-web3/test/provider-styles.test.js Unexpected token (14:6)
  You may need an appropriate loader to handle this file type.
  |   it('should load default stylesheet', () => {
  |           const wrapper = mount(
  |             <Web3Provider>

Maybe there's a dev dependency missing?

from react-web3.

coopermaruyama avatar coopermaruyama commented on July 26, 2024

Was this when running npm test? My instinct tells me this is due to whatever bundler was involved (e.g. webpack) not recognizing JSX, most likely because the file is using .js extension rather than .jsx. In the webpack config that is included in this package, webpack is configured to parse JSX in both .js and .jsx files

from react-web3.

danfinlay avatar danfinlay commented on July 26, 2024

Was this when running npm test?
Yes.

In the webpack config that is included in this package, webpack is configured to parse JSX in both .js and .jsx files
Just weird b/c I do the same thing in other projects w/o this problem. I'll try to revisit later.

from react-web3.

danfinlay avatar danfinlay commented on July 26, 2024

My issue was that the file path included an underscore, and that apparently breaks babel-loader:
babel/babel-loader#173

from react-web3.

coopermaruyama avatar coopermaruyama commented on July 26, 2024

Wow weird. Never would’ve guessed. Thanks

from react-web3.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.