@mmmbuto/nexuscrew 0.8.48 → 0.8.49

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.
@@ -11,7 +11,7 @@
11
11
  <meta name="apple-mobile-web-app-title" content="NexusCrew" />
12
12
  <link rel="manifest" href="/manifest.json" />
13
13
  <title>NexusCrew</title>
14
- <script type="module" crossorigin src="/assets/index-C_SyIZ78.js"></script>
14
+ <script type="module" crossorigin src="/assets/index-BZ1dY5k6.js"></script>
15
15
  <link rel="stylesheet" crossorigin href="/assets/index-43DFO1EH.css">
16
16
  </head>
17
17
  <body>
@@ -1 +1 @@
1
- {"version":"0.8.48"}
1
+ {"version":"0.8.49"}
package/lib/server.js CHANGED
@@ -187,9 +187,20 @@ function createServer(opts = {}) {
187
187
  const key = reverseKey(active.port, expectedGeneration);
188
188
  const existing = entries.get(key);
189
189
  if (existing) return existing;
190
+ // Il listener prova la PROPRIA identita' a chi compone la sfida, e l'altro
191
+ // capo la costruisce con l'id di QUESTA installazione (probeReverseOwner usa
192
+ // `peer.nodeId`, cioe' noi visti da lui). `node.nodeId` e' invece l'id del
193
+ // nodo REMOTO — lo store lo impone, rifiutando come self-reference una voce
194
+ // il cui nodeId eguagli il proprio. Registrarlo faceva firmare due tuple
195
+ // diverse ai due capi: la prova non tornava mai e Share si spegneva con un
196
+ // errore definitivo, non ritentabile.
197
+ const localInstanceId = (nodesStore.loadStore(nodesPath) || {}).nodeId || null;
198
+ // Fail-closed: senza identita' locale il listener nascerebbe con una prova
199
+ // che nessuno puo' validare. Meglio non aprirlo che aprirlo indimostrabile.
200
+ if (!localInstanceId) return null;
190
201
  const listener = await reverseSlotListeners.open({
191
202
  nodeName: node.name, remotePort: active.port, generation: expectedGeneration,
192
- instanceId: node.nodeId, secret: node.acceptToken,
203
+ instanceId: localInstanceId, secret: node.acceptToken,
193
204
  });
194
205
  let launched = nodesTunnel.startReverseForward({
195
206
  home: cfg.home || os.homedir(), node, remotePort: active.port, generation: expectedGeneration,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmmbuto/nexuscrew",
3
- "version": "0.8.48",
3
+ "version": "0.8.49",
4
4
  "description": "Faithful browser tmux client — attach to live sessions over a real PTY, localhost-only, mobile-easy",
5
5
  "main": "lib/server.js",
6
6
  "bin": {