summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorErik Larkö <erik@mullvad.net>2017-10-02 07:41:24 +0200
committerErik Larkö <erik@mullvad.net>2017-10-02 07:41:24 +0200
commitbe7250fade3c007132a69304d1cc68bc819d3e06 (patch)
tree8739c68d283e31056aba2dd59c40158df2a4bd2f
parent99addaf009c189dd8fb02780ab3f25ffc721eed6 (diff)
parent6e172dcb23e1477b0b8dd5ef29b85b859b9f8af6 (diff)
downloadmullvadvpn-be7250fade3c007132a69304d1cc68bc819d3e06.tar.xz
mullvadvpn-be7250fade3c007132a69304d1cc68bc819d3e06.zip
Merge branch 'show-ui-if-no-user'
-rw-r--r--app/app.js6
-rw-r--r--app/lib/backend.js6
-rw-r--r--app/main.js3
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', () => {