etherwallet
etherwallet copied to clipboard
Issue with Firefox 57 with U2F enabled
With Firefox 57.0b8, if I have security.webauth.u2f
enabled under about:config
, MyEtherWallet site fails to load with the following error in the log:
TypeError: setting getter-only property "u2f"
[Learn More]
etherwallet-master.js:5792:3
Error: [$injector:modulerr] Failed to instantiate module mewApp due to:
[$injector:nomod] Module 'mewApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.6.5/$injector/nomod?p0=mewApp
minErr/<@https://www.myetherwallet.com/js/etherwallet-master.js:31590:14
module/<@https://www.myetherwallet.com/js/etherwallet-master.js:33722:19
ensure@https://www.myetherwallet.com/js/etherwallet-master.js:33643:40
module@https://www.myetherwallet.com/js/etherwallet-master.js:33720:16
loadModules/<@https://www.myetherwallet.com/js/etherwallet-master.js:36339:24
forEach@https://www.myetherwallet.com/js/etherwallet-master.js:31884:13
loadModules@https://www.myetherwallet.com/js/etherwallet-master.js:36323:7
createInjector@https://www.myetherwallet.com/js/etherwallet-master.js:36239:21
doBootstrap@https://www.myetherwallet.com/js/etherwallet-master.js:33378:22
bootstrap@https://www.myetherwallet.com/js/etherwallet-master.js:33397:14
angularInit@https://www.myetherwallet.com/js/etherwallet-master.js:33287:7
[131]</</<@https://www.myetherwallet.com/js/etherwallet-master.js:64666:5
trigger@https://www.myetherwallet.com/js/etherwallet-master.js:34874:7
http://errors.angularjs.org/1.6.5/$injector/modulerr?p0=mewApp&p1=%5B%24injector%3Anomod%5D%20Module%20'mewApp'%20is%20not%20available!%20You%20either%20misspelled%20the%20module%20name%20or%20forgot%20to%20load%20it.%20If%20registering%20a%20module%20ensure%20that%20you%20specify%20the%20dependencies%20as%20the%20second%20argument.%0Ahttp%3A%2F%2Ferrors.angularjs.org%2F1.6.5%2F%24injector%2Fnomod%3Fp0%3DmewApp%0AminErr%2F%3C%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A31590%3A14%0Amodule%2F%3C%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33722%3A19%0Aensure%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33643%3A40%0Amodule%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33720%3A16%0AloadModules%2F%3C%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A36339%3A24%0AforEach%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A31884%3A13%0AloadModules%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A36323%3A7%0AcreateInjector%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A36239%3A21%0AdoBootstrap%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33378%3A22%0Abootstrap%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33397%3A14%0AangularInit%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33287%3A7%0A%5B131%5D%3C%2F%3C%2F%3C%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A64666%3A5%0Atrigger%40https%3A%2F%2Fwww.myetherwallet.com%2Fjs%2Fetherwallet-master.js%3A34874%3A7%0A
etherwallet-master.js:31590:14
I knew MyEtherWallet didn’t load in my Firefox, but I didn’t know why—never thought to check the logs. Same problem here, Firefox 57.0b13 with U2F support enabled (which seems necessary to use the Ledger Nano S).
Issue still not fixed in current MEW v3.10.6.0.
Same issue here with Firefox 58.0b1 and U2F enabled.
Just updated to Fx 57 Final, and with U2F enabled also suffering from the same problem.
Confirming this:
TypeError: setting getter-only property "u2f"
[Learn More]
etherwallet-master.js:6890:3
[58]<
https://myetherwallet.com/js/etherwallet-master.js:6890:3
s
https://myetherwallet.com/js/etherwallet-master.js:1:246
e
https://myetherwallet.com/js/etherwallet-master.js:1:425
<anonymous>
https://myetherwallet.com/js/etherwallet-master.js:1:11
Error: [$injector:modulerr] Failed to instantiate module mewApp due to:
[$injector:nomod] Module 'mewApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.6.5/$injector/nomod?p0=mewApp
minErr/<@https://myetherwallet.com/js/etherwallet-master.js:33845:14
module/<@https://myetherwallet.com/js/etherwallet-master.js:35977:19
ensure@https://myetherwallet.com/js/etherwallet-master.js:35898:40
module@https://myetherwallet.com/js/etherwallet-master.js:35975:16
loadModules/<@https://myetherwallet.com/js/etherwallet-master.js:38594:24
forEach@https://myetherwallet.com/js/etherwallet-master.js:34139:13
loadModules@https://myetherwallet.com/js/etherwallet-master.js:38578:7
createInjector@https://myetherwallet.com/js/etherwallet-master.js:38494:21
doBootstrap@https://myetherwallet.com/js/etherwallet-master.js:35633:22
bootstrap@https://myetherwallet.com/js/etherwallet-master.js:35652:14
angularInit@https://myetherwallet.com/js/etherwallet-master.js:35542:7
[135]</</<@https://myetherwallet.com/js/etherwallet-master.js:66921:5
trigger@https://myetherwallet.com/js/etherwallet-master.js:37129:7
http://errors.angularjs.org/1.6.5/$injector/modulerr?p0=mewApp&p1=%5B%24injector%3Anomod%5D%20Module%20'mewApp'%20is%20not%20available!%20You%20either%20misspelled%20the%20module%20name%20or%20forgot%20to%20load%20it.%20If%20registering%20a%20module%20ensure%20that%20you%20specify%20the%20dependencies%20as%20the%20second%20argument.%0Ahttp%3A%2F%2Ferrors.angularjs.org%2F1.6.5%2F%24injector%2Fnomod%3Fp0%3DmewApp%0AminErr%2F%3C%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A33845%3A14%0Amodule%2F%3C%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35977%3A19%0Aensure%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35898%3A40%0Amodule%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35975%3A16%0AloadModules%2F%3C%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A38594%3A24%0AforEach%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A34139%3A13%0AloadModules%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A38578%3A7%0AcreateInjector%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A38494%3A21%0AdoBootstrap%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35633%3A22%0Abootstrap%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35652%3A14%0AangularInit%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A35542%3A7%0A%5B135%5D%3C%2F%3C%2F%3C%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A66921%3A5%0Atrigger%40https%3A%2F%2Fmyetherwallet.com%2Fjs%2Fetherwallet-master.js%3A37129%3A7%0A
etherwallet-master.js:33845:14
minErr/<
https://myetherwallet.com/js/etherwallet-master.js:33845:14
loadModules/<
https://myetherwallet.com/js/etherwallet-master.js:38618:17
forEach
https://myetherwallet.com/js/etherwallet-master.js:34139:13
loadModules
https://myetherwallet.com/js/etherwallet-master.js:38578:7
createInjector
https://myetherwallet.com/js/etherwallet-master.js:38494:21
doBootstrap
https://myetherwallet.com/js/etherwallet-master.js:35633:22
bootstrap
https://myetherwallet.com/js/etherwallet-master.js:35652:14
angularInit
https://myetherwallet.com/js/etherwallet-master.js:35542:7
[135]</</<
https://myetherwallet.com/js/etherwallet-master.js:66921:5
trigger
https://myetherwallet.com/js/etherwallet-master.js:37129:7
Same issue here with latest Firefox 57 & Windows 10
TypeError: setting getter-only property "u2f"
etherwallet-master.js:7000:3
Error: [$injector:modulerr] Failed to instantiate module mewApp due to:
[$injector:nomod] Module 'mewApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.6.5/$injector/nomod?p0=mewApp
minErr/<@https://www.myetherwallet.com/js/etherwallet-master.js:27184:14
module/<@https://www.myetherwallet.com/js/etherwallet-master.js:29316:19
ensure@https://www.myetherwallet.com/js/etherwallet-master.js:29237:40
module@https://www.myetherwallet.com/js/etherwallet-master.js:29314:16
loadModules/<@https://www.myetherwallet.com/js/etherwallet-master.js:31933:24
forEach@https://www.myetherwallet.com/js/etherwallet-master.js:27478:13
loadModules@https://www.myetherwallet.com/js/etherwallet-master.js:31917:7
createInjector@https://www.myetherwallet.com/js/etherwallet-master.js:31833:21
doBootstrap@https://www.myetherwallet.com/js/etherwallet-master.js:28972:22
bootstrap@https://www.myetherwallet.com/js/etherwallet-master.js:28991:14
angularInit@https://www.myetherwallet.com/js/etherwallet-master.js:28881:7
[136]</</<@https://www.myetherwallet.com/js/etherwallet-master.js:60260:5
trigger@https://www.myetherwallet.com/js/etherwallet-master.js:30468:7
Alright.
Firefox doesn't like line 67 in main.js:
window.u2f = u2f;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only
However, removing that line does not make it work in FF, and it breaks it in Chrome.
Clicking connect to Ledger does nothing. Clicking connect a second time throws:
Exception {
name: "NS_ERROR_FAILURE"
message: ""
result: 2147500037
filename: "https://www.myetherwallet.com/js/etherwallet-master.js"
lineNumber: 10539
columnNumber: 0
data: null
stack: "[89]</</Ledger3.prototype.exchange@https://www.myetherwallet.com/js/etherwallet-master.js:10539:2
\n[88]</</LedgerEth.prototype.getAddress@https://www.myetherwallet.com/js/etherwallet-master.js:10335:2
\n decryptWalletCtrl/$scope.scanLedger@https://www.myetherwallet.com/js/etherwallet-master.js:1691:9
\n fn@https://www.myetherwallet.com/js/etherwallet-master.js line 59476 > Function:4:147
\n callback@https://www.myetherwallet.com/js/etherwallet-master.js:71261:17
\n $eval@https://www.myetherwallet.com/js/etherwallet-master.js:62348:16
\n $apply@https://www.myetherwallet.com/js/etherwallet-master.js:62448:20
\n ngEventHandler/<@https://www.myetherwallet.com/js/etherwallet-master.js:71266:17
\n defaultHandlerWrapper@https://www.myetherwallet.com/js/etherwallet-master.js:47747:3
\n eventHandler@https://www.myetherwallet.com/js/etherwallet-master.js:47735:9\n"
}
This is a generic error message with no documented meaning. It seems to occur when people are doing weird things like creating and loading iframes via AJAX, make synchronous json calls when they aren't allowed, etc. So obviously it doesn't like the back and forth with ledger still
Integrating with FIDO U2F v1.1 JS API will allow a developer’s web app to support U2F on Firefox. That said, it’s important to understand that every FIDO U2F implementation can vary from the official specifications. For example, Mozilla did not fully implement the FIDO AppID and Facet Specification. Some sites supporting FIDO U2F have made accommodations for the incompleteness of Firefox’s implementation, but some have not.
https://www.yubico.com/2017/11/how-to-navigate-fido-u2f-in-firefox-quantum/
https://github.com/prefiks/u2f4moz/issues/59
https://twitter.com/jamespugjones/status/912314952232267777
https://twitter.com/jamespugjones/status/912315652072812544
https://www.w3.org/TR/webauthn/
Hey, @tayvano! Just wanted to let you know I stumbled over this ticket when the u2f integration in Nextcloud stopped working (same issue on FF) and the solution for us was to replace the u2f JavaScript lib: https://github.com/nextcloud/twofactor_u2f/pull/74
Hope that helps!
Holy crap you just blew my mind. I was just digging thru your codebase and that npm package
Thanks for the tip. 💖 💖 💖
update npm package for reference so i can stop clicking in circles: https://www.npmjs.com/package/u2f-api
Hey! This issue’s been open for 2 months and nobody from MEW has been assigned to it yet. Does anyone know if they’re aware of the issue or not?
I think they are aware of it: https://www.reddit.com/r/MyEtherWallet/comments/7cuz45/issue_with_firefox_57_with_u2f_enabled/
Tried using MEW with my Nano S yesterday, and came up with this exact problem. Merry Christmas & Happy New Year MEW.
The entire site doesn't work, nano s or none if visited on firefox with u2f enabled. I have to use chrome to visit MEW for this reason. Basically Firefox is now incompatible with MEW.
Same here, I thought it was due to the firefox version... but obviously it's not. Disabling u2f allows me to access MEW without issues.