@kdonev/termscape 0.1.9 → 0.2.1

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.
Files changed (103) hide show
  1. package/README.md +111 -45
  2. package/dist/cli-args.d.ts +10 -0
  3. package/dist/cli-args.d.ts.map +1 -1
  4. package/dist/cli-args.js +2 -0
  5. package/dist/cli-args.js.map +1 -1
  6. package/dist/cli.js +15 -258
  7. package/dist/cli.js.map +1 -1
  8. package/dist/hub.d.ts +28 -1
  9. package/dist/hub.d.ts.map +1 -1
  10. package/dist/hub.js +65 -2
  11. package/dist/hub.js.map +1 -1
  12. package/dist/hub.tgz +0 -0
  13. package/dist/main.d.ts +7 -0
  14. package/dist/main.d.ts.map +1 -0
  15. package/dist/main.js +343 -0
  16. package/dist/main.js.map +1 -0
  17. package/dist/protocol/domain.d.ts +35 -0
  18. package/dist/protocol/domain.d.ts.map +1 -1
  19. package/dist/protocol/domain.js +31 -2
  20. package/dist/protocol/domain.js.map +1 -1
  21. package/dist/protocol/index.d.ts +1 -0
  22. package/dist/protocol/index.d.ts.map +1 -1
  23. package/dist/protocol/index.js +1 -0
  24. package/dist/protocol/index.js.map +1 -1
  25. package/dist/protocol/mouse.d.ts +14 -0
  26. package/dist/protocol/mouse.d.ts.map +1 -1
  27. package/dist/protocol/mouse.js +16 -0
  28. package/dist/protocol/mouse.js.map +1 -1
  29. package/dist/protocol/peer.d.ts +23 -0
  30. package/dist/protocol/peer.d.ts.map +1 -1
  31. package/dist/protocol/peer.js +45 -1
  32. package/dist/protocol/peer.js.map +1 -1
  33. package/dist/protocol/version.d.ts +12 -0
  34. package/dist/protocol/version.d.ts.map +1 -0
  35. package/dist/protocol/version.js +37 -0
  36. package/dist/protocol/version.js.map +1 -0
  37. package/dist/protocol/ws.d.ts +103 -1
  38. package/dist/protocol/ws.d.ts.map +1 -1
  39. package/dist/protocol/ws.js +45 -1
  40. package/dist/protocol/ws.js.map +1 -1
  41. package/dist/remote/enroll.d.ts.map +1 -1
  42. package/dist/remote/enroll.js +22 -1
  43. package/dist/remote/enroll.js.map +1 -1
  44. package/dist/remote/join.d.ts.map +1 -1
  45. package/dist/remote/join.js +10 -1
  46. package/dist/remote/join.js.map +1 -1
  47. package/dist/remote/peer-serve.d.ts.map +1 -1
  48. package/dist/remote/peer-serve.js +23 -0
  49. package/dist/remote/peer-serve.js.map +1 -1
  50. package/dist/remote/peer.d.ts +7 -0
  51. package/dist/remote/peer.d.ts.map +1 -1
  52. package/dist/remote/peer.js +25 -1
  53. package/dist/remote/peer.js.map +1 -1
  54. package/dist/remote/registry.d.ts +24 -2
  55. package/dist/remote/registry.d.ts.map +1 -1
  56. package/dist/remote/registry.js +91 -5
  57. package/dist/remote/registry.js.map +1 -1
  58. package/dist/server.d.ts.map +1 -1
  59. package/dist/server.js +76 -8
  60. package/dist/server.js.map +1 -1
  61. package/dist/session/manager.d.ts.map +1 -1
  62. package/dist/session/manager.js +7 -1
  63. package/dist/session/manager.js.map +1 -1
  64. package/dist/session/paste-image.d.ts +19 -0
  65. package/dist/session/paste-image.d.ts.map +1 -0
  66. package/dist/session/paste-image.js +65 -0
  67. package/dist/session/paste-image.js.map +1 -0
  68. package/dist/supervisor.d.ts +44 -0
  69. package/dist/supervisor.d.ts.map +1 -0
  70. package/dist/supervisor.js +125 -0
  71. package/dist/supervisor.js.map +1 -0
  72. package/dist/update/host.d.ts +19 -0
  73. package/dist/update/host.d.ts.map +1 -0
  74. package/dist/update/host.js +56 -0
  75. package/dist/update/host.js.map +1 -0
  76. package/dist/update/install.d.ts +38 -0
  77. package/dist/update/install.d.ts.map +1 -0
  78. package/dist/update/install.js +81 -0
  79. package/dist/update/install.js.map +1 -0
  80. package/dist/update/post-install.d.ts +2 -0
  81. package/dist/update/post-install.d.ts.map +1 -0
  82. package/dist/update/post-install.js +39 -0
  83. package/dist/update/post-install.js.map +1 -0
  84. package/dist/update/restart.d.ts +31 -0
  85. package/dist/update/restart.d.ts.map +1 -0
  86. package/dist/update/restart.js +65 -0
  87. package/dist/update/restart.js.map +1 -0
  88. package/dist/update/resume.d.ts +5 -0
  89. package/dist/update/resume.d.ts.map +1 -0
  90. package/dist/update/resume.js +47 -0
  91. package/dist/update/resume.js.map +1 -0
  92. package/dist/update/updater.d.ts +57 -0
  93. package/dist/update/updater.d.ts.map +1 -0
  94. package/dist/update/updater.js +190 -0
  95. package/dist/update/updater.js.map +1 -0
  96. package/dist/window/app-window.js +43 -1
  97. package/dist/window/app-window.js.map +1 -1
  98. package/package.json +1 -1
  99. package/web/assets/index-85NfOib0.js +111 -0
  100. package/web/assets/index-Czi_vAR-.css +1 -0
  101. package/web/index.html +2 -2
  102. package/web/assets/index-gfbbNQK4.css +0 -1
  103. package/web/assets/index-i7fXLKF0.js +0 -111
