fix: Remove ipc listeners when it become unnecessary

This commit is contained in:
AkiraFukushima 2018-03-22 09:50:15 +09:00
parent 01673c22df
commit a38ce0a550
4 changed files with 9 additions and 1 deletions

View File

@ -9,9 +9,11 @@ const Authorize = {
return new Promise((resolve, reject) => {
ipcRenderer.send('get-access-token', code)
ipcRenderer.once('response-get-access-token', (event, id) => {
ipcRenderer.removeAllListeners('error-get-access-token')
resolve(id)
})
ipcRenderer.once('error-get-access-token', (event, err) => {
ipcRenderer.removeAllListeners('response-get-access-token')
reject(err)
})
})

View File

@ -20,9 +20,11 @@ const GlobalHeader = {
return new Promise((resolve, reject) => {
ipcRenderer.send('list-accounts', 'list')
ipcRenderer.once('error-list-accounts', (event, err) => {
ipcRenderer.removeAllListeners('response-list-accounts')
reject(err)
})
ipcRenderer.once('response-list-accounts', (event, accounts) => {
ipcRenderer.removeAllListeners('error-list-accounts')
commit('updateAccounts', accounts)
resolve(accounts)
})

View File

@ -25,9 +25,11 @@ const Login = {
return new Promise((resolve, reject) => {
ipcRenderer.send('get-social-token', 'get')
ipcRenderer.once('error-get-social-token', (event, err) => {
ipcRenderer.removeAllListeners('response-get-social-token')
reject(err)
})
ipcRenderer.once('response-get-social-token', (event, token) => {
ipcRenderer.removeAllListeners('error-get-social-token')
axios
.get(`https://instances.social/api/1.0/instances/search?q=${domain}`, {
'headers': { 'Authorization': `Bearer ${token}` }
@ -43,10 +45,11 @@ const Login = {
return new Promise((resolve, reject) => {
ipcRenderer.send('get-auth-url', instance)
ipcRenderer.once('error-get-auth-url', (event, err) => {
// TODO: remove events
ipcRenderer.removeAllListeners('response-get-auth-url')
reject(err)
})
ipcRenderer.once('response-get-auth-url', (event, url) => {
ipcRenderer.removeAllListeners('response-get-auth-url')
resolve(url)
})
})

View File

@ -150,6 +150,7 @@ const TimelineSpace = {
},
async removeShortcutEvents () {
ipcRenderer.removeAllListeners('CmdOrCtrl+N')
ipcRenderer.removeAllListeners('CmdOrCtrl+K')
return 'removeShortcutEvents'
},
fetchHomeTimeline ({ commit }, account) {