diff options
| author | Erik Larkö <erik@mullvad.net> | 2017-09-25 16:02:43 +0200 |
|---|---|---|
| committer | Erik Larkö <erik@mullvad.net> | 2017-09-27 07:28:50 +0200 |
| commit | 7b52a3c5bbedc8071d05eb76f1365331ecb08971 (patch) | |
| tree | 9a8117bf4fa4d831204438069d653fcbbc74f8b0 | |
| parent | 131c4487c1032a85efa37390f7ca72b3e8eb8952 (diff) | |
| download | mullvadvpn-7b52a3c5bbedc8071d05eb76f1365331ecb08971.tar.xz mullvadvpn-7b52a3c5bbedc8071d05eb76f1365331ecb08971.zip | |
Actually implement autoconnect
| -rw-r--r-- | app/app.js | 10 | ||||
| -rw-r--r-- | app/lib/backend.js | 29 |
2 files changed, 26 insertions, 13 deletions
diff --git a/app/app.js b/app/app.js index e2eb712b9e..fb8a93ce1a 100644 --- a/app/app.js +++ b/app/app.js @@ -26,9 +26,13 @@ const backend = new Backend(store); ipcRenderer.on('backend-info', (_event, args) => { backend.setLocation(args.addr); backend.sync(); - if(store.getState().settings.autoSecure) { - backend.autologin(); - } + backend.autologin() + .then( () => { + if(store.getState().settings.autoSecure) { + log.info('Autoconnecting...'); + backend.connect(); + } + }); }); ipcRenderer.on('disconnect', () => { log.info('Been told by the node process to disconnect'); diff --git a/app/lib/backend.js b/app/lib/backend.js index d0344880ac..cf8e440bdf 100644 --- a/app/lib/backend.js +++ b/app/lib/backend.js @@ -228,18 +228,27 @@ export class Backend { }); } - connect(relayEndpoint: RelayEndpoint): Promise<void> { + connect(aRelayEndpoint?: RelayEndpoint): Promise<void> { - this._store.dispatch(connectionActions.connectingTo(relayEndpoint)); + const relayEndpoint = aRelayEndpoint; + if (relayEndpoint) { + this._store.dispatch(connectionActions.connectingTo(relayEndpoint)); - return this._ipc.setCustomRelay(relayEndpoint) - .then( () => { - return this._ipc.connect(); - }) - .catch(e => { - log.info('Failed connecting to', relayEndpoint.host, '-', e.message); - this._store.dispatch(connectionActions.disconnected()); - }); + return this._ipc.setCustomRelay(relayEndpoint) + .then( () => { + return this._ipc.connect(); + }) + .catch(e => { + log.info('Failed connecting to', relayEndpoint.host, '-', e.message); + this._store.dispatch(connectionActions.disconnected()); + }); + } else { + return this._ipc.connect() + .catch(e => { + log.info('Failed connecting to the relay set in the backend, ', e.message); + this._store.dispatch(connectionActions.disconnected()); + }); + } } disconnect(): Promise<void> { |
