diff options
| author | Erik Larkö <erik@mullvad.net> | 2017-10-02 07:41:24 +0200 |
|---|---|---|
| committer | Erik Larkö <erik@mullvad.net> | 2017-10-02 07:41:24 +0200 |
| commit | be7250fade3c007132a69304d1cc68bc819d3e06 (patch) | |
| tree | 8739c68d283e31056aba2dd59c40158df2a4bd2f | |
| parent | 99addaf009c189dd8fb02780ab3f25ffc721eed6 (diff) | |
| parent | 6e172dcb23e1477b0b8dd5ef29b85b859b9f8af6 (diff) | |
| download | mullvadvpn-be7250fade3c007132a69304d1cc68bc819d3e06.tar.xz mullvadvpn-be7250fade3c007132a69304d1cc68bc819d3e06.zip | |
Merge branch 'show-ui-if-no-user'
| -rw-r--r-- | app/app.js | 6 | ||||
| -rw-r--r-- | app/lib/backend.js | 6 | ||||
| -rw-r--r-- | app/main.js | 3 |
3 files changed, 13 insertions, 2 deletions
diff --git a/app/app.js b/app/app.js index fb8a93ce1a..e28d85582e 100644 --- a/app/app.js +++ b/app/app.js @@ -32,6 +32,12 @@ ipcRenderer.on('backend-info', (_event, args) => { log.info('Autoconnecting...'); backend.connect(); } + }) + .catch( e => { + if (e.type === 'NO_ACCOUNT') { + log.debug('No user set in the backend, showing window'); + ipcRenderer.send('show-window'); + } }); }); ipcRenderer.on('disconnect', () => { diff --git a/app/lib/backend.js b/app/lib/backend.js index 4cdb425824..ca9635951f 100644 --- a/app/lib/backend.js +++ b/app/lib/backend.js @@ -14,7 +14,7 @@ import type { ConnectionState } from '../redux/connection/reducers'; import type { RelayEndpoint } from './ipc-facade'; export type EventType = 'connect' | 'connecting' | 'disconnect' | 'login' | 'logging' | 'logout' | 'updatedIp' | 'updatedLocation' | 'updatedReachability'; -export type ErrorType = 'NO_CREDIT' | 'NO_INTERNET' | 'INVALID_ACCOUNT'; +export type ErrorType = 'NO_CREDIT' | 'NO_INTERNET' | 'INVALID_ACCOUNT' | 'NO_ACCOUNT'; export type ServerInfo = { address: string, @@ -57,6 +57,8 @@ export class BackendError extends Error { return 'Your internet connection will be secured when you get back online'; case 'INVALID_ACCOUNT': return 'Invalid account number'; + case 'NO_ACCOUNT': + return 'No account was set'; default: return ''; } @@ -188,7 +190,7 @@ export class Backend { return this._ipc.getAccount() .then( accountToken => { if (!accountToken) { - throw new Error('No account set in the backend, failing autologin'); + throw new BackendError('NO_ACCOUNT'); } log.debug('The backend had an account number stored:', accountToken); this._store.dispatch(accountActions.startLogin(accountToken)); diff --git a/app/main.js b/app/main.js index cd4cfd71c5..ed9aae149d 100644 --- a/app/main.js +++ b/app/main.js @@ -86,6 +86,9 @@ const appDelegate = { browserWindowReady = true; appDelegate._pollForConnectionInfoFile(); }); + ipcMain.on('show-window', () => { + appDelegate._showWindow(window, appDelegate._tray); + }); window.loadURL('file://' + path.join(__dirname, 'index.html')); window.on('close', () => { |
