holepunch-hop 0.3.5 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "holepunch-hop",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "data interface to HOP",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
package/src/bees.js CHANGED
@@ -350,7 +350,7 @@ class HyperBee extends EventEmitter {
350
350
  let cuesData = []
351
351
  for await (const { key, value } of cuesHistory) {
352
352
  cuesData.push({ key, value })
353
- }
353
+ }
354
354
  return cuesData
355
355
  }
356
356
 
@@ -541,7 +541,7 @@ class HyperBee extends EventEmitter {
541
541
  let cuesData = []
542
542
  for await (const { key, value } of cuesHistory) {
543
543
  cuesData.push({ key, value })
544
- }
544
+ }
545
545
  return cuesData
546
546
  }
547
547
 
package/src/index.js CHANGED
@@ -249,13 +249,26 @@ class HolepunchWorker extends EventEmitter {
249
249
  // from peer generating the invite
250
250
  this.Peers.setRole({ pubkey: message.data.publickey, codename: message.data.codename, name: message.data.name })
251
251
  } else if (message.task === 'cue-space') {
252
- this.Peers.peerAlreadyJoinSetData(message.data)
253
- let peerActionData = this.Peers.peerHolder[message.data.publickey]
254
- this.Peers.routeDataPath(reEstablishShort.peer.value.livePeerkey, peerActionData.data)
252
+ // first time or turning
253
+ if (Object.keys(reEstablishShort.peer).length === 0) {
254
+ this.Peers.peerAlreadyJoinSetData(message.data)
255
+ let peerActionData = this.Peers.peerHolder[message.data.publickey]
256
+ this.Peers.routeDataPath(message.data.publickey, peerActionData.data)
257
+ } else {
258
+ this.Peers.peerAlreadyJoinSetData(message.data)
259
+ let peerActionData = this.Peers.peerHolder[message.data.publickey]
260
+ this.Peers.routeDataPath(reEstablishShort.peer.value.livePeerkey, peerActionData.data)
261
+ }
255
262
  } else if (message.task === 'public-n1-experiment') {
256
- this.Peers.peerAlreadyJoinSetData(message.data)
257
- let peerActionData = this.Peers.peerHolder[message.data.publickey]
258
- this.Peers.routeDataPath(reEstablishShort.peer.value.livePeerkey, peerActionData.data)
263
+ if (Object.keys(reEstablishShort.peer).length === 0) {
264
+ this.Peers.peerAlreadyJoinSetData(message.data)
265
+ let peerActionData = this.Peers.peerHolder[message.data.publickey]
266
+ this.Peers.routeDataPath(message.data.publickey, peerActionData.data)
267
+ } else {
268
+ this.Peers.peerAlreadyJoinSetData(message.data)
269
+ let peerActionData = this.Peers.peerHolder[message.data.publickey]
270
+ this.Peers.routeDataPath(reEstablishShort.peer.value.livePeerkey, peerActionData.data)
271
+ }
259
272
  }
260
273
  }
261
274
  }
@@ -421,4 +434,4 @@ class HolepunchWorker extends EventEmitter {
421
434
 
422
435
  }
423
436
 
424
- export default HolepunchWorker
437
+ export default HolepunchWorker
package/src/peers.js CHANGED
@@ -78,7 +78,9 @@ class NetworkPeers extends EventEmitter {
78
78
  *
79
79
  */
80
80
  setupConnectionBegin = function (peerNetwork) {
81
- for (let sPeer of peerNetwork) {
81
+ this.peerNetwork = peerNetwork
82
+ for (let sPeer of this.peerNetwork) {
83
+ // sPeer.value.key = publicKeylive
82
84
  if (sPeer.value.settopic === true) {
83
85
  // client role
84
86
  this.topicConnect(sPeer.value.topic)
@@ -107,8 +109,6 @@ class NetworkPeers extends EventEmitter {
107
109
  */
108
110
  listenNetwork = function () {
109
111
  this.swarm.on('connection', (conn, info) => {
110
- // console.log('peerinfo FIRST------------')
111
- // console.log(info)
112
112
  // save peer connection instance for ongoing communication
113
113
  // listen for replication NEED UPTATED LOGIC
114
114
  this.store.replicate(conn)
@@ -176,10 +176,11 @@ class NetworkPeers extends EventEmitter {
176
176
 
177
177
  if (serverStatus === true) {
178
178
  // set to live
179
+ // update livePeerkey to true??
179
180
  let originalKey = ''
180
181
  for (let savePeer of this.peerNetwork) {
181
182
  if (savePeer.value.topic === topicServer.topic) {
182
- originalKey = savePeer.value.publickey
183
+ originalKey = savePeer.value.publickey
183
184
  }
184
185
  }
185
186
  // need original connection public key
@@ -379,14 +380,19 @@ class NetworkPeers extends EventEmitter {
379
380
  *
380
381
  */
381
382
  inviteDecoded = function (invite) {
382
- let splitInvite = invite.publickey.split('-')
383
- if (splitInvite.length === 1) {
384
- splitInvite = []
383
+ const [prefix, hexString] = invite.publickey.split(':')
384
+ let splitInvite = []
385
+ if (prefix === 'hop') {
386
+ const next32Bytes = hexString.slice(0, 64)
387
+ const remainder = hexString.slice(64)
385
388
  splitInvite.push('hop')
386
- splitInvite.push(invite.publickey)
387
- splitInvite.push(invite.codename)
389
+ splitInvite.push(next32Bytes)
390
+ splitInvite.push(remainder)
388
391
  } else {
389
392
  // first time split fine
393
+ splitInvite.push('hop')
394
+ splitInvite.push(invite.publickey)
395
+ splitInvite.push(invite.codename)
390
396
  }
391
397
  return splitInvite
392
398
  }