diff --git a/src/renderer/index.js b/src/renderer/index.js index e88246e19..f3757339a 100644 --- a/src/renderer/index.js +++ b/src/renderer/index.js @@ -34,6 +34,7 @@ autoUpdater.logger = remote.require('electron-log'); // We need to override Lbryio for getting/setting the authToken // We interect with ipcRenderer to get the auth key from a users keyring +let authToken; Lbryio.setOverride('setAuthToken', status => { Lbryio.call( 'user', @@ -49,7 +50,9 @@ Lbryio.setOverride('setAuthToken', status => { throw new Error(__('auth_token is missing from response')); } - ipcRenderer.send('set-auth-token', response.auth_token); + const newAuthToken = response.auth_token; + authToken = newAuthToken; + ipcRenderer.send('set-auth-token', authToken); }); }); @@ -57,12 +60,16 @@ Lbryio.setOverride( 'getAuthToken', () => new Promise(resolve => { - ipcRenderer.once('auth-token-response', (event, token) => { - Lbryio.authToken = token; - resolve(token); - }); + if (authToken) { + resolve(authToken); + } else { + ipcRenderer.once('auth-token-response', (event, token) => { + Lbryio.authToken = token; + resolve(token); + }); - ipcRenderer.send('get-auth-token'); + ipcRenderer.send('get-auth-token'); + } }) );