@maka/maka-cli 5.85.0 → 5.86.0

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 (45) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +1 -1
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +8 -6
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +18 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +1 -1
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +2 -2
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.d.ts +1 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +1 -1
  15. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js +20 -0
  16. package/bundle/typescript/src/commands/game/sideQuest/factories/item-factory.js.map +1 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +86 -10
  21. package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +15 -6
  22. package/bundle/typescript/src/commands/game/sideQuest/types/seed/item-seed.d.ts +17 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +1 -1
  24. package/bundle/typescript/src/commands/game/sideQuest/utilities/ddp-lite.d.ts +53 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/utilities/ddp-lite.js +43 -3
  26. package/bundle/typescript/src/commands/game/sideQuest/utilities/ddp-lite.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +7 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +59 -4
  31. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +2 -2
  33. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +16 -0
  35. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +49 -11
  36. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
  37. package/bundle/typescript/src/commands/update.js +6 -20
  38. package/bundle/typescript/src/commands/update.js.map +1 -1
  39. package/bundle/typescript/src/tools/self-update/binary-install.d.ts +113 -0
  40. package/bundle/typescript/src/tools/self-update/binary-install.js +178 -0
  41. package/bundle/typescript/src/tools/self-update/binary-install.js.map +1 -0
  42. package/bundle/typescript/src/tools/self-update/update-maka.d.ts +3 -1
  43. package/bundle/typescript/src/tools/self-update/update-maka.js +219 -3
  44. package/bundle/typescript/src/tools/self-update/update-maka.js.map +1 -1
  45. package/package.json +1 -1
@@ -292,12 +292,21 @@ export interface IReproHost {
292
292
  */
293
293
  rating?: number;
294
294
  /**
295
- * 'wireless' (default) is reachable by any jacked-in persona.
296
- * 'wired' is AIR-GAPPED: hackable only with the actor's body in the
297
- * room. Both are worth benching, and they are not interchangeable --
298
- * every host in the shipped scenes that holds paydata is air-gapped,
299
- * which is why a decker who jacks in and hacks currently only ever
300
- * meets the empty case.
295
+ * 'wireless' (default) is an ordinary host, reachable by any jacked-in
296
+ * persona -- which is now every host, because a host is Matrix
297
+ * architecture by definition (hhSWzLSXECFtfoAGa).
298
+ *
299
+ * 'wired' IS LEGACY AND MEANS SOMETHING ELSE NOW. It no longer makes
300
+ * an air-gapped HOST -- there is no such thing. The Room constructor
301
+ * migrates it to an ordinary host PLUS an offline server device
302
+ * holding the files, reachable only by a direct connection with the
303
+ * actor's body in the room (p.233). Kept so old fixtures still build;
304
+ * prefer 'wireless' and place a server deliberately in new ones.
305
+ *
306
+ * (The claim that used to sit here -- "every host in the shipped
307
+ * scenes that holds paydata is air-gapped" -- was true of the old
308
+ * model and is now false twice over: the model is gone, and the scene
309
+ * prose that said so has been corrected.)
301
310
  */
302
311
  access?: 'wireless' | 'wired';
303
312
  /** Which room carries it. Defaults to the side the runner starts on,
@@ -23,4 +23,21 @@ export interface IItemSeedJson {
23
23
  plane?: 'meat' | 'matrix' | 'astral';
24
24
  price?: number;
25
25
  atSpot?: string;
26
+ /**
27
+ * HOW THIS DECK IS CONFIGURED (SR5 p.227, "Deck Configuration"):
28
+ * indexes into the deck's attribute array for [attack, sleaze,
29
+ * dataProcessing, firewall]. Cyberdecks only; ignored elsewhere.
30
+ *
31
+ * The engine's default is [0,1,2,3] -- the array's biggest number on
32
+ * ATTACK, which is a runner's aggression and the right default for a
33
+ * deck somebody bought to break into things. It is the wrong default
34
+ * for a deck somebody bought so that nothing can break into THEM,
35
+ * and canon makes that a choice rather than a different deck: the
36
+ * same four numbers, assigned as the owner sees fit.
37
+ *
38
+ * So this exists to let a seed say who its owner is. Krow runs
39
+ * Firewall-first because he is a fixer who never leaves the office
40
+ * and has no interest in attacking anyone (iM58MmFAysCp9QT6m).
41
+ */
42
+ deckOrder?: number[];
26
43
  }
