summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--app/app.js10
-rw-r--r--app/lib/backend.js29
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> {