@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.
- package/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js +25 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/call.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +47 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +80 -3
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +10 -2
- package/bundle/typescript/src/commands/game/sideQuest/game.js +38 -8
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.d.ts +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.js +61 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/data-work.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.d.ts +0 -31
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +21 -75
- package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.d.ts +61 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +117 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +47 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +121 -17
- package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
- package/bundle/typescript/src/tools/sdk-loader/relocate.d.ts +19 -0
- package/bundle/typescript/src/tools/sdk-loader/relocate.js +23 -9
- package/bundle/typescript/src/tools/sdk-loader/relocate.js.map +1 -1
- package/bundle/typescript/src/tools/self-update/update-maka.js +19 -5
- package/bundle/typescript/src/tools/self-update/update-maka.js.map +1 -1
- 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
|
|
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
|
-
//
|
|
162
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
169
|
-
//
|
|
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
|
-
//
|
|
172
|
-
// is
|
|
173
|
-
//
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
//
|
|
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
|
|
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
|
-
|
|
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,
|