@maka/maka-cli 5.86.0 → 5.88.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 (27) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +25 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +47 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +80 -3
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +10 -2
  8. package/bundle/typescript/src/commands/game/sideQuest/game.js +38 -8
  9. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.d.ts +21 -0
  11. package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.js +61 -0
  12. package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.js.map +1 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.d.ts +0 -31
  14. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +21 -75
  15. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +61 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +117 -3
  18. package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +47 -3
  20. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +121 -17
  21. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  22. package/bundle/typescript/src/tools/sdk-loader/relocate.d.ts +19 -0
  23. package/bundle/typescript/src/tools/sdk-loader/relocate.js +23 -9
  24. package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +1 -1
  25. package/bundle/typescript/src/tools/self-update/update-maka.js +19 -5
  26. package/bundle/typescript/src/tools/self-update/update-maka.js.map +1 -1
  27. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Is this caller asking the fixer for DATA work specifically?
3
+ *
4
+ * Deliberately narrow. "any work?" is the ordinary commission and must
5
+ * keep its 30% roll -- a matcher that swallowed every job request would
6
+ * silently turn the whole game into data runs, which is the opposite of
7
+ * a ruling that left the offer rate alone.
8
+ */
9
+ export declare function asksForDataWork(words: string[]): boolean;
10
+ /**
11
+ * The refusal a runner who cannot deck will meet -- and it is the
12
+ * surface that matters most, because Deditri is deckless TODAY. It is
13
+ * the first thing they will meet when they try the feature they asked
14
+ * for.
15
+ *
16
+ * In his voice, and it TEACHES: a refusal that only says no leaves them
17
+ * exactly where they started. Both roads in are named -- buy the gear,
18
+ * or be the kind of person who does not need it -- because the deck gate
19
+ * is a real rule and the way through it is knowable.
20
+ */
21
+ export declare function noDeckForDataWork(fixerName?: string): string;
@@ -0,0 +1,61 @@
1
+ import { FIXER_NAME } from '../factories/scene-seed-generator.js';
2
+ /**
3
+ * ASKING KROW FOR DATA WORK (ruoedrMTA6kCRNmEN, Deditri).
4
+ *
5
+ * Their words, sic: "I would love th ave a "data dumpster diving" run.
6
+ * Attack host, get into host, (world gneerated host) and seek for the
7
+ * data file. Something quick and easy of a mission, doesn't have to tie
8
+ * into anything larger, just fast data runs."
9
+ *
10
+ * The machinery shipped before the affordance did. A data run is a real
11
+ * runType with its own generation brief -- paydata inside a host, ICE
12
+ * instead of muscle, one site and one file -- but nothing let a player
13
+ * ASK for one. `pickRunType` gated on deck capability and then rolled
14
+ * 30%, so "just fast data runs" was, in practice, "a data run may be
15
+ * offered to a decker three times in ten". Deditri could not summon the
16
+ * thing they asked for, and being deckless would never have seen one.
17
+ *
18
+ * User ruling 2026-08-30, on exactly that gap: a deck-capable runner can
19
+ * ask and GET ONE ON DEMAND. The deck gate stays -- every objective on a
20
+ * data run lives behind a host, so a runner who cannot get in has no job
21
+ * to do. The 30% still governs UNPROMPTED offers and is untouched: this
22
+ * adds a door, it does not widen the corridor.
23
+ */
24
+ /** The words a player actually reaches for. Deditri's own phrase
25
+ * ("data dumpster diving") is in here on purpose -- the person who
26
+ * asked for the feature should not have to guess its vocabulary. */
27
+ const DATA_WORK = [
28
+ /\bdata\s*(work|run|runs|job|jobs|dive|diving)\b/i,
29
+ /\bdumpster\s*(dive|diving|run)\b/i,
30
+ /\bpaydata\b/i,
31
+ /\bmatrix\s*(work|run|runs|job|jobs)\b/i,
32
+ ];
33
+ /**
34
+ * Is this caller asking the fixer for DATA work specifically?
35
+ *
36
+ * Deliberately narrow. "any work?" is the ordinary commission and must
37
+ * keep its 30% roll -- a matcher that swallowed every job request would
38
+ * silently turn the whole game into data runs, which is the opposite of
39
+ * a ruling that left the offer rate alone.
40
+ */
41
+ export function asksForDataWork(words) {
42
+ const said = words.join(' ').trim();
43
+ if (!said)
44
+ return false;
45
+ return DATA_WORK.some(rx => rx.test(said));
46
+ }
47
+ /**
48
+ * The refusal a runner who cannot deck will meet -- and it is the
49
+ * surface that matters most, because Deditri is deckless TODAY. It is
50
+ * the first thing they will meet when they try the feature they asked
51
+ * for.
52
+ *
53
+ * In his voice, and it TEACHES: a refusal that only says no leaves them
54
+ * exactly where they started. Both roads in are named -- buy the gear,
55
+ * or be the kind of person who does not need it -- because the deck gate
56
+ * is a real rule and the way through it is knowable.
57
+ */
58
+ export function noDeckForDataWork(fixerName = FIXER_NAME) {
59
+ return `"Data work." ${fixerName} lets the words sit. "Chummer, every payday on that kind of job is behind a host. You don't have the hardware to knock, and I'm not sending you to stare at a locked door for my cut. Get yourself a deck -- the catalog's full of them -- or find out you were born with the knack. Then call me and we'll talk paydata." Click.`;
60
+ }
61
+ //# sourceMappingURL=data-work.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-work.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/data-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;qEAEqE;AACrE,MAAM,SAAS,GAAG;IAChB,kDAAkD;IAClD,mCAAmC;IACnC,cAAc;IACd,wCAAwC;CACzC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAAe;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB,UAAU;IAC9D,OAAO,gBAAgB,SAAS,mUAAmU,CAAC;AACtW,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type { Room } from '../models/room.js';
2
2
  import type { Player } from '../models/player.js';