@@ -129,6 +129,27 @@ export function registerEnrollment(app, opts) {
129
129
  return refuse('expected hello', 'bad-hello');
130
130
  }
131
131
  const hello = parsed.data;
132
+ /*
133
+ * A machine this canvas knows, a schema behind, whose hub can update
134
+ * itself. Refusing it would leave nothing to click: it is kept on the
135
+ * line as outdated instead, and the only thing ever sent to it is the
136
+ * `update` the user asks for. A host *ahead* of the canvas is still
137
+ * refused - the canvas is the one to update there.
138
+ */
139
+ if (hello.schemaVersion < PEER_SCHEMA_VERSION && hello.canUpdate) {
140
+ const known = hub.store.hostByToken(hello.token);
141
+ if (known) {
142
+ settled = true;
143
+ reply({
144
+ t: 'welcome',
145
+ hubVersion: HUB_VERSION,
146
+ schemaVersion: PEER_SCHEMA_VERSION,
147
+ outdated: true,
148
+ });
149
+ hub.peers.addOutdated(known, socket, hello.hubVersion);
150
+ return;
151
+ }
152
+ }
132
153
  if (hello.schemaVersion !== PEER_SCHEMA_VERSION) {
133
154
  return refuse(`peer schema mismatch: you speak v${hello.schemaVersion}, this hub speaks ` +
134
155
  `v${PEER_SCHEMA_VERSION}. Re-run the join command to get a matching hub.`, 'schema-mismatch');
@@ -185,7 +206,7 @@ export function registerEnrollment(app, opts) {
185
206
  schemaVersion: PEER_SCHEMA_VERSION,
186
207
  ...(issuedToken ? { hostToken: issuedToken } : {}),
187
208
  });
188
- hub.peers.addInbound(host, socket, hello.hubVersion);
209
+ hub.peers.addInbound(host, socket, hello.hubVersion, hello.canUpdate === true);
189
210
  };
190
211
  socket.on('message', onHello);
191
212
  });
