From e236cafe052dd7a983af5fa7197602303cf754bb Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Wed, 21 Jul 2021 16:16:56 -0400 Subject: [PATCH 1/4] Catch previously uncaught error inside CB --- src/routes.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/routes.js b/src/routes.js index 44b23076..7d6108d3 100644 --- a/src/routes.js +++ b/src/routes.js @@ -2725,16 +2725,16 @@ module.exports = async ( : gun keys.forEach(key => (node = node.get(key))) - return new Promise(res => { - const listener = async data => { + return new Promise((res, rej) => { + const listener = data => { if (publicKeyForDecryption) { - res( - await GunWriteRPC.deepDecryptIfNeeded( - data, - publicKeyForDecryption, - epubForDecryption - ) + GunWriteRPC.deepDecryptIfNeeded( + data, + publicKeyForDecryption, + epubForDecryption ) + .then(res) + .catch(rej) } else { res(data) } From 9d769405cd7e1a03dad2b7b278193282a13a8ec2 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Wed, 21 Jul 2021 16:58:44 -0400 Subject: [PATCH 2/4] Simpler/correct-er tryAndWait() --- services/gunDB/contact-api/utils/index.js | 59 +++++------------------ 1 file changed, 11 insertions(+), 48 deletions(-) diff --git a/services/gunDB/contact-api/utils/index.js b/services/gunDB/contact-api/utils/index.js index 19fdce65..d1fd34f9 100644 --- a/services/gunDB/contact-api/utils/index.js +++ b/services/gunDB/contact-api/utils/index.js @@ -101,7 +101,6 @@ const timeout2 = promise => { * @returns {Promise} */ const tryAndWait = async (promGen, shouldRetry = () => false) => { - /* eslint-disable no-empty */ /* eslint-disable init-declarations */ // If hang stop at 10, wait 3, retry, if hang stop at 5, reinstate, warm for @@ -118,28 +117,15 @@ const tryAndWait = async (promGen, shouldRetry = () => false) => { ) ) - if (shouldRetry(resolvedValue)) { - logger.info( - 'force retrying' /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()} \n resolvedValue: ${resolvedValue}, type: ${typeof resolvedValue}` - */ - ) - } else { + if (!shouldRetry(resolvedValue)) { return resolvedValue } } catch (e) { - console.log(e) - if (e.message === Constants.ErrorCode.NOT_AUTH) { + if (e.message !== Constants.ErrorCode.TIMEOUT_ERR) { throw e } } - logger.info( - `\n retrying \n` /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()}` - */ - ) - await delay(200) try { @@ -150,28 +136,15 @@ const tryAndWait = async (promGen, shouldRetry = () => false) => { ) ) - if (shouldRetry(resolvedValue)) { - logger.info( - 'force retrying' /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()} \n resolvedValue: ${resolvedValue}, type: ${typeof resolvedValue}` - */ - ) - } else { + if (!shouldRetry(resolvedValue)) { return resolvedValue } } catch (e) { - console.log(e) - if (e.message === Constants.ErrorCode.NOT_AUTH) { + if (e.message !== Constants.ErrorCode.TIMEOUT_ERR) { throw e } } - logger.info( - `\n retrying \n` /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()}` - */ - ) - await delay(3000) try { @@ -182,32 +155,22 @@ const tryAndWait = async (promGen, shouldRetry = () => false) => { ) ) - if (shouldRetry(resolvedValue)) { - logger.info( - 'force retrying' /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()} \n resolvedValue: ${resolvedValue}, type: ${typeof resolvedValue}` - */ - ) - } else { + if (!shouldRetry(resolvedValue)) { return resolvedValue } } catch (e) { - console.log(e) - if (e.message === Constants.ErrorCode.NOT_AUTH) { + if (e.message !== Constants.ErrorCode.TIMEOUT_ERR) { throw e } } - logger.info( - `\n NOT recreating a fresh gun but retrying one last time \n` /* + - ` args: ${promGen.toString()} -- ${shouldRetry.toString()}` - */ + return timeout10( + promGen( + require('../../Mediator/index').getGun(), + require('../../Mediator/index').getUser() + ) ) - const { gun, user } = require('../../Mediator/index').freshGun() - - return timeout10(promGen(gun, user)) - /* eslint-enable no-empty */ /* eslint-enable init-declarations */ } From 5901d570e23d13b1a9d517066174f72aef1ef359 Mon Sep 17 00:00:00 2001 From: Emad Kheir Date: Thu, 22 Jul 2021 18:44:37 +0100 Subject: [PATCH 3/4] Update routes.js --- src/routes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes.js b/src/routes.js index 7d6108d3..f7c65861 100644 --- a/src/routes.js +++ b/src/routes.js @@ -6,7 +6,7 @@ const Axios = require('axios') const Crypto = require('crypto') const Storage = require('node-persist') -const logger = require('../../config/log') +const logger = require('../config/log') const httpsAgent = require('https') const responseTime = require('response-time') const uuid = require('uuid/v4') From 6e72e8ecf700ed747b09b550bcd86664b6ed032b Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Thu, 22 Jul 2021 14:26:29 -0400 Subject: [PATCH 4/4] Winston instead of console.* --- src/routes.js | 16 ++++++++-------- utils/ECC/index.js | 3 ++- utils/lightningServices/channelRequests.js | 2 +- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/routes.js b/src/routes.js index f7c65861..27879828 100644 --- a/src/routes.js +++ b/src/routes.js @@ -1137,7 +1137,7 @@ module.exports = async ( try { return res.json(await LV2.getChanInfo(req.body.chan_id)) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: e.message }) @@ -1172,7 +1172,7 @@ module.exports = async ( peers: await LV2.listPeers(req.body.latestError) }) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: e.message }) @@ -1240,7 +1240,7 @@ module.exports = async ( channels: await LV2.listChannels({ active_only: false }) }) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: e.message }) @@ -1251,7 +1251,7 @@ module.exports = async ( try { return res.json(await LV2.pendingChannels()) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: e.message }) @@ -1863,7 +1863,7 @@ module.exports = async ( try { return res.json(addInvoiceRes) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: e.message }) @@ -2300,7 +2300,7 @@ module.exports = async ( } return res.status(200).json(postRes) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: (typeof e === 'string' ? e : e.message) || 'Unknown error.' @@ -2987,7 +2987,7 @@ module.exports = async ( ok: true }) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: (typeof e === 'string' ? e : e.message) || 'Unknown error.' @@ -3001,7 +3001,7 @@ module.exports = async ( ok: true }) } catch (e) { - console.log(e) + logger.error(e) return res.status(500).json({ errorMessage: (typeof e === 'string' ? e : e.message) || 'Unknown error.' diff --git a/utils/ECC/index.js b/utils/ECC/index.js index b9bb8b61..064e7e12 100644 --- a/utils/ECC/index.js +++ b/utils/ECC/index.js @@ -2,6 +2,7 @@ const ECCrypto = require('eccrypto') const Storage = require('node-persist') const FieldError = require('../fieldError') +const logger = require('../../config/log') const { convertBufferToBase64, processKey, @@ -137,7 +138,7 @@ const decryptMessage = async ({ encryptedMessage, deviceId }) => { const parsedMessage = decryptedMessage.toString('utf8') return parsedMessage } catch (err) { - console.error(err) + logger.error(err) throw err } } diff --git a/utils/lightningServices/channelRequests.js b/utils/lightningServices/channelRequests.js index cf0583f0..f37afaf9 100644 --- a/utils/lightningServices/channelRequests.js +++ b/utils/lightningServices/channelRequests.js @@ -62,7 +62,7 @@ module.exports = async () => { } catch(e){ logger.error("error sending invite to channels handler") console.log("DOING CHANNEL INVITE THING: :(") - console.error(e) + logger.error(e) } } \ No newline at end of file