3
- import { GridCoord } from './room-grid.js';
4
3
  /**
5
4
  * How a person reads on the map (player ruling 2026-08-25): one person
6
5
  * icon for everybody, colored by what they are to you -- blue a fellow
@@ -100,33 +99,3 @@ export declare function actorsOnOtherLevels(room: Room, viewer: Player): {
100
99
  * which way" is what the panel owes you.
101
100
  */
102
101
  export declare function roomCaption(room: Room, viewer: Player): string;
103
- /**
104
- * WHERE THIS VIEWER'S PANEL DRAWS EACH BODY -- seatingIn's map, with
105
- * circulating actors moved beside the reader
106
- * (2QpCcKFKCynk9jYoX: "Mr. Vesper is NOT where I'm standing, and is not
107
- * within reach. If he's within reach, I should see him next to me in the
108
- * room map.").
109
- *
110
- * The reporter is right, and the two surfaces really did disagree:
111
- *
112
- * sameSpot / canReach -> true ("already in reach right where you stand")
113
- * the panel -> drawn two cells away
114
- *
115
- * seatingIn's own contract says which half is arbitrary. A drift seat is
116
- * "a place to DRAW someone, never a position they hold", while being
117
- * adjacent to everyone IS the rule -- sameSpot and canReach short-circuit
118
- * on atSpot before any cell is consulted. So the picture moves to agree
119
- * with the rule, never the rule to match the picture.
120
- *
121
- * DISPLAY ONLY, and deliberately not pushed down into seatingIn: eleven
122
- * other callers read that map -- cover, ranges, doorway blocking, combat
123
- * -- and a circulating actor's cell is load-bearing to none of them
124
- * (they are documented as "no cover, no range penalty"). Moving the seat
125
- * globally would be a far larger claim than this report supports.
126
- *
127
- * PER VIEWER, which is the only way "beside you" can be true for two
128
- * readers at once: every panel is rendered against its own viewer, so
129
- * each sees the drifter at their own elbow. That is not a contradiction
130
- * -- it is what "adjacent to everything" looks like when you draw it.
131
- */
132
- export declare function displaySeats(room: Room, viewer: Player, seats: Map<string, GridCoord>): Map<string, GridCoord>;
@@ -1,6 +1,6 @@
1
1
  import { capitalCase } from 'change-case';
