Bug during developing App

safe-browser
#1

I am developing an message app in Electron-react boiler plate in safe network…But After authentication An error is shown in my Safe browser that is stated below

Uncaught Error: Cannot find module ‘connected-react-router’
at Module._resolveFilename (module.js:543:15)

In My Electron App it is working fine…

What should I do?

1 Like
#2

Does your app need: connected-react-router as a dependency?

Does the error in the safe browser state where this is occurring?

2 Likes
#3

Yes my app app need: connected-react-router as a dependency.
It is occuring in Module.js…
Another Error is occuring renderer.dev.dll.js file is NOT FINDING in safe browser…

1 Like
#4

Can you please share the full error for that, and where you’re seeing it.

Also, info such as platform + version / browser version would be great to know, thanks!

4 Likes
#5

@joshuef Thank you for your Time.
This is my package.json

Blockquote
{
“name”: “electron-react-boilerplate”,
“productName”: “ElectronReact”,
“version”: “0.17.1”,
“description”: “Electron application boilerplate based on React, React Router, Webpack, React Hot Loader for rapid application development”,
“scripts”: {
“build”: “concurrently “yarn build-main” “yarn build-renderer””,
“build-dll”: “cross-env NODE_ENV=development webpack --config ./configs/webpack.config.renderer.dev.dll.babel.js --colors”,
“build-e2e”: “cross-env E2E_BUILD=true yarn build”,
“build-main”: “cross-env NODE_ENV=production webpack --config ./configs/webpack.config.main.prod.babel.js --colors”,
“build-renderer”: “cross-env NODE_ENV=production webpack --config ./configs/webpack.config.renderer.prod.babel.js --colors”,
“dev”: “cross-env START_HOT=1 node -r @babel/register ./internals/scripts/CheckPortInUse.js && cross-env START_HOT=1 yarn start-renderer-dev”,
“flow”: “flow”,
“flow-typed”: “rimraf flow-typed/npm && flow-typed install --overwrite || true”,
“lint”: “cross-env NODE_ENV=development eslint --cache --format=pretty .”,
“lint-fix”: “yarn --silent lint --fix; exit 0”,
“lint-styles”: “stylelint --ignore-path .eslintignore ‘/.(css|scss)’ --syntax scss",
“lint-styles-fix”: “yarn --silent lint-styles --fix; exit 0”,
“package”: “yarn build && electron-builder build --publish never”,
“package-all”: “yarn build && electron-builder build -mwl”,
“package-ci”: “yarn postinstall && yarn build && electron-builder --publish always”,
“package-linux”: “yarn build && electron-builder build --linux”,
“package-win”: “yarn build && electron-builder build --win --x64”,
“postinstall”: “yarn flow-typed && electron-builder install-app-deps package.json && yarn build-dll && opencollective-postinstall”,
“postlint-fix”: "prettier --ignore-path .eslintignore --single-quote --write '
/.{js,jsx,json,html,css,less,scss,yml}’",
“postlint-styles-fix”: "prettier --ignore-path .eslintignore --single-quote --write '**/
.{css,scss}’”,
“preinstall”: “node ./internals/scripts/CheckYarn.js”,
“prestart”: “yarn build”,
“start”: “cross-env NODE_ENV=production electron ./app/main.prod.js”,
“start-main-dev”: “cross-env HOT=1 NODE_ENV=development electron -r @babel/register ./app/main.dev.js”,
“start-renderer-dev”: “cross-env NODE_ENV=development webpack-dev-server --config configs/webpack.config.renderer.dev.babel.js”,
“test”: “cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 jest”,
“test-all”: “yarn lint && yarn flow && yarn build && yarn test && yarn build-e2e && yarn test-e2e”,
“test-e2e”: “node -r @babel/register ./internals/scripts/CheckBuiltsExist.js && cross-env NODE_ENV=test testcafe electron:./ ./test/e2e/HomePage.e2e.js”,
“test-e2e-live”: “node -r @babel/register ./internals/scripts/CheckBuiltsExist.js && cross-env NODE_ENV=test testcafe-live electron:./ ./test/e2e/HomePage.e2e.js”,
“test-watch”: “yarn test --watch”
},
“lint-staged”: {
.{js,jsx}": [
“cross-env NODE_ENV=development eslint --cache --format=pretty”,
“git add”
],
"{
.json,.{babelrc,eslintrc,prettierrc,stylelintrc}}”: [
“prettier --ignore-path .eslintignore --parser json --write”,
“git add”
],
.{css,scss}": [
“stylelint --ignore-path .eslintignore --syntax scss --fix”,
“prettier --ignore-path .eslintignore --single-quote --write”,
“git add”
],
"
.{html,md,yml}”: [
“prettier --ignore-path .eslintignore --single-quote --write”,
“git add”
]
},
“main”: “./app/main.prod.js”,
“build”: {
“productName”: “ElectronReact”,
“appId”: “org.develar.ElectronReact”,
“files”: [
“app/dist/”,
“app/app.html”,
“app/main.prod.js”,
“app/main.prod.js.map”,
“package.json”
],
“dmg”: {
“contents”: [
{
“x”: 130,
“y”: 220
},
{
“x”: 410,
“y”: 220,
“type”: “link”,
“path”: “/Applications”
}
]
},
“win”: {
“target”: [
“nsis”,
“msi”
]
},
“linux”: {
“target”: [
“deb”,
“rpm”,
“snap”,
“AppImage”
],
“category”: “Development”
},
“directories”: {
“buildResources”: “resources”,
“output”: “release”
},
“publish”: {
“provider”: “github”,
“owner”: “electron-react-boilerplate”,
“repo”: “electron-react-boilerplate”,
“private”: false
}
},
“repository”: {
“type”: “git”,
“url”: “git+https://github.com/electron-react-boilerplate/electron-react-boilerplate.git”
},
“author”: {
“name”: “Electron React Boilerplate Maintainers”,
“email”: "electronreactboilerplate@gmail.com",
“url”: “https://electron-react-boilerplate.js.org
},
“contributors”: [
{
“name”: “Vikram Rangaraj”,
“email”: "vikr01@icloud.com",
“url”: “https://github.com/vikr01
},
{
“name”: “Amila Welihinda”,
“email”: "amilajack@gmail.com",
“url”: “https://github.com/amilajack
}
],
“license”: “MIT”,
“bugs”: {
“url”: “https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues
},
“keywords”: [
“electron”,
“boilerplate”,
“react”,
“redux”,
“flow”,
“sass”,
“webpack”,
“hot”,
“reload”
],
“homepage”: “https://github.com/electron-react-boilerplate/electron-react-boilerplate#readme”,
“jest”: {
“testURL”: “http://localhost/”,
“moduleNameMapper”: {
“\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)": "<rootDir>/internals/mocks/fileMock.js", "\\.(css|less|sass|scss)”: “identity-obj-proxy”
},
“moduleFileExtensions”: [
“js”,
“jsx”,
“json”
],
“transform”: {
“^.+\.jsx?$”: “babel-jest”
},
“setupFiles”: [
“./internals/scripts/CheckBuiltsExist.js”
]
},
“devDependencies”: {
@babel/core”: “^7.4.0”,
@babel/plugin-proposal-class-properties”: “^7.4.0”,
@babel/plugin-proposal-decorators”: “^7.4.0”,
@babel/plugin-proposal-do-expressions”: “^7.2.0”,
@babel/plugin-proposal-export-default-from”: “^7.2.0”,
@babel/plugin-proposal-export-namespace-from”: “^7.2.0”,
@babel/plugin-proposal-function-bind”: “^7.2.0”,
@babel/plugin-proposal-function-sent”: “^7.2.0”,
@babel/plugin-proposal-json-strings”: “^7.2.0”,
@babel/plugin-proposal-logical-assignment-operators”: “^7.2.0”,
@babel/plugin-proposal-nullish-coalescing-operator”: “^7.2.0”,
@babel/plugin-proposal-numeric-separator”: “^7.2.0”,
@babel/plugin-proposal-optional-chaining”: “^7.2.0”,
@babel/plugin-proposal-pipeline-operator”: “^7.3.2”,
@babel/plugin-proposal-throw-expressions”: “^7.2.0”,
@babel/plugin-syntax-dynamic-import”: “^7.2.0”,
@babel/plugin-syntax-import-meta”: “^7.2.0”,
@babel/plugin-transform-react-constant-elements”: “^7.2.0”,
@babel/plugin-transform-react-inline-elements”: “^7.2.0”,
@babel/preset-env”: “^7.4.2”,
@babel/preset-flow”: “^7.0.0”,
@babel/preset-react”: “^7.0.0”,
@babel/register”: “^7.4.0”,
“babel-core”: “7.0.0-bridge.0”,
“babel-eslint”: “^10.0.1”,
“babel-jest”: “^24.5.0”,
“babel-loader”: “^8.0.5”,
“babel-plugin-dev-expression”: “^0.2.1”,
“babel-plugin-transform-react-remove-prop-types”: “^0.4.24”,
“chalk”: “^2.4.2”,
“concurrently”: “^4.1.0”,
“cross-env”: “^5.2.0”,
“cross-spawn”: “^6.0.5”,
“css-loader”: “^2.1.1”,
“detect-port”: “^1.3.0”,
“electron”: “^4.1.3”,
“electron-builder”: “^20.39.0”,
“electron-devtools-installer”: “^2.2.4”,
“enzyme”: “^3.9.0”,
“enzyme-adapter-react-16”: “^1.11.2”,
“enzyme-to-json”: “^3.3.5”,
“eslint”: “^5.16.0”,
“eslint-config-airbnb”: “^17.1.0”,
“eslint-config-erb”: “^0.0.2”,
“eslint-config-prettier”: “^4.1.0”,
“eslint-formatter-pretty”: “^2.1.1”,
“eslint-import-resolver-webpack”: “^0.11.0”,
“eslint-plugin-compat”: “^3.1.0”,
“eslint-plugin-flowtype”: “^3.4.2”,
“eslint-plugin-import”: “^2.16.0”,
“eslint-plugin-jest”: “^22.4.1”,
“eslint-plugin-jsx-a11y”: “6.2.1”,
“eslint-plugin-prettier”: “^3.0.1”,
“eslint-plugin-promise”: “^4.1.1”,
“eslint-plugin-react”: “^7.12.4”,
“eslint-plugin-testcafe”: “^0.2.1”,
“fbjs-scripts”: “^1.2.0”,
“file-loader”: “^3.0.1”,
“flow-bin”: “^0.95.1”,
“flow-runtime”: “^0.17.0”,
“flow-typed”: “^2.5.1”,
“husky”: “^1.3.1”,
“identity-obj-proxy”: “^3.0.0”,
“jest”: “^24.5.0”,
“lint-staged”: “^8.1.5”,
“mini-css-extract-plugin”: “^0.5.0”,
“node-sass”: “^4.11.0”,
“opencollective-postinstall”: “^2.0.2”,
“optimize-css-assets-webpack-plugin”: “^5.0.1”,
“prettier”: “^1.16.4”,
“react-test-renderer”: “^16.8.6”,
“redux-logger”: “^3.0.6”,
“rimraf”: “^2.6.3”,
“sass-loader”: “^7.1.0”,
“sinon”: “^7.3.1”,
“spectron”: “^5.0.0”,
“style-loader”: “^0.23.1”,
“stylelint”: “^9.10.1”,
“stylelint-config-prettier”: “^5.0.0”,
“stylelint-config-standard”: “^18.2.0”,
“terser-webpack-plugin”: “^1.2.3”,
“testcafe”: “^1.1.0”,
“testcafe-browser-provider-electron”: “^0.0.8”,
“testcafe-live”: “^0.1.4”,
“testcafe-react-selectors”: “^3.1.0”,
“url-loader”: “^1.1.2”,
“webpack”: “^4.29.6”,
“webpack-bundle-analyzer”: “^3.1.0”,
“webpack-cli”: “^3.3.0”,
“webpack-dev-server”: “^3.2.1”,
“webpack-merge”: “^4.2.1”,
“yarn”: “^1.15.2”
},
“dependencies”: {
@fortawesome/fontawesome-free”: “^5.8.1”,
@maidsafe/safe-node-app”: “^0.11.0”,
“connected-react-router”: “^6.3.2”,
“core-js”: “2”,
“devtron”: “^1.4.0”,
“electron-debug”: “^2.1.0”,
“electron-log”: “^3.0.4”,
“electron-updater”: “^4.0.6”,
“history”: “^4.9.0”,
“react”: “^16.8.6”,
“react-dom”: “^16.8.6”,
“react-hot-loader”: “^4.8.2”,
“react-redux”: “^6.0.1”,
“react-router”: “^5.0.0”,
“react-router-dom”: “^5.0.0”,
“redux”: “^4.0.1”,
“redux-thunk”: “^2.3.0”,
“semantic-ui-css”: “^2.4.1”,
“semantic-ui-react”: “^0.86.0”,
“source-map-support”: “^0.5.11”
},
“devEngines”: {
“node”: “>=7.x”,
“npm”: “>=4.x”,
“yarn”: “>=0.21.3”
},
“collective”: {
“url”: “https://opencollective.com/electron-react-boilerplate-594
},
“browserslist”: “electron 1.6”,
“husky”: {
“hooks”: {
“pre-commit”: “lint-staged”
}
}
}

