diff --git a/src/auto-updater/index.js b/src/auto-updater/index.js index c0cd2ae90..f9caabf9e 100644 --- a/src/auto-updater/index.js +++ b/src/auto-updater/index.js @@ -5,6 +5,7 @@ const { ipcMain } = require('electron') const logger = require('../common/logger') const { showDialog } = require('../dialogs') const { IS_MAC, IS_WIN, IS_APPIMAGE } = require('../common/consts') +const ipcMainEvents = require('../common/ipc-main-events') function isAutoUpdateSupported () { // atm only macOS, windows and AppImage builds support autoupdate mechanism, @@ -140,13 +141,13 @@ function setup (ctx) { } async function checkForUpdates () { - ipcMain.emit('updating') + ipcMain.emit(ipcMainEvents.UPDATING) try { await autoUpdater.checkForUpdates() } catch (_) { // Ignore. The errors are already handled on 'error' event. } - ipcMain.emit('updatingEnded') + ipcMain.emit(ipcMainEvents.UPDATING_ENDED) } module.exports = async function (ctx) { diff --git a/src/automatic-gc.js b/src/automatic-gc.js index 18e636fa1..fc366379e 100644 --- a/src/automatic-gc.js +++ b/src/automatic-gc.js @@ -3,6 +3,7 @@ const logger = require('./common/logger') const store = require('./common/store') const { AUTO_GARBAGE_COLLECTOR: CONFIG_KEY } = require('./common/config-keys') const { ipcMain } = require('electron') +const ipcMainEvents = require('./common/ipc-main-events') const gcFlag = '--enable-gc' const isEnabled = flags => flags.some(f => f === gcFlag) @@ -25,7 +26,7 @@ function disable () { function applyConfig (newFlags) { store.set('ipfsConfig.flags', newFlags) - ipcMain.emit('ipfsConfigChanged') // trigger node restart + ipcMain.emit(ipcMainEvents.IPFS_CONFIG_CHANGED) // trigger node restart } module.exports = async function () { diff --git a/src/common/ipc-main-events.js b/src/common/ipc-main-events.js new file mode 100644 index 000000000..eefea57e8 --- /dev/null +++ b/src/common/ipc-main-events.js @@ -0,0 +1,15 @@ +const ipcMainEvents = Object.freeze({ + CONFIG_UPDATED: 'configUpdated', + GC_ENDED: 'gcEnded', + GC_RUNNING: 'gcRunning', + IPFSD: 'ipfsd', + IPFS_CONFIG_CHANGED: 'ipfsConfigChanged', + LANG_UPDATED: 'languageUpdated', + MENUBAR_CLOSE: 'menubar-will-close', + MENUBAR_OPEN: 'menubar-will-open', + UPDATING: 'updating', + UPDATING_ENDED: 'updatingEnded', + TOGGLE: (key) => `toggle_${key}` +}) + +module.exports = ipcMainEvents diff --git a/src/daemon/index.js b/src/daemon/index.js index 7e1c56bcb..828cc417f 100644 --- a/src/daemon/index.js +++ b/src/daemon/index.js @@ -6,6 +6,7 @@ const store = require('../common/store') const logger = require('../common/logger') const { STATUS } = require('./consts') const createDaemon = require('./daemon') +const ipcMainEvents = require('../common/ipc-main-events') module.exports = async function (ctx) { let ipfsd = null @@ -14,7 +15,7 @@ module.exports = async function (ctx) { const updateStatus = (stat, id = null) => { status = stat - ipcMain.emit('ipfsd', status, id) + ipcMain.emit(ipcMainEvents.IPFSD, status, id) } const getIpfsd = async (optional = false) => { diff --git a/src/enable-namesys-pubsub.js b/src/enable-namesys-pubsub.js index 0e619e39e..ab51167fd 100644 --- a/src/enable-namesys-pubsub.js +++ b/src/enable-namesys-pubsub.js @@ -3,6 +3,7 @@ const logger = require('./common/logger') const store = require('./common/store') const { EXPERIMENT_PUBSUB_NAMESYS: CONFIG_KEY } = require('./common/config-keys') const { ipcMain } = require('electron') +const ipcMainEvents = require('./common/ipc-main-events') const namesysPubsubFlag = '--enable-namesys-pubsub' const isEnabled = flags => flags.some(f => f === namesysPubsubFlag) @@ -25,7 +26,7 @@ function disable () { function applyConfig (newFlags) { store.set('ipfsConfig.flags', newFlags) - ipcMain.emit('ipfsConfigChanged') // trigger node restart + ipcMain.emit(ipcMainEvents.IPFS_CONFIG_CHANGED) // trigger node restart } module.exports = async function () { diff --git a/src/enable-pubsub.js b/src/enable-pubsub.js index bc2006e68..13b3fe670 100644 --- a/src/enable-pubsub.js +++ b/src/enable-pubsub.js @@ -3,6 +3,7 @@ const logger = require('./common/logger') const store = require('./common/store') const { EXPERIMENT_PUBSUB: CONFIG_KEY } = require('./common/config-keys') const { ipcMain } = require('electron') +const ipcMainEvents = require('./common/ipc-main-events') const pubsubFlag = '--enable-pubsub-experiment' const isEnabled = flags => flags.some(f => f === pubsubFlag) @@ -25,7 +26,7 @@ function disable () { function applyConfig (newFlags) { store.set('ipfsConfig.flags', newFlags) - ipcMain.emit('ipfsConfigChanged') // trigger node restart + ipcMain.emit(ipcMainEvents.IPFS_CONFIG_CHANGED) // trigger node restart } module.exports = async function () { diff --git a/src/i18n.js b/src/i18n.js index 6e6d69c69..c23090c7b 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -4,6 +4,7 @@ const i18n = require('i18next') const ICU = require('i18next-icu') const Backend = require('i18next-fs-backend') const store = require('./common/store') +const ipcMainEvents = require('./common/ipc-main-events') module.exports = async function () { await i18n @@ -30,6 +31,6 @@ module.exports = async function () { store.set('language', lang) await i18n.changeLanguage(lang) - ipcMain.emit('languageUpdated', lang) + ipcMain.emit(ipcMainEvents.LANG_UPDATED, lang) }) } diff --git a/src/run-gc.js b/src/run-gc.js index 7b6879bc3..afb88990e 100644 --- a/src/run-gc.js +++ b/src/run-gc.js @@ -3,6 +3,7 @@ const { ipcMain } = require('electron') const logger = require('./common/logger') const { showDialog, recoverableErrorDialog } = require('./dialogs') const dock = require('./utils/dock') +const ipcMainEvents = require('./common/ipc-main-events') module.exports = function runGarbageCollector ({ getIpfsd }) { dock.run(async () => { @@ -30,7 +31,7 @@ module.exports = function runGarbageCollector ({ getIpfsd }) { return } - ipcMain.emit('gcRunning') + ipcMain.emit(ipcMainEvents.GC_RUNNING) try { const errors = [] @@ -63,6 +64,6 @@ module.exports = function runGarbageCollector ({ getIpfsd }) { }) } - ipcMain.emit('gcEnded') + ipcMain.emit(ipcMainEvents.GC_ENDED) }) } diff --git a/src/tray.js b/src/tray.js index e745b64a2..f640ca3da 100644 --- a/src/tray.js +++ b/src/tray.js @@ -6,6 +6,7 @@ const logger = require('./common/logger') const store = require('./common/store') const moveRepositoryLocation = require('./move-repository-location') const runGarbageCollector = require('./run-gc') +const ipcMainEvents = require('./common/ipc-main-events') const { setCustomBinary, clearCustomBinary, hasCustomBinary } = require('./custom-ipfs-binary') const { STATUS } = require('./daemon') const { IS_MAC, IS_WIN, VERSION, GO_IPFS_VERSION } = require('./common/consts') @@ -19,7 +20,7 @@ function buildCheckbox (key, label) { return { id: key, label: i18n.t(label), - click: () => { ipcMain.emit(`toggle_${key}`) }, + click: () => { ipcMain.emit(ipcMainEvents.TOGGLE(key)) }, type: 'checkbox', checked: false } @@ -261,8 +262,8 @@ module.exports = function (ctx) { tray.setContextMenu(menu) tray.setToolTip('IPFS Desktop') - menu.on('menu-will-show', () => { ipcMain.emit('menubar-will-open') }) - menu.on('menu-will-close', () => { ipcMain.emit('menubar-will-close') }) + menu.on('menu-will-show', () => { ipcMain.emit(ipcMainEvents.MENUBAR_OPEN) }) + menu.on('menu-will-close', () => { ipcMain.emit(ipcMainEvents.MENUBAR_CLOSE) }) updateMenu() } diff --git a/src/utils/create-toggler.js b/src/utils/create-toggler.js index ab179e61b..fc32e39c5 100644 --- a/src/utils/create-toggler.js +++ b/src/utils/create-toggler.js @@ -1,9 +1,10 @@ const { ipcMain } = require('electron') const store = require('../common/store') const logger = require('../common/logger') +const ipcMainEvents = require('../common/ipc-main-events') module.exports = function (settingsOption, activate) { - ipcMain.on(`toggle_${settingsOption}`, async () => { + ipcMain.on(ipcMainEvents.TOGGLE(settingsOption), async () => { const oldValue = store.get(settingsOption, null) const newValue = !oldValue @@ -17,6 +18,6 @@ module.exports = function (settingsOption, activate) { // We always emit the event so any handlers for it can act upon // the current configuration, whether it was successfully // updated or not. - ipcMain.emit('configUpdated') + ipcMain.emit(ipcMainEvents.CONFIG_UPDATED) }) }