@@ -1 +1 @@
1
- {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../../src/remote/enroll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enroll.js","sourceRoot":"","sources":["../../src/remote/enroll.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/remote/join.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAuBlD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,UAAU,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,IAAI,IAAI,CAAC;CACd;AA2DD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,CA4JtD"}
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/remote/join.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAuBlD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,UAAU,EAAE,UAAU,CAAC;IACvB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,IAAI,IAAI,CAAC;CACd;AA2DD,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,QAAQ,CAwKtD"}
@@ -127,6 +127,7 @@ export function joinCanvas(opts) {
127
127
  token: hostToken ?? opts.joinToken,
128
128
  hubVersion: HUB_VERSION,
129
129
  schemaVersion: PEER_SCHEMA_VERSION,
130
+ canUpdate: true,
130
131
  // Only on first contact: after that the host token identifies us and
131
132
  // the canvas hub already has a row describing this machine.
132
133
  ...(hostToken
@@ -185,7 +186,11 @@ export function joinCanvas(opts) {
185
186
  }
186
187
  if (msg.t !== 'welcome')
187
188
  return;
188
- if (msg.schemaVersion !== PEER_SCHEMA_VERSION) {
189
+ // A canvas ahead of us that kept us on the line anyway, so it can tell
190
+ // us to update. Nothing works until then, but refusing would leave the
191
+ // canvas nobody to send that to.
192
+ const outdated = msg.outdated === true && msg.schemaVersion > PEER_SCHEMA_VERSION;
193
+ if (msg.schemaVersion !== PEER_SCHEMA_VERSION && !outdated) {
189
194
  fatal(`schema mismatch: the canvas hub ${msg.hubVersion} speaks v${msg.schemaVersion}, ` +
190
195
  `this hub speaks v${PEER_SCHEMA_VERSION}. Update whichever is older.`);
191
196
  ws.close();
@@ -201,6 +206,10 @@ export function joinCanvas(opts) {
201
206
  // Hand the socket to the same code that serves an accepted /peer link.
202
207
  // The canvas hub drives from here; we answer.
203
208
  opts.peerServer.serve(ws, { preAuthed: true });
209
+ if (outdated) {
210
+ log(`the canvas hub ${msg.hubVersion} is newer than this one (${HUB_VERSION}); ` +
211
+ 'waiting for it to be updated from the canvas');
212
+ }
204
213
  // Machine-readable: the installer waits for this, not for the port.
205
214
  log(`TERMSCAPE_JOINED=1 joined ${opts.hubUrl}`);
206
215
  };
@@ -1 +1 @@
1
- {"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/remote/join.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/remote/join.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"peer-serve.d.ts","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,EAQlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAwBrC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iEAAiE;IACjE,MAAM,IAAI,SAAS,EAAE,CAAC;IACtB;;;;;OAKG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3B,sEAAsE;IACtE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,yDAAyD;IACzD,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAiY1E"}
1
+ {"version":3,"file":"peer-serve.d.ts","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,YAAY,EAQlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAyBrC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,iEAAiE;IACjE,MAAM,IAAI,SAAS,EAAE,CAAC;IACtB;;;;;OAKG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3B,sEAAsE;IACtE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,yDAAyD;IACzD,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAyZ1E"}
@@ -4,6 +4,7 @@ import { PeerRequest, PEER_SCHEMA_VERSION, describeInput, describeLatin1, descri
4
4
  import { HUB_VERSION } from '../hub.js';
5
5
  import { debug, debugOn } from '../debug.js';
6
6
  import { checkFolder } from '../folders.js';
7
+ import { savePastedImage } from '../session/paste-image.js';
7
8
  /**
8
9
  * The answering half of the hub-to-hub link: it serves requests about *this*
9
10
  * hub's sessions and pushes its state changes.
@@ -218,9 +219,23 @@ export function createPeerServer(hub, clientToken) {
218
219
  // this process is gone. Whoever owns the process lifecycle
219
220
  // listens for this; nothing here calls process.exit, so an
220
221
  // in-process test hub is not taken down with it.
222
+ // Going down to be replaced, not dropped: the next hub brings
223
+ // back what is running now.
224
+ if (req.resume)
225
+ hub.rememberRunning();
221
226
  ok({ stopping: true });
222
227
  setTimeout(() => hub.emit('peerShutdown'), 50);
223
228
  return;
229
+ case 'update':
230
+ // Whoever started this hub knows where it came from - a joined
231
+ // hub knows its canvas - so the work is theirs. They answer once
232
+ // the installer is fetched and running: a failure to get that far
233
+ // is worth telling the canvas, and after it this process is gone.
234
+ if (hub.listenerCount('peerUpdate') === 0) {
235
+ return err('this hub was not started by joining a canvas, so it cannot update itself');
236
+ }
237
+ hub.emit('peerUpdate', (failure) => failure ? err(failure) : ok({ updating: true }));
238
+ return;
224
239
  case 'stopSession': {
225
240
  const t = hub.sessions.getByAddress(req.address);
226
241
  if (!t)
@@ -310,6 +325,14 @@ export function createPeerServer(hub, clientToken) {
310
325
  }
311
326
  return ok({ ok: true });
312
327
  }
328
+ case 'pasteImage': {
329
+ const t = hub.sessions.getByAddress(req.address);
330
+ if (!t)
331
+ return err(`no agent at address "${req.address}"`);
332
+ const path = savePastedImage(t.id, req.mime, req.data);
333
+ debug('input', `peer paste image ${req.id} ${req.address} saved: ${path}`);
334
+ return ok({ path });
335
+ }
313
336
  case 'resize': {
314
337
  const t = hub.sessions.getByAddress(req.address);
315
338
  debug('attach', `resize ${req.address} -> ${req.cols}x${req.rows}` +
@@ -1 +1 @@
1
- {"version":3,"file":"peer-serve.js","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer-serve.js","sourceRoot":"","sources":["../../src/remote/peer-serve.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,13 @@ export declare class PeerConnection extends EventEmitter {
48
48
  * state the welcome path would have reached.
49
49
  */
50
50
  adopt(socket: WebSocket, remoteVersion: string): void;
51
+ /**
52
+ * Take a socket from a host a schema behind this hub. Only replies are
53
+ * read from it - its unsolicited frames may not even parse here - and
54
+ * nothing is fetched on the way in: the only thing ever asked of it is
55
+ * `update` or `shutdown`, whose shapes never change.
56
+ */
57
+ adoptLimited(socket: WebSocket, remoteVersion: string): void;
51
58
  /** Everything that must happen once a socket is usable, either way in. */
52
59
  private onLive;
53
60
  private onMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,SAAQ,YAAY;IASlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAuB;gBAEhB,IAAI,EAAE,WAAW;IAI9C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,iEAAiE;IACjE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,IAAI;IAsCf;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiCrD,0EAA0E;IAC1E,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,SAAS;IAsEjB,OAAO,CAAC,cAAc;IAQtB,0CAA0C;IAC1C,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,KAAK,IAAI,IAAI;CAYd"}
1
+ {"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAe,SAAQ,YAAY;IASlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IARjC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAuB;gBAEhB,IAAI,EAAE,WAAW;IAI9C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAEjC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,iEAAiE;IACjE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,IAAI;IAsCf;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiCrD;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAgB5D,0EAA0E;IAC1E,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,SAAS;IAuEjB,OAAO,CAAC,cAAc;IAQtB,0CAA0C;IAC1C,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;IAoB5C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAY9B;;;;;OAKG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,KAAK,IAAI,IAAI;CAYd"}
@@ -113,6 +113,28 @@ export class PeerConnection extends EventEmitter {
113
113
  this.emit('connected', remoteVersion);
114
114
  this.onLive();
115
115
  }
116
+ /**
117
+ * Take a socket from a host a schema behind this hub. Only replies are
118
+ * read from it - its unsolicited frames may not even parse here - and
119
+ * nothing is fetched on the way in: the only thing ever asked of it is
120
+ * `update` or `shutdown`, whose shapes never change.
121
+ */
122
+ adoptLimited(socket, remoteVersion) {
123
+ this.ws = socket;
124
+ this._remoteVersion = remoteVersion;
125
+ socket.on('message', (raw) => this.onMessage(raw, true));
126
+ socket.on('close', () => {
127
+ if (this.ws && this.ws !== socket)
128
+ return;
129
+ this.ws = null;
130
+ this.failAllPending('peer connection closed');
131
+ this.emit('disconnected');
132
+ });
133
+ socket.on('error', (err) => {
134
+ this.emit('error', err);
135
+ socket.close();
136
+ });
137
+ }
116
138
  /** Everything that must happen once a socket is usable, either way in. */
117
139
  onLive() {
118
140
  for (const address of this.attached) {
@@ -124,7 +146,7 @@ export class PeerConnection extends EventEmitter {
124
146
  }
125
147
  void this.refresh();
126
148
  }
127
- onMessage(raw) {
149
+ onMessage(raw, repliesOnly = false) {
128
150
  let parsed;
129
151
  try {
130
152
  parsed = PeerResponse.safeParse(JSON.parse(raw.toString('utf8')));
@@ -135,6 +157,8 @@ export class PeerConnection extends EventEmitter {
135
157
  if (!parsed.success)
136
158
  return;
137
159
  const msg = parsed.data;
160
+ if (repliesOnly && msg.t !== 'ok' && msg.t !== 'err')
161
+ return;
138
162
  switch (msg.t) {
139
163
  case 'welcome': {
140
164
  // Refuse a peer we cannot speak to correctly rather than half-working.
@@ -1 +1 @@
1
- {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/remote/peer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,mBAAmB,EACnB,YAAY,GAIb,MAAM,qBAAqB,CAAC;AAmB7B,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IASjB;IARrB,EAAE,GAAqB,IAAI,CAAC;IACnB,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IACrC,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,GAAG,KAAK,CAAC;IACf,OAAO,GAAG,GAAG,CAAC;IACd,UAAU,GAAG,KAAK,CAAC;IACnB,cAAc,GAAkB,IAAI,CAAC;IAE7C,YAA6B,IAAiB;QAC5C,KAAK,EAAE,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAa;IAE9C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,+BAA+B,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAEb,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;gBACb,CAAC,EAAE,OAAO;gBACV,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC5B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,aAAa,EAAE,mBAAmB;aACb,CAAC,CACzB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;YAC9C,IAAI,YAAY;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxB,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAiB,EAAE,aAAqB;QAC5C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QAEjB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,oEAAoE;YACpE,2DAA2D;YAC3D,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM;gBAAE,OAAO;YAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;YAC9C,IAAI,YAAY;gBAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5C,wEAAwE;YACxE,gDAAgD;QAClD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAiB,EAAE,aAAqB;QACnD,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM;gBAAE,OAAO;YAC1C,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAClE,MAAM;QACZ,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,yEAAyE;YACzE,mEAAmE;YACnE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACvE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,WAAW,GAAG,KAAK;QAChD,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,WAAW,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,KAAK;YAAE,OAAO;QAE7D,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;YACd,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,uEAAuE;gBACvE,IAAI,GAAG,CAAC,aAAa,KAAK,mBAAmB,EAAE,CAAC;oBAC9C,IAAI,CAAC,IAAI,CACP,OAAO,EACP,IAAI,KAAK,CACP,oCAAoC,GAAG,CAAC,UAAU,YAAY,GAAG,CAAC,aAAa,IAAI;wBACjF,oBAAoB,mBAAmB,4BAA4B,CACtE,CACF,CAAC;oBACF,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC;gBACrC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;gBACvC,yDAAyD;gBACzD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,KAAK,IAAI,CAAC;YACV,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC;oBAAE,OAAO;gBACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5B,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI;oBAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;oBACrC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,KAAK,UAAU;gBACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,QAAqB,CAAC,CAAC;gBACjD,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,MAA4B,CAAC,CAAC;gBACtD,OAAO;YACT,KAAK,iBAAiB;gBACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAkB,CAAC,CAAC;gBACrD,OAAO;YACT,KAAK,gBAAgB;gBACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO;YAET,qEAAqE;YACrE,yEAAyE;YACzE,wEAAwE;YACxE,4BAA4B;YAC5B,KAAK,OAAO;gBACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,OAAO;QACX,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,OAAO,CAAc,GAAgB;QACnC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/C,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE;gBACnB,OAAO,EAAE,OAA+B;gBACxC,MAAM;gBACN,KAAK;aACN,CAAC,CAAC;YACH,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAY;gBAC7C,CAAC,EAAE,cAAc;gBACjB,EAAE,EAAE,UAAU,EAAE;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAqB;gBACpD,CAAC,EAAE,YAAY;gBACf,EAAE,EAAE,UAAU,EAAE;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;YAC/D,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,qEAAqE;QACrE,qEAAqE;QACrE,wDAAwD;QACxD,IAAI,YAAY;YAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -59,6 +59,10 @@ export declare class PeerRegistry extends EventEmitter {
59
59
  * foreign key would reject a parent that is not one of its own.
60
60
  */
61
61
  private readonly lineage;
62
+ /** Hosts a schema behind, held only so they can be told to update. */
63
+ private readonly outdated;
64
+ /** Enrolled hosts whose hello said they understand `update`. */
65
+ private readonly updatable;
62
66
  constructor(store: Store, hubVersion: string,
63
67
  /**
64
68
  * Resolves a local session's address to its id. Lineage can arrive as an
@@ -73,7 +77,23 @@ export declare class PeerRegistry extends EventEmitter {
73
77
  * same routing — only the direction of the dial differs, and nothing
74
78
  * downstream of here can tell.
75
79
  */
76
- addInbound(host: Host, socket: WsSocket, remoteVersion: string): PeerConnection;
80
+ addInbound(host: Host, socket: WsSocket, remoteVersion: string, canUpdate?: boolean): PeerConnection;
81
+ /**
82
+ * Keep a host that speaks an older schema on the line, only so it can be
83
+ * told to update. It is not a peer in any other sense: it lives outside
84
+ * `peers`, so nothing that walks the canvas's machines - the directory,
85
+ * routing, agent detection - ever sends it a frame it cannot parse.
86
+ */
87
+ addOutdated(host: Host, socket: WsSocket, remoteVersion: string): void;
88
+ private markUpdatable;
89
+ /** A host as the browser should see it: with whether it can be updated. */
90
+ decorate(host: Host): Host;
91
+ /**
92
+ * Tell an enrolled host to fetch this hub's build and restart into it. It
93
+ * answers before it goes, so a reply is the whole of the success there is
94
+ * to report here; coming back at the new version is the rest.
95
+ */
96
+ requestUpdate(hostId: string): Promise<void>;
77
97
  private create;
78
98
  /** What every attached machine has installed, by host id. */
79
99
  agentsByHost(): Record<string, AgentProfileInfo[]>;
@@ -173,7 +193,9 @@ export declare class PeerRegistry extends EventEmitter {
173
193
  * Ask a peer to stop its whole hub. Best effort by nature: it may already be
174
194
  * gone, and it stops answering the moment it obeys.
175
195
  */
176
- requestShutdown(hostId: string): Promise<boolean>;
196
+ requestShutdown(hostId: string, opts?: {
197
+ resume?: boolean;
198
+ }): Promise<boolean>;
177
199
  stopSession(address: string): Promise<void>;
178
200
  readScreen(address: string, lines?: number): Promise<unknown>;
179
201
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/remote/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/remote/registry.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,10 @@ export class PeerRegistry extends EventEmitter {
58
58
  * foreign key would reject a parent that is not one of its own.
59
59
  */
60
60
  lineage = new Map();
61
+ /** Hosts a schema behind, held only so they can be told to update. */
62
+ outdated = new Map();
63
+ /** Enrolled hosts whose hello said they understand `update`. */
64
+ updatable = new Set();
61
65
  constructor(store, hubVersion,
62
66
  /**
63
67
  * Resolves a local session's address to its id. Lineage can arrive as an
@@ -82,11 +86,67 @@ export class PeerRegistry extends EventEmitter {
82
86
  * same routing — only the direction of the dial differs, and nothing
83
87
  * downstream of here can tell.
84
88
  */
85
- addInbound(host, socket, remoteVersion) {
89
+ addInbound(host, socket, remoteVersion, canUpdate = false) {
90
+ this.markUpdatable(host.id, canUpdate);
86
91
  const peer = this.create(host, {});
87
92
  peer.adopt(socket, remoteVersion);
88
93
  return peer;
89
94
  }
95
+ /**
96
+ * Keep a host that speaks an older schema on the line, only so it can be
97
+ * told to update. It is not a peer in any other sense: it lives outside
98
+ * `peers`, so nothing that walks the canvas's machines - the directory,
99
+ * routing, agent detection - ever sends it a frame it cannot parse.
100
+ */
101
+ addOutdated(host, socket, remoteVersion) {
102
+ this.remove(host.id);
103
+ this.markUpdatable(host.id, true);
104
+ const peer = new PeerConnection({ hostId: host.id, hubVersion: this.hubVersion });
105
+ peer.on('error', () => {
106
+ // Nothing to do: it is already outdated, and it redials on its own.
107
+ });
108
+ peer.on('disconnected', () => {
109
+ if (this.outdated.get(host.id) !== peer)
110
+ return;
111
+ this.outdated.delete(host.id);
112
+ this.updateHost(host.id, { state: 'disconnected' });
113
+ });
114
+ this.outdated.set(host.id, peer);
115
+ peer.adoptLimited(socket, remoteVersion);
116
+ this.updateHost(host.id, {
117
+ state: 'outdated',
118
+ hubVersion: remoteVersion,
119
+ error: null,
120
+ });
121
+ }
122
+ markUpdatable(hostId, canUpdate) {
123
+ if (canUpdate)
124
+ this.updatable.add(hostId);
125
+ else
126
+ this.updatable.delete(hostId);
127
+ }
128
+ /** A host as the browser should see it: with whether it can be updated. */
129
+ decorate(host) {
130
+ return {
131
+ ...host,
132
+ canUpdate: host.kind === 'ssh' || this.updatable.has(host.id),
133
+ };
134
+ }
135
+ /**
136
+ * Tell an enrolled host to fetch this hub's build and restart into it. It
137
+ * answers before it goes, so a reply is the whole of the success there is
138
+ * to report here; coming back at the new version is the rest.
139
+ */
140
+ async requestUpdate(hostId) {
141
+ const peer = this.outdated.get(hostId) ?? this.peers.get(hostId);
142
+ if (!peer || (!peer.connected && !this.outdated.has(hostId))) {
143
+ throw new Error('that machine is not connected');
144
+ }
145
+ if (!this.updatable.has(hostId)) {
146
+ throw new Error('the hub on that machine is too old to update itself; re-run the join command there once');
147
+ }
148
+ await peer.request({ t: 'update', id: randomUUID() });
149
+ }
90
150
  create(host, opts) {
91
151
  const existing = this.peers.get(host.id);
92
152
  if (existing?.connected) {
@@ -106,7 +166,18 @@ export class PeerRegistry extends EventEmitter {
106
166
  ...opts,
107
167
  hubVersion: this.hubVersion,
108
168
  });
169
+ /*
170
+ * Whether this peer is still the one the host is on. A socket that has
171
+ * been replaced - by a redial, or by the same machine coming back a
172
+ * schema behind - can fail long after it stopped being current, and its
173
+ * close or error would otherwise stamp `disconnected` or `error` over the
174
+ * row its successor is keeping. The state a superseded socket reports is
175
+ * about the socket, not about the machine.
176
+ */
177
+ const current = () => this.peers.get(host.id) === peer;
109
178
  peer.on('connected', (version) => {
179
+ if (!current())
180
+ return;
110
181
  this.updateHost(host.id, { state: 'connected', hubVersion: version, error: null });
111
182
  // A host that was unreachable when the user closed one of its windows
112
183
  // has an instruction waiting for it.
@@ -118,12 +189,16 @@ export class PeerRegistry extends EventEmitter {
118
189
  void peer.refreshAgents();
119
190
  });
120
191
  peer.on('disconnected', () => {
192
+ if (!current())
193
+ return;
121
194
  this.updateHost(host.id, { state: 'disconnected' });
122
195
  // Windows stay on the canvas (layout is local) but go offline, rather
123
196
  // than vanishing and losing the user's arrangement.
124
197
  this.emit('peerSessionsChanged', host.id);
125
198
  });
126
199
  peer.on('error', (err) => {
200
+ if (!current())
201
+ return;
127
202
  this.updateHost(host.id, { state: 'error', error: err.message });
128
203
  });
129
204
  peer.on('sessions', (sessions) => {
@@ -197,6 +272,9 @@ export class PeerRegistry extends EventEmitter {
197
272
  void peer.refreshAgents();
198
273
  }
199
274
  remove(hostId) {
275
+ const outdated = this.outdated.get(hostId);
276
+ this.outdated.delete(hostId);
277
+ outdated?.close();
200
278
  this.peers.get(hostId)?.close();
201
279
  this.peers.delete(hostId);
202
280
  this.remote.delete(hostId);
@@ -206,6 +284,9 @@ export class PeerRegistry extends EventEmitter {
206
284
  this.emit('peerSessionsChanged', hostId);
207
285
  }
208
286
  closeAll() {
287
+ for (const p of this.outdated.values())
288
+ p.close();
289
+ this.outdated.clear();
209
290
  for (const p of this.peers.values())
210
291
  p.close();
211
292
  this.peers.clear();
@@ -480,12 +561,17 @@ export class PeerRegistry extends EventEmitter {
480
561
  * Ask a peer to stop its whole hub. Best effort by nature: it may already be
481
562
  * gone, and it stops answering the moment it obeys.
482
563
  */
483
- async requestShutdown(hostId) {
484
- const peer = this.peers.get(hostId);
485
- if (!peer?.connected)
564
+ async requestShutdown(hostId, opts = {}) {
565
+ const outdated = this.outdated.get(hostId);
566
+ const peer = outdated ?? this.peers.get(hostId);
567
+ if (!peer || (!outdated && !peer.connected))
486
568
  return false;
487
569
  try {
488
- await peer.request({ t: 'shutdown', id: randomUUID() });
570
+ await peer.request({
571
+ t: 'shutdown',
572
+ id: randomUUID(),
573
+ ...(opts.resume ? { resume: true } : {}),
574
+ });
489
575
  return true;
490
576
  }
491
577
  catch {