2
2
  import { Direction } from '../types/shared/direction-enum.js';
3
- import { OPEN_FLOOR, spotOf, visibleActorsIn, exitSpot, seatingIn, theSpot, standingRoomNear } from './spots.js';
3
+ import { OPEN_FLOOR, spotOf, visibleActorsIn, exitSpot, seatingIn, theSpot } from './spots.js';
4
4
  import { placeName } from './log-style.js';
5
5
  import { key, levelFootprint, dimsForSize, tallestRoomRows, METERS_PER_LEVEL, } from './room-grid.js';
6
6
  /**
@@ -158,32 +158,29 @@ function buildRenderMaps(grid, room, viewer) {
158
158
  // Bodies sit in their own cells AROUND the furniture (spots.ts
159
159
  // seatingIn) -- never inside it, and never two to a cell.
160
160
  const seats = seatingIn(room);
161
- // A CIRCULATING BODY IS DRAWN BESIDE THE VIEWER
162
- // (2QpCcKFKCynk9jYoX: "Mr. Vesper is NOT where I'm standing, and is
163
- // not within reach. If he's within reach, I should see him next to me
164
- // in the room map.").
161
+ // THE PANEL DRAWS WHERE PEOPLE ACTUALLY ARE (2QpCcKFKCynk9jYoX,
162
+ // rework after the first fix was rejected).
165
163
  //
166
- // The reporter is right, and the two surfaces really did disagree:
164
+ // This used to call displaySeats, which moved every circulating body
165
+ // to the viewer's elbow. That was the right fix for the wrong half:
166
+ // the two surfaces did disagree, and the reasoning was that the rule
167
+ // ("circulating is adjacent to everyone") was real and the drift seat
168
+ // arbitrary, so the picture should move to match the rule.
167
169
  //
168
- // sameSpot / canReach -> true ("already in reach where you stand")
169
- // the panel -> drawn two cells away
170
+ // The player rejected exactly that: "Mr. Vesper is NOT where I'm
171
+ // standing, and is not within reach. If he's within reach, I should
172
+ // see him next to me in the room map." And then ruled on which half
173
+ // is real -- "NPCs ... need to have coordinates. These coordinates
174
+ // govern distance to the Player. The artificial 'exists in the entire
175
+ // room' is wrong."
170
176
  //
171
- // seatingIn's own contract says which one is arbitrary: a drift seat
172
- // is "a place to DRAW someone, never a position they hold", while
173
- // being adjacent to everyone IS the rule -- sameSpot and canReach
174
- // short-circuit on atSpot before any cell is consulted. So the map is
175
- // the half that should move, and it should move to agree with the
176
- // rule rather than the rule bending to the picture.
177
- //
178
- // DISPLAY ONLY, and deliberately not pushed into seatingIn: eleven
179
- // other callers read that map -- cover, ranges, doorway blocking,
180
- // combat -- and a circulating actor's cell is load-bearing to none of
181
- // them (they are documented as "no cover, no range penalty"). Moving
182
- // the seat globally would be a much larger claim than this report
183
- // supports. Each viewer's panel is rendered separately, so "beside
184
- // you" resolves per reader, which is the only way it can be true for
185
- // two people at once.
186
- const drawnAt = displaySeats(room, viewer, seats);
177
+ // So the arbitrary half was the RULE, not the seat. seatingIn's map
178
+ // is now the single answer to "where is everyone", and this panel
179
+ // draws it unaltered. Snapping a body to your elbow on top of the new
180
+ // model would be the same contradiction mirrored: the map showing
181
+ // Vesper at your side while "move Mr. Vesper" walks you across the
182
+ // room to reach him.
183
+ const drawnAt = seats;
187
184
  const occupants = new Map();
188
185
  for (const a of visibleActorsIn(room, viewer)) {
189
186
  const c = drawnAt.get(a.name);
@@ -727,55 +724,4 @@ export function roomCaption(room, viewer) {
727
724
  notes.push(`+${below} below`);
728
725
  return notes.length > 0 ? `${base} · ${notes.join(', ')}` : base;
729
726
  }
730
- /**
731
- * WHERE THIS VIEWER'S PANEL DRAWS EACH BODY -- seatingIn's map, with
732
- * circulating actors moved beside the reader
733
- * (2QpCcKFKCynk9jYoX: "Mr. Vesper is NOT where I'm standing, and is not
734
- * within reach. If he's within reach, I should see him next to me in the
735
- * room map.").
736
- *
737
- * The reporter is right, and the two surfaces really did disagree:
738
- *
739
- * sameSpot / canReach -> true ("already in reach right where you stand")
740
- * the panel -> drawn two cells away
741
- *
742
- * seatingIn's own contract says which half is arbitrary. A drift seat is
743
- * "a place to DRAW someone, never a position they hold", while being
744
- * adjacent to everyone IS the rule -- sameSpot and canReach short-circuit
745
- * on atSpot before any cell is consulted. So the picture moves to agree
746
- * with the rule, never the rule to match the picture.
747
- *
748
- * DISPLAY ONLY, and deliberately not pushed down into seatingIn: eleven
749
- * other callers read that map -- cover, ranges, doorway blocking, combat
750
- * -- and a circulating actor's cell is load-bearing to none of them
751
- * (they are documented as "no cover, no range penalty"). Moving the seat
752
- * globally would be a far larger claim than this report supports.
753
- *
754
- * PER VIEWER, which is the only way "beside you" can be true for two
755
- * readers at once: every panel is rendered against its own viewer, so
756
- * each sees the drifter at their own elbow. That is not a contradiction
757
- * -- it is what "adjacent to everything" looks like when you draw it.
758
- */
759
- export function displaySeats(room, viewer, seats) {
760
- const drawnAt = new Map(seats);
761
- const viewerCell = seats.get(viewer.name);
762
- if (!viewerCell)
763
- return drawnAt;
764
- const used = new Set([...seats.values()].map(key));
765
- for (const a of visibleActorsIn(room, viewer)) {
766
- if (a === viewer || spotOf(a) !== undefined)
767
- continue;
768
- const beside = standingRoomNear(room, viewerCell, a);
769
- // NEVER TWO TO A SQUARE, which is seatingIn's rule and stays true
770
- // here: a second drifter keeps its own seat rather than sharing.
771
- if (!beside || used.has(key(beside)))
772
- continue;
773
- const old = drawnAt.get(a.name);
774
- if (old)
775
- used.delete(key(old));
776
- used.add(key(beside));
777
- drawnAt.set(a.name, beside);
778
- }
779
- return drawnAt;
780
- }
781
727
  //# sourceMappingURL=room-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"room-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/room-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-view.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/room-view.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,28 @@ interface IInviteDoc {