Blockquote

After building it in development mode. I am authenticating it By passing this params

const appInfo = {
name: ‘saemsg’,
id: ‘com.demo.safemsg-app’,
version: ‘0.0.0’,
vendor: ‘Math & Cody Ltd.’,
bundle: ‘com.github.electron’,
customExecPath
};

const opts = {
forceUseMock: true
};

const safeApp = await initialiseApp(appInfo, null, opts);
const authUri = await safeApp.auth.genAuthUri({});
await safeApp.auth.openUri(authUri);

Then Safe Browser is opening automatically. And This error is showing…
Uncaught Error: Cannot find module ‘connected-react-router’
at Module._resolveFilename (module.js:543:15)
at Function.Module._resolveFilename (/home/avirup/Downloads/safe-browser-v0.12.0-linux-x64/resources/electron.asar/common/reset-search-paths.js:35:12)
at Function.Module._load (module.js:473:25)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.connected-react-router (http://localhost:1212/dist/renderer.dev.js:20273:18)
at webpack_require (http://localhost:1212/dist/renderer.dev.js:725:30)
at fn (http://localhost:1212/dist/renderer.dev.js:102:20)
at Module. (http://localhost:1212/dist/renderer.dev.js:2085:80)
at Module…/app/containers/Root.js (http://localhost:1212/dist/renderer.dev.js:2161:30)

#6

Hope no-one minds me jumping in but as an interested observer I’d suggest putting bigger output like this in an accompanying, and linked, note somewhere else like HackMD or even GitHub (where the code could be see too).

Here’s an example of taking that big output dump and placing it somewhere else to keep this post nice and readable:
https://hackmd.io/5EYyiSVlTmykOx-qDTc9Vg

4 Likes
#7

Another option is to use the code format

[ code ]
Put your code here
[ /code ]

Remove the space after/before the ‘[’ & ‘]’

eg

Put your code here

It is also possible to use three back quotes ` at start and end of the code.

This will then limit the amount of space used by the code but it can be scrolled through

5 Likes
#8

Okay, well that error reads like something is missing from the actual browser. I’ll have a dig in there.

FYI, the package.json isn’t super useful here.

More useful is always to get info on your system (I see you use linux… but which version?), and the browser version (which I think is 0.12.0 here?)

#9

@neo @DGeddes Thank you, i’ll take care that in future.
@joshuef I have solved the problem.

4 Likes
#10

Can you let us know how, please. Would be good to know and useful for folks finding this thread in future.

2 Likes
#11

:point_up: TOP TIP!!!

1 Like
#12

Actually It was not any code related problem .I was not loged in in Safe browser during developing the App.

3 Likes
#13

Code is written here:grinning:

3 Likes
#14

And code is written in the super-cool box here:

    {
    “name”: “electron-react-boilerplate”,
    “productName”: “ElectronReact”,
    “version”: “0.17.1”,
    “description”: “Electron application boilerplate based on React, React Router, Webpack, React Hot Loader for rapid application development”,
    “scripts”: {
    “build”: “concurrently “yarn build-main” “yarn build-renderer””,
    “build-dll”: “cross-env NODE_ENV=development webpack --config ./configs/webpack.config.renderer.dev.dll.babel.js --colors”,
    “build-e2e”: “cross-env E2E_BUILD=true yarn build”,
    “build-main”: “cross-env NODE_ENV=production webpack --config ./configs/webpack.config.main.prod.babel.js --colors”,
    “build-renderer”: “cross-env NODE_ENV=production webpack --config ./configs/webpack.config.renderer.prod.babel.js --colors”,
    “dev”: “cross-env START_HOT=1 node -r @babel/register ./internals/scripts/CheckPortInUse.js && cross-env START_HOT=1 yarn start-renderer-dev”,
    “flow”: “flow”,
    “flow-typed”: “rimraf flow-typed/npm && flow-typed install --overwrite || true”,
    “lint”: “cross-env NODE_ENV=development eslint --cache --format=pretty .”,
    “lint-fix”: “yarn --silent lint --fix; exit 0”,
    “lint-styles”: “stylelint --ignore-path .eslintignore ‘/.(css|scss)’ --syntax scss",
    “lint-styles-fix”: “yarn --silent lint-styles --fix; exit 0”,
    “package”: “yarn build && electron-builder build --publish never”,
    “package-all”: “yarn build && electron-builder build -mwl”,
    “package-ci”: “yarn postinstall && yarn build && electron-builder --publish always”,
    “package-linux”: “yarn build && electron-builder build --linux”,
    “package-win”: “yarn build && electron-builder build --win --x64”,
    “postinstall”: “yarn flow-typed && electron-builder install-app-deps package.json && yarn build-dll && opencollective-postinstall”,
    “postlint-fix”: "prettier --ignore-path .eslintignore --single-quote --write '/.{js,jsx,json,html,css,less,scss,yml}’",
    “postlint-styles-fix”: "prettier --ignore-path .eslintignore --single-quote --write '**/.{css,scss}’”,
    “preinstall”: “node ./internals/scripts/CheckYarn.js”,
    “prestart”: “yarn build”,
    “start”: “cross-env NODE_ENV=production electron ./app/main.prod.js”,
    “start-main-dev”: “cross-env HOT=1 NODE_ENV=development electron -r @babel/register ./app/main.dev.js”,
    “start-renderer-dev”: “cross-env NODE_ENV=development webpack-dev-server --config configs/webpack.config.renderer.dev.babel.js”,
    “test”: “cross-env NODE_ENV=test BABEL_DISABLE_CACHE=1 jest”,
    “test-all”: “yarn lint && yarn flow && yarn build && yarn test && yarn build-e2e && yarn test-e2e”,
    “test-e2e”: “node -r @babel/register ./internals/scripts/CheckBuiltsExist.js && cross-env NODE_ENV=test testcafe electron:./ ./test/e2e/HomePage.e2e.js”,
    “test-e2e-live”: “node -r @babel/register ./internals/scripts/CheckBuiltsExist.js && cross-env NODE_ENV=test testcafe-live electron:./ ./test/e2e/HomePage.e2e.js”,
    “test-watch”: “yarn test --watch”
    },
    “lint-staged”: {
    “.{js,jsx}": [
    “cross-env NODE_ENV=development eslint --cache --format=pretty”,
    “git add”
    ],
    "{.json,.{babelrc,eslintrc,prettierrc,stylelintrc}}”: [
    “prettier --ignore-path .eslintignore --parser json --write”,
    “git add”
    ],
    “.{css,scss}": [
    “stylelint --ignore-path .eslintignore --syntax scss --fix”,
    “prettier --ignore-path .eslintignore --single-quote --write”,
    “git add”
    ],
    ".{html,md,yml}”: [
    “prettier --ignore-path .eslintignore --single-quote --write”,
    “git add”
    ]
    },
    “main”: “./app/main.prod.js”,
    “build”: {
    “productName”: “ElectronReact”,
    “appId”: “org.develar.ElectronReact”,
    “files”: [
    “app/dist/”,
    “app/app.html”,
    “app/main.prod.js”,
    “app/main.prod.js.map”,
    “package.json”
    ],
    “dmg”: {
    “contents”: [
    {
    “x”: 130,
    “y”: 220
    },
    {
    “x”: 410,
    “y”: 220,
    “type”: “link”,
    “path”: “/Applications”
    }
    ]
    },
    “win”: {
    “target”: [
    “nsis”,
    “msi”
    ]
    },
    “linux”: {
    “target”: [
    “deb”,
    “rpm”,
    “snap”,
    “AppImage”
    ],
    “category”: “Development”
    },
    “directories”: {
    “buildResources”: “resources”,
    “output”: “release”
    },
    “publish”: {
    “provider”: “github”,
    “owner”: “electron-react-boilerplate”,
    “repo”: “electron-react-boilerplate”,
    “private”: false
    }
    },
    “repository”: {
    “type”: “git”,
    “url”: “git+https://github.com/electron-react-boilerplate/electron-react-boilerplate.git”
    },
    “author”: {
    “name”: “Electron React Boilerplate Maintainers”,
    “email”: "REMOVED",
    “url”: “https://electron-react-boilerplate.js.org”
    },
    “contributors”: [
    {
    *** REMOVED ***
    }
    ],
    “license”: “MIT”,
    “bugs”: {
    “url”: “https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues”
    },
    “keywords”: [
    “electron”,
    “boilerplate”,
    “react”,
    “redux”,
    “flow”,
    “sass”,
    “webpack”,
    “hot”,
    “reload”
    ],
    “homepage”: “https://github.com/electron-react-boilerplate/electron-react-boilerplate#readme”,
    “jest”: {
    “testURL”: “http://localhost/”,
    “moduleNameMapper”: {
    “\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)": "<rootDir>/internals/mocks/fileMock.js", "\\.(css|less|sass|scss)”: “identity-obj-proxy”
    },
    “moduleFileExtensions”: [
    “js”,
    “jsx”,
    “json”
    ],
    “transform”: {
    “^.+\.jsx?$”: “babel-jest”
    },
    “setupFiles”: [
    “./internals/scripts/CheckBuiltsExist.js”
    ]
    },
    “devDependencies”: {
    “@babel/core”: “^7.4.0”,
    “@babel/plugin-proposal-class-properties”: “^7.4.0”,
    “@babel/plugin-proposal-decorators”: “^7.4.0”,
    “@babel/plugin-proposal-do-expressions”: “^7.2.0”,
    “@babel/plugin-proposal-export-default-from”: “^7.2.0”,
    “@babel/plugin-proposal-export-namespace-from”: “^7.2.0”,
    “@babel/plugin-proposal-function-bind”: “^7.2.0”,
    “@babel/plugin-proposal-function-sent”: “^7.2.0”,
    “@babel/plugin-proposal-json-strings”: “^7.2.0”,
    “@babel/plugin-proposal-logical-assignment-operators”: “^7.2.0”,
    “@babel/plugin-proposal-nullish-coalescing-operator”: “^7.2.0”,
    “@babel/plugin-proposal-numeric-separator”: “^7.2.0”,
    “@babel/plugin-proposal-optional-chaining”: “^7.2.0”,
    “@babel/plugin-proposal-pipeline-operator”: “^7.3.2”,
    “@babel/plugin-proposal-throw-expressions”: “^7.2.0”,
    “@babel/plugin-syntax-dynamic-import”: “^7.2.0”,
    “@babel/plugin-syntax-import-meta”: “^7.2.0”,
    “@babel/plugin-transform-react-constant-elements”: “^7.2.0”,
    “@babel/plugin-transform-react-inline-elements”: “^7.2.0”,
    “@babel/preset-env”: “^7.4.2”,
    “@babel/preset-flow”: “^7.0.0”,
    “@babel/preset-react”: “^7.0.0”,
    “@babel/register”: “^7.4.0”,
    “babel-core”: “7.0.0-bridge.0”,
    “babel-eslint”: “^10.0.1”,
    “babel-jest”: “^24.5.0”,
    “babel-loader”: “^8.0.5”,
    “babel-plugin-dev-expression”: “^0.2.1”,
    “babel-plugin-transform-react-remove-prop-types”: “^0.4.24”,
    “chalk”: “^2.4.2”,
    “concurrently”: “^4.1.0”,
    “cross-env”: “^5.2.0”,
    “cross-spawn”: “^6.0.5”,
    “css-loader”: “^2.1.1”,
    “detect-port”: “^1.3.0”,
    “electron”: “^4.1.3”,
    “electron-builder”: “^20.39.0”,
    “electron-devtools-installer”: “^2.2.4”,
    “enzyme”: “^3.9.0”,
    “enzyme-adapter-react-16”: “^1.11.2”,
    “enzyme-to-json”: “^3.3.5”,
    “eslint”: “^5.16.0”,
    “eslint-config-airbnb”: “^17.1.0”,
    “eslint-config-erb”: “^0.0.2”,
    “eslint-config-prettier”: “^4.1.0”,
    “eslint-formatter-pretty”: “^2.1.1”,
    “eslint-import-resolver-webpack”: “^0.11.0”,
    “eslint-plugin-compat”: “^3.1.0”,
    “eslint-plugin-flowtype”: “^3.4.2”,
    “eslint-plugin-import”: “^2.16.0”,
    “eslint-plugin-jest”: “^22.4.1”,
    “eslint-plugin-jsx-a11y”: “6.2.1”,
    “eslint-plugin-prettier”: “^3.0.1”,
    “eslint-plugin-promise”: “^4.1.1”,
    “eslint-plugin-react”: “^7.12.4”,
    “eslint-plugin-testcafe”: “^0.2.1”,
    “fbjs-scripts”: “^1.2.0”,
    “file-loader”: “^3.0.1”,
    “flow-bin”: “^0.95.1”,
    “flow-runtime”: “^0.17.0”,
    “flow-typed”: “^2.5.1”,
    “husky”: “^1.3.1”,
    “identity-obj-proxy”: “^3.0.0”,
    “jest”: “^24.5.0”,
    “lint-staged”: “^8.1.5”,
    “mini-css-extract-plugin”: “^0.5.0”,
    “node-sass”: “^4.11.0”,
    “opencollective-postinstall”: “^2.0.2”,
    “optimize-css-assets-webpack-plugin”: “^5.0.1”,
    “prettier”: “^1.16.4”,
    “react-test-renderer”: “^16.8.6”,
    “redux-logger”: “^3.0.6”,
    “rimraf”: “^2.6.3”,
    “sass-loader”: “^7.1.0”,
    “sinon”: “^7.3.1”,
    “spectron”: “^5.0.0”,
    “style-loader”: “^0.23.1”,
    “stylelint”: “^9.10.1”,
    “stylelint-config-prettier”: “^5.0.0”,
    “stylelint-config-standard”: “^18.2.0”,
    “terser-webpack-plugin”: “^1.2.3”,
    “testcafe”: “^1.1.0”,
    “testcafe-browser-provider-electron”: “^0.0.8”,
    “testcafe-live”: “^0.1.4”,
    “testcafe-react-selectors”: “^3.1.0”,
    “url-loader”: “^1.1.2”,
    “webpack”: “^4.29.6”,
    “webpack-bundle-analyzer”: “^3.1.0”,
    “webpack-cli”: “^3.3.0”,
    “webpack-dev-server”: “^3.2.1”,
    “webpack-merge”: “^4.2.1”,
    “yarn”: “^1.15.2”
    },
    “dependencies”: {
    “@fortawesome/fontawesome-free”: “^5.8.1”,
    “@maidsafe/safe-node-app”: “^0.11.0”,
    “connected-react-router”: “^6.3.2”,
    “core-js”: “2”,
    “devtron”: “^1.4.0”,
    “electron-debug”: “^2.1.0”,
    “electron-log”: “^3.0.4”,
    “electron-updater”: “^4.0.6”,
    “history”: “^4.9.0”,
    “react”: “^16.8.6”,
    “react-dom”: “^16.8.6”,
    “react-hot-loader”: “^4.8.2”,
    “react-redux”: “^6.0.1”,
    “react-router”: “^5.0.0”,
    “react-router-dom”: “^5.0.0”,
    “redux”: “^4.0.1”,
    “redux-thunk”: “^2.3.0”,
    “semantic-ui-css”: “^2.4.1”,
    “semantic-ui-react”: “^0.86.0”,
    “source-map-support”: “^0.5.11”
    },
    “devEngines”: {
    “node”: “>=7.x”,
    “npm”: “>=4.x”,
    “yarn”: “>=0.21.3”
    },
    “collective”: {
    “url”: “https://opencollective.com/electron-react-boilerplate-594”
    },
    “browserslist”: “electron 1.6”,
    “husky”: {
    “hooks”: {
    “pre-commit”: “lint-staged”
    }
    }
    }

    Blockquote

After building it in development mode. I am authenticating it By passing this params

const appInfo = {
name: ‘saemsg’,
id: ‘com.demo.safemsg-app’,
version: ‘0.0.0’,
vendor: ‘Math & Cody Ltd.’,
bundle: ‘com.github.electron’,
customExecPath
};

const opts = {
forceUseMock: true
};

const safeApp = await initialiseApp(appInfo, null, opts);
const authUri = await safeApp.auth.genAuthUri({});
await safeApp.auth.openUri(authUri);

Then Safe Browser is opening automatically. And This error is showing…
Uncaught Error: Cannot find module ‘connected-react-router’
at Module._resolveFilename (module.js:543:15)
at Function.Module._resolveFilename (/home/avirup/Downloads/safe-browser-v0.12.0-linux-x64/resources/electron.asar/common/reset-search-paths.js:35:12)
at Function.Module._load (module.js:473:25)
at Module.require (module.js:586:17)
at require (internal/module.js:11:18)
at Object.connected-react-router (http://localhost:1212/dist/renderer.dev.js:20273:18)
at webpack_require (http://localhost:1212/dist/renderer.dev.js:725:30)
at fn (http://localhost:1212/dist/renderer.dev.js:102:20)
at Module. (http://localhost:1212/dist/renderer.dev.js:2085:80)
at Module…/app/containers/Root.js (http://localhost:1212/dist/renderer.dev.js:2161:30)

That’s getting a :+1: from me.

3 Likes