diff --git a/.gitignore b/.gitignore index ff2b6628..9832f528 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ npm-debug.log* test-results.xml test_config.json .idea +testUserData diff --git a/src/browser/index.jsx b/src/browser/index.jsx index 2dcc56c7..aa236382 100644 --- a/src/browser/index.jsx +++ b/src/browser/index.jsx @@ -16,7 +16,7 @@ remote.getCurrentWindow().removeAllListeners('focus'); var config; try { - var configFile = remote.getGlobal('config-file'); + const configFile = remote.app.getPath('userData') + '/config.json'; config = settings.readFileSync(configFile); } catch (e) { window.location = 'settings.html'; diff --git a/src/browser/settings.jsx b/src/browser/settings.jsx index 8fa6f24d..f54cb1a9 100644 --- a/src/browser/settings.jsx +++ b/src/browser/settings.jsx @@ -10,7 +10,7 @@ const React = require('react'); const ReactDOM = require('react-dom'); const SettingsPage = require('./components/SettingsPage.jsx'); -var configFile = remote.getGlobal('config-file'); +const configFile = remote.app.getPath('userData') + '/config.json'; require('electron-context-menu')({ window: remote.getCurrentWindow() diff --git a/src/main.js b/src/main.js index 15a765e2..33c36a85 100644 --- a/src/main.js +++ b/src/main.js @@ -90,16 +90,13 @@ if (argv.hidden) { hideOnStartup = true; } -// TODO: We should document this if that hasn't been done already -if (argv['config-file']) { - global['config-file'] = argv['config-file']; -} else { - global['config-file'] = app.getPath('userData') + '/config.json'; +if (argv['data-dir']) { + app.setPath('userData', path.resolve(argv['data-dir'])); } var config = {}; try { - const configFile = global['config-file']; + const configFile = app.getPath('userData') + '/config.json'; config = settings.readFileSync(configFile); if (config.version !== settings.version || wasUpdated()) { clearAppCache(); @@ -112,7 +109,7 @@ try { } ipcMain.on('update-config', () => { - const configFile = global['config-file']; + const configFile = app.getPath('userData') + '/config.json'; config = settings.readFileSync(configFile); }); diff --git a/test/modules/environment.js b/test/modules/environment.js index 4b3c645c..2b509da8 100644 --- a/test/modules/environment.js +++ b/test/modules/environment.js @@ -17,7 +17,8 @@ const electronBinaryPath = (() => { const exeExtension = (process.platform === 'win32') ? '.exe' : ''; return path.join(sourceRootDir, 'node_modules/electron/dist/electron' + exeExtension); })(); -const configFilePath = path.join(sourceRootDir, 'test/test_config.json'); +const userDataDir = path.join(sourceRootDir, 'test/testUserData/'); +const configFilePath = path.join(userDataDir, 'config.json'); const mattermostURL = 'http://example.com/team'; module.exports = { @@ -27,7 +28,7 @@ module.exports = { getSpectronApp() { const app = new Application({ path: electronBinaryPath, - args: [`${path.join(sourceRootDir, 'dist')}`, '--config-file=' + configFilePath] + args: [`${path.join(sourceRootDir, 'dist')}`, `--data-dir=${userDataDir}`] }); chaiAsPromised.transferPromiseness = app.transferPromiseness; return app;