better dup alias check
This commit is contained in:
parent
e569421236
commit
35553a93b6
2 changed files with 22 additions and 14 deletions
|
|
@ -55,5 +55,3 @@ module.exports = (mainnet = false) => {
|
||||||
tokenExpirationMS: 4500000
|
tokenExpirationMS: 4500000
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.SHOCK_SUPER_PEER = SHOCK_SUPER_PEER
|
|
||||||
|
|
@ -12,10 +12,10 @@ require('gun/lib/open')
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
require('gun/lib/load')
|
require('gun/lib/load')
|
||||||
const debounce = require('lodash/debounce')
|
const debounce = require('lodash/debounce')
|
||||||
|
const size = require('lodash/size')
|
||||||
|
|
||||||
const Encryption = require('../../../utils/encryptionStore')
|
const Encryption = require('../../../utils/encryptionStore')
|
||||||
const { SHOCK_SUPER_PEER } = require('../../../config/defaults')
|
const { DISABLE_PEER_ALIAS_CHECK } = require('../config')
|
||||||
const { PEERS } = require('../config')
|
|
||||||
const Key = require('../contact-api/key')
|
const Key = require('../contact-api/key')
|
||||||
|
|
||||||
/** @type {import('../contact-api/SimpleGUN').ISEA} */
|
/** @type {import('../contact-api/SimpleGUN').ISEA} */
|
||||||
|
|
@ -1277,23 +1277,33 @@ const register = async (alias, pass) => {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const shocknetPeerInUse = PEERS.includes(SHOCK_SUPER_PEER)
|
if (DISABLE_PEER_ALIAS_CHECK) {
|
||||||
|
logger.warn(`DISABLE_PEER_ALIAS_CHECK true, use only for testing purposes`)
|
||||||
if (shocknetPeerInUse) {
|
} else {
|
||||||
/**
|
/**
|
||||||
* @type {Record<string, any>}
|
* Peers provided to gun.
|
||||||
*/
|
*/
|
||||||
// @ts-ignore
|
|
||||||
const currPeers = gun._.opt.peers
|
const currPeers = gun._.opt.peers
|
||||||
// This is a very basic test, only checks that the websocket is there but
|
|
||||||
// doesn't necessarily mean it is connected or that super peer is UP
|
|
||||||
const shocknetPeerConnected = !!currPeers[SHOCK_SUPER_PEER].wire
|
|
||||||
|
|
||||||
if (!shocknetPeerConnected) {
|
if (size(currPeers) === 0) {
|
||||||
|
logger.info(
|
||||||
|
`Unexpected: Duplicate alias check enabled but Gun has no peers set. If you're testing gun without peers set DISABLE_PEER_ALIAS_CHECK to true.`
|
||||||
|
)
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`API Must be connected to super peer to check for duplicate aliases`
|
`Unexpected: Duplicate alias check enabled but Gun has no peers set.`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Of those, how many are actually connected
|
||||||
|
*/
|
||||||
|
const connectedPeers = Object.values(currPeers).filter(p => !!p.wire).length
|
||||||
|
|
||||||
|
if (connectedPeers === 0) {
|
||||||
|
throw new Error(
|
||||||
|
`No connected peers, therefore cannot check for duplicate aliases.`
|
||||||
|
)
|
||||||
|
} // else it's connected to at least one
|
||||||
}
|
}
|
||||||
|
|
||||||
// this import is done here to avoid circular dependency hell
|
// this import is done here to avoid circular dependency hell
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue