I've successfully installed the extension from https://github.com/aragon/metamask-plugin
When the Electron app is started I can see the MetaMask plugin loaded, but can't do much with it. There are some errors:
Uncaught TypeError: global._runtime.onConnect is not a function
at Object.connect (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:139)
at setupStreams (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:216)
at Object.<anonymous> (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:187)
at Object.3../lib/extension (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:265)
at s (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1)
at e (blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1)
at blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1
connect @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:139
setupStreams @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:216
(anonymous) @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:187
3../lib/extension @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:265
s @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1
e @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1
(anonymous) @ blob:file:///c13a5138-3758-47ae-a481-a163d7aa6a19:1
And
App.js:49 Uncaught TypeError: window._setupMetaMaskPageStream is not a function
at onMetaMaskLoad (http://localhost:1212/dist/renderer.dev.js:1081:14)
at onMetaMaskLoad (http://localhost:1212/dist/renderer.dev.js:19790:30)
at Object.ReactErrorUtils.invokeGuardedCallback (webpack:///./node_modules/react-dom/lib/ReactErrorUtils.js?:69:16)
at executeDispatch (webpack:///./node_modules/react-dom/lib/EventPluginUtils.js?:85:21)
at Object.executeDispatchesInOrder (webpack:///./node_modules/react-dom/lib/EventPluginUtils.js?:108:5)
at executeDispatchesAndRelease (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:43:22)
at executeDispatchesAndReleaseTopLevel (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:54:10)
at Array.forEach (native)
at forEachAccumulated (webpack:///./node_modules/react-dom/lib/forEachAccumulated.js?:24:9)
at Object.processEventQueue (webpack:///./node_modules/react-dom/lib/EventPluginHub.js?:254:7)
Both of those errors are function scope binding errors. The functions this.setupMetaMaskPageStream
and this._runtime.onConnect
are called from within the MetaMaskController from other functions, but they seem to be getting called without preserving the scope of the MetaMask controller, defaulting to the global context (hence window._setupMetaMaskPageStream
).
Without seeing your code, it's hard to know how you called these methods with the wrong context, but it probably involves the bind
or call
functions.