20
20
  pitch?: string;
21
21
  leaderID?: string;
22
22
  }
23
+ /**
24
+ * Which identity fields a seat still lacks before it can become a crew
25
+ * slot. Exported so the skip that uses it is testable without a socket:
26
+ * the whole point of naming the gap is that a future occurrence can be
27
+ * read off a log, and a rule nobody can test is a rule that rots.
28
+ */
29
+ export declare function missingSeatFields(seat: ISeatDoc): string[];
30
+ /** A seat with every identity field the roster needs. */
31
+ export type ICompleteSeat = ISeatDoc & {
32
+ memberRunner: string;
33
+ memberHandle: string;
34
+ memberSlug: string;
35
+ };
36
+ /**
37
+ * The guard AND the narrowing in one place. The inline condition this
38
+ * replaces was doing double duty -- skipping at runtime and telling the
39
+ * compiler the three fields were strings below it -- so extracting only
40
+ * the message would have left the push site unsound. Both jobs answer to
41
+ * missingSeatFields now, and they cannot disagree about what "complete"
42
+ * means.
43
+ */
44
+ export declare function seatIsComplete(seat: ISeatDoc): seat is ICompleteSeat;
23
45
  /** A party seat (server-held membership -- see GamePartySeats). */
24
46
  export interface ISeatDoc {
25
47
  leaderUserID?: string;
@@ -80,6 +102,45 @@ declare class HubLinkImpl {
80
102
  * saying nothing, which is exactly what it did.
81
103
  */
82
104
  private showAuthNotice;
105
+ /**
106
+ * THE RE-LOGIN LADDER, and why the tail is long.
107
+ *
108
+ * Waits BEFORE each retry, after one immediate attempt: 1, 2, 4, 8,
109
+ * 16, 30 seconds. Seven login calls across ~61 seconds, then give up.
110
+ *
111
+ * THE NUMBERS COME FROM A MEASURED INCIDENT, not from taste. Session
112
+ * AXrL5AnHijF4SFE65: seq 1-2 written at 22:13:29, then a 59-SECOND GAP
113
+ * while the server synthesised a second player's join, then seq 3-24
114
+ * burst at 22:14:28 -- correctly addressed, matching the publication
115
+ * filter, and never delivered, because during that idle window the
116
+ * client's socket dropped, reconnected, and the re-login was swallowed
117
+ * so the re-subscription went out unauthenticated. The table died into
118
+ * silence with 24 events sitting in the collection.
119
+ *
120
+ * The token was MINUTES OLD. That failure was TRANSIENT -- the server
121
+ * was busy, not refusing -- and a retry would have succeeded. So the
122
+ * span has to outlast a 59-second stall or it does not address the
123
+ * incident that commissioned it: a ladder ending at 31 seconds would
124
+ * have given up eleven seconds early and changed nothing.
125
+ *
126
+ * IT IS A COUNT, NOT A TIMER. An expired token -- the case that cannot
127
+ * heal -- costs seven calls spread over a minute and then the same
128
+ * terminal warning it gets today. No storm, and a minute-late honest
129
+ * message beats an instant silent death.
130
+ *
131
+ * If you are here to shorten the tail: the 30 exists because the stall
132
+ * was 59 seconds. Shorten it when the SERVER stops stalling logins
133
+ * during join synthesis, not before -- and then the ladder simply
134
+ * heals on attempt 1 or 2 and the tail never fires. There is nothing
135
+ * to unbuild.
136
+ *
137
+ * Every attempt is logged with its number, so a future log
138
+ * distinguishes "healed on 2" from "spent all seven" -- and a "healed
139
+ * on 6" out of the field is itself evidence of a long join stall,
140
+ * which is data no probe on either side can fake.
141
+ */
142
+ private static readonly RELOGIN_BACKOFF_MS;
143
+ private reloginWithBackoff;
83
144
  /** Fire-and-forget warm-up from the hub -- never blocks a turn. */
84
145
  ensure(game: Game): void;
85
146
  /** The connection, established if needed. Undefined = offline/logged
@@ -47,6 +47,33 @@ export function engineVersion() {
47
47
  export function cliVersion() {
48
48
  return resolveCliVersion();
49
49
  }
50
+ /**
51
+ * Which identity fields a seat still lacks before it can become a crew
52
+ * slot. Exported so the skip that uses it is testable without a socket:
53
+ * the whole point of naming the gap is that a future occurrence can be
54
+ * read off a log, and a rule nobody can test is a rule that rots.
55
+ */
56
+ export function missingSeatFields(seat) {
57
+ const missing = [];
58
+ if (!seat.memberRunner)
59
+ missing.push('memberRunner');
60
+ if (!seat.memberHandle)
61
+ missing.push('memberHandle');
62
+ if (!seat.memberSlug)
63
+ missing.push('memberSlug');
64
+ return missing;
65
+ }
66
+ /**
67
+ * The guard AND the narrowing in one place. The inline condition this
68
+ * replaces was doing double duty -- skipping at runtime and telling the
69
+ * compiler the three fields were strings below it -- so extracting only
70
+ * the message would have left the push site unsound. Both jobs answer to
71
+ * missingSeatFields now, and they cannot disagree about what "complete"
72
+ * means.
73
+ */
74
+ export function seatIsComplete(seat) {
75
+ return missingSeatFields(seat).length === 0;
76
+ }
50
77
  /**
51
78
  * The one DDP connection this process holds. Opened in the background
52
79
  * the first time the hub asks for it; the SDK's own retry machinery
@@ -124,6 +151,70 @@ class HubLinkImpl {
124
151
  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
152
  (game ?? this.game)?.screenRender?.();
126
153
  }
154
+ /**
155
+ * THE RE-LOGIN LADDER, and why the tail is long.
156
+ *
157
+ * Waits BEFORE each retry, after one immediate attempt: 1, 2, 4, 8,
158
+ * 16, 30 seconds. Seven login calls across ~61 seconds, then give up.
159
+ *
160
+ * THE NUMBERS COME FROM A MEASURED INCIDENT, not from taste. Session
161
+ * AXrL5AnHijF4SFE65: seq 1-2 written at 22:13:29, then a 59-SECOND GAP
162
+ * while the server synthesised a second player's join, then seq 3-24
163
+ * burst at 22:14:28 -- correctly addressed, matching the publication
164
+ * filter, and never delivered, because during that idle window the
165
+ * client's socket dropped, reconnected, and the re-login was swallowed
166
+ * so the re-subscription went out unauthenticated. The table died into
167
+ * silence with 24 events sitting in the collection.
168
+ *
169
+ * The token was MINUTES OLD. That failure was TRANSIENT -- the server
170
+ * was busy, not refusing -- and a retry would have succeeded. So the
171
+ * span has to outlast a 59-second stall or it does not address the
172
+ * incident that commissioned it: a ladder ending at 31 seconds would
173
+ * have given up eleven seconds early and changed nothing.
174
+ *
175
+ * IT IS A COUNT, NOT A TIMER. An expired token -- the case that cannot
176
+ * heal -- costs seven calls spread over a minute and then the same
177
+ * terminal warning it gets today. No storm, and a minute-late honest
178
+ * message beats an instant silent death.
179
+ *
180
+ * If you are here to shorten the tail: the 30 exists because the stall
181
+ * was 59 seconds. Shorten it when the SERVER stops stalling logins
182
+ * during join synthesis, not before -- and then the ladder simply
183
+ * heals on attempt 1 or 2 and the tail never fires. There is nothing
184
+ * to unbuild.
185
+ *
186
+ * Every attempt is logged with its number, so a future log
187
+ * distinguishes "healed on 2" from "spent all seven" -- and a "healed
188
+ * on 6" out of the field is itself evidence of a long join stall,
189
+ * which is data no probe on either side can fake.
190
+ */
191
+ static RELOGIN_BACKOFF_MS = [1000, 2000, 4000, 8000, 16000, 30000];
192
+ async reloginWithBackoff(conn, token) {
193
+ const ladder = HubLinkImpl.RELOGIN_BACKOFF_MS;
194
+ const attempts = ladder.length + 1;
195
+ for (let attempt = 1; attempt <= attempts; attempt++) {
196
+ try {
197
+ await conn.call('login', { resume: token });
198
+ if (attempt > 1) {
199
+ Logger.getInstance().write(`shared-run: DDP re-login HEALED on attempt ${attempt}/${attempts}.`);
200
+ }
201
+ return;
202
+ }
203
+ catch (err) {
204
+ const why = err?.message ?? String(err);
205
+ Logger.getInstance().write(`shared-run: DDP re-login attempt ${attempt}/${attempts} failed (${why}).`);
206
+ // The last attempt has nothing left to wait for: rethrow so
207
+ // ddp-lite's onReconnectAuthFailure fires and the player is told
208
+ // (see the notice at the top of this class).
209
+ if (attempt === attempts)
210
+ throw err;
211
+ await new Promise(resolve => {
212
+ const t = setTimeout(resolve, ladder[attempt - 1]);
213
+ t.unref?.();
214
+ });
215
+ }
216
+ }
217
+ }
127
218
  /** Fire-and-forget warm-up from the hub -- never blocks a turn. */
128
219
  ensure(game) {
129
220
  if (killed() || this.conn || this.connecting)
@@ -172,10 +263,12 @@ class HubLinkImpl {
172
263
  // quietly when the token had gone, which sent the
173
264
  // subscriptions out unauthenticated with nothing thrown and
174
265
  // nobody told -- the same deaf link as a rejected login, minus
175
- // even an error to notice.
266
+ // even an error to notice. A missing token is the one failure
267
+ // retrying cannot help, so it throws immediately rather than
268
+ // spending the ladder below on a certainty.
176
269
  if (!fresh)
177
270
  throw new Error('no cloud session to resume');
178
- await conn.call('login', { resume: fresh });
271
+ await this.reloginWithBackoff(conn, fresh);
179
272
  };
180
273
  // THE RECONNECT IS NO LONGER SILENT (KXgMCRQePfmsnXLRP,
181
274
  // vYk4kcNYgR2CQY5P9). Written to the log, not the screen: a
@@ -454,8 +547,29 @@ class HubLinkImpl {
454
547
  const accepted = [...this.seats.values()].filter(s => s.leaderUserID === this.userId && s.status === 'accepted');
455
548
  let changed = false;
456
549
  for (const seat of accepted) {
457
- if (!seat.memberRunner || !seat.memberHandle || !seat.memberSlug)
550
+ // AN INCOMPLETE SEAT IS SKIPPED -- BUT NOT IN SILENCE.
551
+ //
552
+ // A seat doc that reaches 'accepted' before all three identity
553
+ // fields are populated cannot be materialised: seatHolds matches on
554
+ // slug, and a slot built without one would be a crew member nothing
555
+ // could later find or remove. Skipping is right.
556
+ //
557
+ // Skipping QUIETLY was not. Nothing re-runs this until the next
558
+ // seat event, so the leader is left with an accepted seat and an
559
+ // empty roster and no line anywhere -- which is, to the character
560
+ // of it, the exact complaint behind ghTRt6JbtyzxT6yy3 ("Jinx was
561
+ // cut from my table without me doing it"). That report is explained
562
+ // by the dissolution chain rather than by this branch, and this
563
+ // branch has never been caught firing. It is written down because
564
+ // it would produce the SAME symptom with no evidence at all, and
565
+ // the cheapest moment to make a future occurrence nameable is
566
+ // before it happens rather than the third time it is reported.
567
+ //
568
+ // Behaviour is unchanged: it still skips. It just says so.
569
+ if (!seatIsComplete(seat)) {
570
+ Logger.getInstance().write(`shared-run: seat ${seat.memberRunner ?? '(unnamed)'} is accepted but not yet materialised -- missing ${missingSeatFields(seat).join(', ')}. Roster will fill on the next seat event.`);
458
571
  continue;
572
+ }
459
573
  if (!game.crew.some(m => m.ghost?.liveOnly && this.seatHolds(m.ghost, seat))) {
460
574
  game.crew.push({
461
575
  name: seat.memberRunner,