@@ -87,7 +87,7 @@ export function aroTags(scene, actor, room) {
87
87
  const tags = [];
88
88
  // THE HOST's public face. EVERY host has one now: a host is Matrix
89
89
  // architecture by definition (p.218), so there is no longer a variety
90
- // that the street cannot see (hhSWvKKMxRC7DGXhh removed it). A
90
+ // that the street cannot see (hhSWzLSXECFtfoAGa removed it). A
91
91
  // genuinely offline SERVER in the room is a device with no wireless
92
92
  // presence, and it is correctly absent from this overlay for the same
93
93
  // reason a silent PAN is.
@@ -1,3 +1,4 @@
1
+ import { EventEmitter } from 'node:events';
1
2
  export interface IDdpLiteConn {
2
3
  call<T = unknown>(name: string, ...args: unknown[]): Promise<T>;
3
4
  /** call() with a per-call deadline, for methods that legitimately run
@@ -9,6 +10,12 @@ export interface IDdpLiteConn {
9
10
  on(event: 'connected' | 'disconnected', listener: () => void): IDdpLiteConn;
10
11
  /** Runs after every RE-handshake, before re-subscription (re-login). */
11
12
  onReconnect?: () => Promise<void>;
13
+ /** Observability for the re-handshake itself. The transport used to
14
+ * reconnect in complete silence, which made an alive-but-deaf link
15
+ * indistinguishable from a quiet table. */
16
+ onRehandshake?: (attempts: number) => void;
17
+ /** onReconnect THREW. Never swallowed -- see dispatch(). */
18
+ onReconnectAuthFailure?: (err: unknown) => void;
12
19
  raw: {
13
20
  _stream: {
14
21
  on(event: 'message', cb: (raw: string) => void): void;
@@ -16,6 +23,52 @@ export interface IDdpLiteConn {
16
23
  };
17
24
  close(): void;
18
25
  }
26
+ /** Exported for TESTS only -- connectDdp is the runtime entry point and
27
+ * the only one callers should use. The constructor opens no socket, so
28
+ * the reconnect handshake can be driven directly and offline, which is
29
+ * the only way to test a failure that only happens on a re-handshake. */
30
+ export declare class DdpLiteConn extends EventEmitter implements IDdpLiteConn {
31
+ private endpoint;
32
+ private ws?;
33
+ private nextId;
34
+ private calls;
35
+ private subs;
36
+ private streamEmitter;
37
+ private closed;
38
+ private handshaken;
39
+ private reconnectAttempt;
40
+ private reconnectTimer?;
41
+ private lastTraffic;
42
+ private watchdog?;
43
+ onReconnect?: () => Promise<void>;
44
+ onRehandshake?: (attempts: number) => void;
45
+ onReconnectAuthFailure?: (err: unknown) => void;
46
+ private rawEmitter;
47
+ readonly raw: {
48
+ _stream: {
49
+ on: (event: "message", cb: (raw: string) => void) => void;
50
+ };
51
+ };
52
+ constructor(endpoint: string);
53
+ /** First connection; resolves after the DDP handshake or rejects on
54
+ * timeout/refusal (and then never retries -- the caller owns that). */
55
+ connectFirst(timeoutMs: number): Promise<void>;
56
+ private openSocket;
57
+ /** Fire a diagnostic hook. A broken diagnostic must never take the
58
+ * link down with it -- that would be a worse version of the silence
59
+ * these hooks exist to end. */
60
+ private notify;
61
+ private dispatch;
62
+ private scheduleReconnect;
63
+ private failInFlight;
64
+ private send;
65
+ call<T = unknown>(name: string, ...args: unknown[]): Promise<T>;
66
+ callWithTimeout<T = unknown>(name: string, timeoutMs: number, ...args: unknown[]): Promise<T>;
67
+ subscribe(name: string, ...args: unknown[]): Promise<{
68
+ stop(): void;
69
+ }>;
70
+ close(): void;
71
+ }
19
72
  /** Drop-in for the sdk's connectDdp where the game used it. */
20
73
  export declare function connectDdp(url: string, options?: {
21
74
  firstConnectTimeoutMs?: number;
@@ -52,7 +52,11 @@ function wsUrl(url) {
52
52
  .replace(/^http:/, 'ws:')
53
53
  .replace(/\/+$/, '') + '/websocket';
54
54
  }
55
- class DdpLiteConn extends EventEmitter {
55
+ /** Exported for TESTS only -- connectDdp is the runtime entry point and
56
+ * the only one callers should use. The constructor opens no socket, so
57
+ * the reconnect handshake can be driven directly and offline, which is
58
+ * the only way to test a failure that only happens on a re-handshake. */
59
+ export class DdpLiteConn extends EventEmitter {
56
60
  endpoint;
57
61
  ws;
58
62
  nextId = 1;
@@ -66,6 +70,8 @@ class DdpLiteConn extends EventEmitter {
66
70
  lastTraffic = Date.now();
67
71
  watchdog;
68
72
  onReconnect;
73
+ onRehandshake;
74
+ onReconnectAuthFailure;
69
75
  // Field order matters: rawEmitter must initialize BEFORE raw's
70
76
  // initializer closes over it (declaration-only fields re-init to
71
77
  // undefined under useDefineForClassFields -- a real crash here).
@@ -165,18 +171,52 @@ class DdpLiteConn extends EventEmitter {
165
171
  ws.on('close', () => onDown());
166
172
  ws.on('error', (err) => onDown(err));
167
173
  }
174
+ /** Fire a diagnostic hook. A broken diagnostic must never take the
175
+ * link down with it -- that would be a worse version of the silence
176
+ * these hooks exist to end. */
177
+ notify(hook, arg) {
178
+ try {
179
+ hook?.(arg);
180
+ }
181
+ catch { /* a reporter that throws reports nothing */ }
182
+ }
168
183
  async dispatch(m, onHandshake) {
169
184
  switch (m.msg) {
170
185
  case 'connected': {
171
186
  this.handshaken = true;
187
+ // Captured BEFORE the reset: how many attempts this re-handshake
188
+ // cost is the diagnostic, and zeroing it first would report 0.
189
+ const attempts = this.reconnectAttempt;
172
190
  this.reconnectAttempt = 0;
173
191
  const isReconnect = !onHandshake;
192
+ if (isReconnect)
193
+ this.notify(this.onRehandshake, attempts);
174
194
  try {
175
195
  if (isReconnect && this.onReconnect)
176
196
  await this.onReconnect();
177
197
  }
178
- catch { /* re-login failed -- subs go out unauthenticated and
179
- the server publishes nothing; next drop retries */
198
+ catch (err) {
199
+ // NOT SWALLOWED ANY MORE.
200
+ //
201
+ // This catch used to be empty, with a comment reading
202
+ // "re-login failed -- subs go out unauthenticated and the
203
+ // server publishes nothing; next drop retries". Every word of
204
+ // that is accurate, and together they describe a link that is
205
+ // ALIVE BUT DEAF: the socket is healthy, heartbeats flow, the
206
+ // watchdog is satisfied, every subscription is dead, and the
207
+ // "next drop" that would retry never comes because nothing is
208
+ // wrong with the connection. From inside the game it is
209
+ // indistinguishable from a table where nobody is talking.
210
+ //
211
+ // Two shared runs went exactly this way -- 2026-08-27T01-47-58
212
+ // and 2026-08-30T22-12-28, independent runs three days apart,
213
+ // byte-identical on the wire: two frames, both docs removed,
214
+ // then permanent silence.
215
+ //
216
+ // The transport still does not decide what to SAY about it
217
+ // (this file owns no fiction and imports no Logger); it just
218
+ // refuses to be the place the news stops.
219
+ this.notify(this.onReconnectAuthFailure, err);
180
220
  }
181
221
  // Re-send every live subscription with its ORIGINAL params.
182
222
  if (isReconnect) {
@@ -1 +1 @@
1
- {"version":3,"file":"ddp-lite.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/ddp-lite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddp-lite.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/ddp-lite.ts"],"names":[],"mappings":"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"}
@@ -133,6 +133,12 @@ export function firstAidRefusal(medic, patient, kit, track) {
133
133
  const self = medic === patient;
134
134
  const who = self ? 'You' : patient.name;
135
135
  const is = self ? 'are' : 'is';
136
+ // "already been worked on" is a PERFECT, and takes have/has -- not the
137
+ // `is` the other three refusals want. Shipped in 5.85.0 as "You are
138
+ // already been worked on", caught by running the RELEASED client
139
+ // against this item's own repro before carding it as fixed. One
140
+ // clause, one auxiliary: English does not let one variable serve both.
141
+ const has = self ? 'have' : 'has';
136
142
  // p.205: "First Aid can only be used if you have a medkit (even if you
137
143
  // do not currently have supplies for it)."
138
144
  if (!kit) {
@@ -154,7 +160,7 @@ export function firstAidRefusal(medic, patient, kit, track) {
154
160
  // application covers the patient, whichever track it treated. Canon is
155
161
  // silent on split tracks, and this is the conservative reading.
156
162
  if (patient.firstAidGiven) {
157
- return `${who} ${is} already been worked on for these wounds -- there's nothing left first aid can do until ${self ? 'you take' : 'they take'} fresh damage. Rest, a clinic, or a heal spell from here.`;
163
+ return `${who} ${has} already been worked on for these wounds -- there's nothing left first aid can do until ${self ? 'you take' : 'they take'} fresh damage. Rest, a clinic, or a heal spell from here.`;
158
164
  }
159
165
  // p.205: "First Aid may not be applied if the character has been
160
166
  // magically healed."
@@ -1 +1 @@
1
- {"version":3,"file":"first-aid.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/first-aid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"first-aid.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/first-aid.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { Scene } from '../models/scene.js';
10
10
  * broadcasting, it isn't here. Shared by look.ts (gridLook) and go.ts
11
11
  * (grid-jump arrivals). Glyphs match the grid map: ● host, ◆ persona,
12
12
  * ▣ PAN, ▲ dangerous device, ◇ data. (There is no air-gapped-host glyph
13
- * any more -- see hhSWvKKMxRC7DGXhh and canReachHost.)
13
+ * any more -- see hhSWzLSXECFtfoAGa and canReachHost.)
14
14
  */
15
15
  export declare function gridIcons(scene: Scene, actor: Player, room: Room): string[];
16
16
  /**
@@ -10,11 +10,11 @@ import { isWatched, camerasLive, canSnoopFeeds } from './surveillance.js';
10
10
  * broadcasting, it isn't here. Shared by look.ts (gridLook) and go.ts
11
11
  * (grid-jump arrivals). Glyphs match the grid map: ● host, ◆ persona,
12
12
  * ▣ PAN, ▲ dangerous device, ◇ data. (There is no air-gapped-host glyph
13
- * any more -- see hhSWvKKMxRC7DGXhh and canReachHost.)
13
+ * any more -- see hhSWzLSXECFtfoAGa and canReachHost.)
14
14
  */
15
15
  export function gridIcons(scene, actor, room) {
16
16
  // INSIDE A HOST IS A DIFFERENT PLACE (SR5 p.246, and Deditri's
17
- // eJANuz2xqvpNSjuFq). "The virtual space inside a host is separate
17
+ // eJANPpm7qCaCAJBJw). "The virtual space inside a host is separate
18
18
  // from the outside grid. When you're outside of a host, you can't
19
19
  // interact directly with icons inside it... Once you're inside, you
20
20
  // can see and interact with icons inside the host, but not outside."
@@ -58,6 +58,28 @@ export function gridIcons(scene, actor, room) {
58
58
  icons.push(`● ${hostLabel(room, { capital: true })}${hr} -- sculpted ice geometry, sealed. Whatever it holds is inside it.${room.hostAlert ? ' Walls UP -- it holds a mark on an intruder.' : ''}${myMarks > 0 ? ` [your marks: ${myMarks}/3]` : ''} (${myMarks > 0 ? '"enter" walks in on your mark; ' : ''}"hack" slips in on sleaze; "hack loud" smashes; "mark" softens it first)`);
59
59
  }
60
60
  }
61
+ // WHERE THE HOST'S OWN ICON ENDS AND THE STREET BEGINS.
62
+ //
63
+ // Everything from here down is on the OPEN GRID, standing near the
64
+ // host and not inside it -- and that distinction is the whole of
65
+ // eJANPpm7qCaCAJBJw. The reporter saw Ratchet's PAN and the camera
66
+ // cluster listed directly under a line about the host's sealed
67
+ // architecture and concluded, reasonably, that the host was leaking
68
+ // icons it should be hiding.
69
+ //
70
+ // CANON SIDES WITH THE ENGINE, checked rather than assumed: device
71
+ // icons sit on the grid landscape positioned by physical proximity
72
+ // (p.214, p.217-218), a persona automatically spots non-silent devices
73
+ // within 100m of their meat body (p.235), and "a host, even one
74
+ // tethered to a physical location, is still an icon separate from the
75
+ // devices" -- they are outside its icon on the grid. Ratchet's PAN is
76
+ // exactly where it belongs.
77
+ //
78
+ // BEING RIGHT IS NOT BEING LEGIBLE, which is the lesson rG8L already
79
+ // charged this project once. The list said nothing about which side of
80
+ // the wall each icon was on, so the reader supplied the wrong answer.
81
+ // A divider goes in below, and the report is what earned it.
82
+ const afterHost = icons.length;
61
83
  for (const a of scene.getActorsInRoom(room)) {
62
84
  if (a === actor)
63
85
  continue;
@@ -138,7 +160,7 @@ export function gridIcons(scene, actor, room) {
138
160
  }
139
161
  }
140
162
  }
141
- // A HOST'S FILES ARE NOT ON THE STREET'S GRID (p.246; eJANuz2xqvpNSjuFq).
163
+ // A HOST'S FILES ARE NOT ON THE STREET'S GRID (p.246; eJANPpm7qCaCAJBJw).
142
164
  // This loop used to list every matrix-plane item in the room as "right
143
165
  // there on the grid" -- the host's sealed paydata, advertised by name
144
166
  // to anyone who jacked in nearby and readable by a `take` that only
@@ -172,6 +194,18 @@ export function gridIcons(scene, actor, room) {
172
194
  icons.push(`◎ Camera cluster -- live, feeding the site's host. Loud acts here travel. (own the host to loop them -- or walk in and "tap" a lens in the flesh: slaved to the host means a key to the host)`);
173
195
  }
174
196
  }
197
+ // THE DIVIDER (eJANPpm7qCaCAJBJw). Only when there is a host to be
198
+ // confused about AND something standing next to it: on thin grid there
199
+ // is no wall for a reader to put an icon on the wrong side of, and a
200
+ // heading over an empty list is noise.
201
+ //
202
+ // It says NEAR, not IN, and it says why they are visible -- proximity
203
+ // to your body, not a leak in the host (p.235). A reader who wondered
204
+ // whether the host was showing them its insides now has the answer in
205
+ // the list itself instead of having to file a report to get it.
206
+ if (room.hasNode && icons.length > afterHost) {
207
+ icons.splice(afterHost, 0, `-- and NEAR it, out on the open grid (not inside the host): --`);
208
+ }
175
209
  return icons;
176
210
  }
177
211
  /**
@@ -227,6 +261,27 @@ function hostInteriorIcons(scene, actor, room) {
227
261
  ? `◇ ${item.name} [data] -- unsealed, sitting open in the host's archive. ("take" it)`
228
262
  : `◇ ${item.name} [data] -- SEALED in the host's archive. ("hack" the host to break the seal)`);
229
263
  }
264
+ // THE ICE IS IN THE ROOM WITH YOU, AND THE ROOM USED TO DENY IT.
265
+ //
266
+ // A regression this file shipped: hostInteriorIcons listed personas
267
+ // and files and never read room.runningIC, so a persona standing in an
268
+ // alerted host with Patrol, Probe, Killer, Sparky and Blaster all
269
+ // hitting them read "Empty architecture -- nothing in it worth the
270
+ // trip". Five programs were taking chunks out of the condition track
271
+ // that the room said were not there.
272
+ //
273
+ // That is the rG8L defect exactly: a player cannot act on what the
274
+ // game will not name, and a room that contradicts the damage log reads
275
+ // as broken rules rather than thin prose.
276
+ //
277
+ // NO VERB IS OFFERED, deliberately, because none exists yet: IC live
278
+ // in room.runningIC as names, not as actors, so nothing in this engine
279
+ // can target them -- `thread Resonance Spike` says "no hostile icon in
280
+ // reach" while they attack. Naming them here does not pretend
281
+ // otherwise; advertising a verb that refuses would be the worse lie.
282
+ for (const name of room.runningIC) {
283
+ icons.push(`▲ ${name} -- hunting, and it has your icon.`);
284
+ }
230
285
  if (icons.length === 0) {
231
286
  icons.push(`Empty architecture -- turning geometry and nothing in it worth the trip.`);
232
287
  }
@@ -265,7 +320,7 @@ export function gridSculpt(actor, room) {
265
320
  if (!room.hasNode)
266
321
  return header;
267
322
  // NO MORE "DEAD GROUND". The air-gapped-host branch that used to live
268
- // here is gone with the model it described (hhSWvKKMxRC7DGXhh): a host
323
+ // here is gone with the model it described (hhSWzLSXECFtfoAGa): a host
269
324
  // is part of the Matrix by definition, so there is no such thing as
270
325
  // one you cannot reach from the grid. What is genuinely offline is a
271
326
  // SERVER DEVICE sitting in the room, and that is a device, not
@@ -1 +1 @@
1
- {"version":3,"file":"grid-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/grid-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grid-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/grid-view.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ export declare function projectAstral(scene: Scene, actor: Player): string[];
84
84
  /**
85
85
  * Whether this actor's jacked-in persona can touch the host in `room`.
86
86
  *
87
- * THERE IS NO SUCH THING AS AN AIR-GAPPED HOST (hhSWvKKMxRC7DGXhh).
87
+ * THERE IS NO SUCH THING AS AN AIR-GAPPED HOST (hhSWzLSXECFtfoAGa).
88
88
  * This function used to carry a `nodeAccess: 'wired'` branch that made a
89
89
  * host reachable only if the actor's BODY was in the room -- an
90
90
  * "air-gapped host", dark from the grid, openable only by a hard line.
@@ -111,7 +111,7 @@ export declare function canReachHost(_actor: Player, room: Room): boolean;
111
111
  *
112
112
  * ONE RULE, ONE PLACE. look, search, take and the grid view all used to
113
113
  * ask this question separately, each with its own copy of the air-gap
114
- * test -- which is how eJANuz2xqvpNSjuFq happened: the grid view listed
114
+ * test -- which is how eJANPpm7qCaCAJBJw happened: the grid view listed
115
115
  * the host's files as icons "right there on the grid" while take.ts
116
116
  * refused them, and both were "working". A single function means a
117
117
  * mutation to the rule shows up in every surface at once instead of
@@ -304,7 +304,7 @@ export function projectAstral(scene, actor) {
304
304
  /**
305
305
  * Whether this actor's jacked-in persona can touch the host in `room`.
306
306
  *
307
- * THERE IS NO SUCH THING AS AN AIR-GAPPED HOST (hhSWvKKMxRC7DGXhh).
307
+ * THERE IS NO SUCH THING AS AN AIR-GAPPED HOST (hhSWzLSXECFtfoAGa).
308
308
  * This function used to carry a `nodeAccess: 'wired'` branch that made a
309
309
  * host reachable only if the actor's BODY was in the room -- an
310
310
  * "air-gapped host", dark from the grid, openable only by a hard line.
@@ -64,6 +64,22 @@ declare class HubLinkImpl {
64
64
  private seatAcksLoaded;
65
65
  private loadSeatAcks;
66
66
  private persistSeatAck;
67
+ /**
68
+ * THE ONE LINE FOR "your cloud session no longer authenticates", said
69
+ * once per process however many times it happens.
70
+ *
71
+ * VISIBLE, unlike transport failures: REST presence keeps working on a
72
+ * token while DDP login rejects (2-day resume expiry), so the player
73
+ * looks online to everyone yet hears no invites and no pages. That
74
+ * silence cost a real playtest.
75
+ *
76
+ * Shared by BOTH auth paths deliberately. It was written for the first
77
+ * login and the RE-login had nothing at all -- which is how a shared
78
+ * run could go deaf mid-session with the screen showing a healthy
79
+ * link. Two speakers, one resolver; the alternative is the second one
80
+ * saying nothing, which is exactly what it did.
81
+ */
82
+ private showAuthNotice;
67
83
  /** Fire-and-forget warm-up from the hub -- never blocks a turn. */
68
84
  ensure(game: Game): void;
69
85
  /** The connection, established if needed. Undefined = offline/logged
@@ -102,6 +102,28 @@ class HubLinkImpl {
102
102
  }
103
103
  catch { /* disk hiccup -- worst case the line repeats next launch */ }
104
104
  }
105
+ /**
106
+ * THE ONE LINE FOR "your cloud session no longer authenticates", said
107
+ * once per process however many times it happens.
108
+ *
109
+ * VISIBLE, unlike transport failures: REST presence keeps working on a
110
+ * token while DDP login rejects (2-day resume expiry), so the player
111
+ * looks online to everyone yet hears no invites and no pages. That
112
+ * silence cost a real playtest.
113
+ *
114
+ * Shared by BOTH auth paths deliberately. It was written for the first
115
+ * login and the RE-login had nothing at all -- which is how a shared
116
+ * run could go deaf mid-session with the screen showing a healthy
117
+ * link. Two speakers, one resolver; the alternative is the second one
118
+ * saying nothing, which is exactly what it did.
119
+ */
120
+ showAuthNotice(game) {
121
+ if (this.authNoticeShown)
122
+ return;
123
+ this.authNoticeShown = true;
124
+ Logger.getInstance().logWithColor(`⚠ The crew channel won't authenticate -- your cloud session went stale. Run "maka login", then relaunch, to hear invites and pages again.`, 'yellow');
125
+ (game ?? this.game)?.screenRender?.();
126
+ }
105
127
  /** Fire-and-forget warm-up from the hub -- never blocks a turn. */
106
128
  ensure(game) {
107
129
  if (killed() || this.conn || this.connecting)
@@ -133,15 +155,7 @@ class HubLinkImpl {
133
155
  login = (await conn.call('login', { resume: token }));
134
156
  }
135
157
  catch (loginErr) {
136
- // VISIBLE, unlike transport failures: REST presence keeps
137
- // working on this token while DDP login rejects (2-day resume
138
- // expiry) -- the player looks online to everyone yet hears no
139
- // invites and no pages. That silence cost a real playtest.
140
- if (!this.authNoticeShown) {
141
- this.authNoticeShown = true;
142
- Logger.getInstance().logWithColor(`⚠ The crew channel won't authenticate -- your cloud session went stale. Run "maka login", then relaunch, to hear invites and pages again.`, 'yellow');
143
- (game ?? this.game)?.screenRender?.();
144
- }
158
+ this.showAuthNotice(game);
145
159
  Logger.getInstance().write(`shared-run: DDP login rejected (${loginErr?.message}).`);
146
160
  try {
147
161
  conn.close();
@@ -154,8 +168,32 @@ class HubLinkImpl {
154
168
  // ddp-lite runs this FIRST, then re-sends every subscription.
155
169
  conn.onReconnect = async () => {
156
170
  const fresh = authToken();
157
- if (fresh)
158
- await conn.call('login', { resume: fresh });
171
+ // NO TOKEN IS ALSO AN AUTH FAILURE. This used to resolve
172
+ // quietly when the token had gone, which sent the
173
+ // subscriptions out unauthenticated with nothing thrown and
174
+ // nobody told -- the same deaf link as a rejected login, minus
175
+ // even an error to notice.
176
+ if (!fresh)
177
+ throw new Error('no cloud session to resume');
178
+ await conn.call('login', { resume: fresh });
179
+ };
180
+ // THE RECONNECT IS NO LONGER SILENT (KXgMCRQePfmsnXLRP,
181
+ // vYk4kcNYgR2CQY5P9). Written to the log, not the screen: a
182
+ // re-handshake is normal and the player does not need a line for
183
+ // it -- but when a table goes quiet, whether the link re-shook
184
+ // hands is the first thing anyone needs to know, and it was
185
+ // knowable nowhere.
186
+ conn.onRehandshake = (attempts) => {
187
+ Logger.getInstance().write(`shared-run: DDP re-handshake after ${attempts} attempt(s) -- re-login and re-subscribe follow.`);
188
+ };
189
+ // ...AND THE FAILURE IS SPOKEN ALOUD, the same words the first
190
+ // login uses, because it is the same problem: a resume token
191
+ // that no longer authenticates. It kills a shared run more
192
+ // quietly than it kills the hub, since out there the only symptom
193
+ // is that nothing else ever happens.
194
+ conn.onReconnectAuthFailure = (err) => {
195
+ Logger.getInstance().write(`shared-run: DDP RE-login failed (${err?.message}) -- subscriptions are unauthenticated and the server will publish nothing to them.`);
196
+ this.showAuthNotice(game);
159
197
  };
160
198
  this.tapSessions(conn, game);
161
199
  // Link state as FICTION, once per transition (player report: