@tailuge/messaging 1.25.0 → 1.27.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/dist/lobby.d.ts +2 -10
- package/dist/lobby.js +28 -58
- package/dist/lobby.js.map +1 -1
- package/dist/messagingclient.d.ts +4 -0
- package/dist/messagingclient.js +6 -0
- package/dist/messagingclient.js.map +1 -1
- package/dist/nchanclient.d.ts +9 -0
- package/dist/nchanclient.js +14 -0
- package/dist/nchanclient.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.js.map +1 -1
- package/package.json +8 -6
package/dist/lobby.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ import { PresenceMessage, ChallengeMessage, ChatMessage } from "./types";
|
|
|
3
3
|
import { Table } from "./table";
|
|
4
4
|
export interface LobbyOptions {
|
|
5
5
|
heartbeatInterval?: number;
|
|
6
|
-
pruneInterval?: number;
|
|
7
|
-
staleTtl?: number;
|
|
8
6
|
onReconnect?: () => void;
|
|
9
7
|
onLeave?: () => void;
|
|
10
8
|
}
|
|
@@ -23,13 +21,9 @@ export declare class Lobby {
|
|
|
23
21
|
private deduplicator;
|
|
24
22
|
private subscription;
|
|
25
23
|
private isJoined;
|
|
26
|
-
private cachedUsersList;
|
|
27
24
|
private heartbeatTimer?;
|
|
28
|
-
private pruneTimer?;
|
|
29
25
|
private presenceMessageCount;
|
|
30
26
|
private readonly heartbeatInterval;
|
|
31
|
-
private readonly pruneInterval;
|
|
32
|
-
private readonly staleTtl;
|
|
33
27
|
constructor(nchan: NchanClient, currentUser: PresenceMessage, options?: LobbyOptions);
|
|
34
28
|
/**
|
|
35
29
|
* Subscribe to incoming chat messages directed at the current user.
|
|
@@ -53,8 +47,6 @@ export declare class Lobby {
|
|
|
53
47
|
resumeHeartbeat(): void;
|
|
54
48
|
private startHeartbeat;
|
|
55
49
|
private stopHeartbeat;
|
|
56
|
-
private startPruning;
|
|
57
|
-
private stopPruning;
|
|
58
50
|
/**
|
|
59
51
|
* Emits the current list of online users whenever it changes.
|
|
60
52
|
*/
|
|
@@ -76,12 +68,12 @@ export declare class Lobby {
|
|
|
76
68
|
* Challenge another user to a game.
|
|
77
69
|
* Returns the ID of the table created for the challenge.
|
|
78
70
|
*/
|
|
79
|
-
challenge(userId: string, ruleType: string, options?: Record<string, string
|
|
71
|
+
challenge(userId: string, ruleType: string, options?: Record<string, string>, nextTurnId?: string): Promise<string>;
|
|
80
72
|
/**
|
|
81
73
|
* Accept an incoming challenge.
|
|
82
74
|
* Returns the Table instance for the accepted game.
|
|
83
75
|
*/
|
|
84
|
-
acceptChallenge(userId: string, ruleType: string, tableId: string, options?: Record<string, string>, challengerName?: string): Promise<Table>;
|
|
76
|
+
acceptChallenge(userId: string, ruleType: string, tableId: string, options?: Record<string, string>, challengerName?: string, nextTurnId?: string): Promise<Table>;
|
|
85
77
|
/**
|
|
86
78
|
* Decline an incoming challenge.
|
|
87
79
|
*/
|
package/dist/lobby.js
CHANGED
|
@@ -17,11 +17,8 @@ export class Lobby {
|
|
|
17
17
|
this.pendingChallenges = [];
|
|
18
18
|
this.subscription = null;
|
|
19
19
|
this.isJoined = false;
|
|
20
|
-
this.cachedUsersList = null;
|
|
21
20
|
this.presenceMessageCount = 0;
|
|
22
21
|
this.heartbeatInterval = options.heartbeatInterval || 60000;
|
|
23
|
-
this.pruneInterval = options.pruneInterval || 30000;
|
|
24
|
-
this.staleTtl = options.staleTtl || 90000;
|
|
25
22
|
this.deduplicator = new ChallengeDeduplicator((msg) => {
|
|
26
23
|
this.pendingChallenges.push(msg);
|
|
27
24
|
this.challengeListeners.forEach((cb) => cb(msg));
|
|
@@ -61,7 +58,7 @@ export class Lobby {
|
|
|
61
58
|
}
|
|
62
59
|
else {
|
|
63
60
|
// Fallback: Re-broadcast presence state if no external orchestrator is handling it
|
|
64
|
-
this.nchan.publishPresence(this.currentUser).catch((_e) => {
|
|
61
|
+
this.nchan.publishPresence({ ...this.currentUser, clientTs: Date.now() }).catch((_e) => {
|
|
65
62
|
console.error("Failed to re-broadcast presence on reconnect:", _e);
|
|
66
63
|
});
|
|
67
64
|
}
|
|
@@ -70,7 +67,10 @@ export class Lobby {
|
|
|
70
67
|
// Broadcast our own presence with retry on failure (e.g. slow cold start)
|
|
71
68
|
for (let attempt = 1;; attempt++) {
|
|
72
69
|
try {
|
|
73
|
-
await this.nchan.publishPresence(
|
|
70
|
+
await this.nchan.publishPresence({
|
|
71
|
+
...this.currentUser,
|
|
72
|
+
clientTs: Date.now(),
|
|
73
|
+
});
|
|
74
74
|
break;
|
|
75
75
|
}
|
|
76
76
|
catch (e) {
|
|
@@ -80,7 +80,6 @@ export class Lobby {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
this.startHeartbeat();
|
|
83
|
-
this.startPruning();
|
|
84
83
|
this.isJoined = true;
|
|
85
84
|
}
|
|
86
85
|
/**
|
|
@@ -97,15 +96,22 @@ export class Lobby {
|
|
|
97
96
|
}
|
|
98
97
|
startHeartbeat() {
|
|
99
98
|
this.stopHeartbeat();
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
99
|
+
let firstTick = true;
|
|
100
|
+
const schedule = () => {
|
|
101
|
+
this.heartbeatTimer = setTimeout(async () => {
|
|
102
|
+
try {
|
|
103
|
+
await this.syncPresence({ type: "heartbeat" });
|
|
104
|
+
}
|
|
105
|
+
catch (_e) {
|
|
106
|
+
console.error("Failed to send heartbeat:", _e);
|
|
107
|
+
}
|
|
108
|
+
if (this.heartbeatTimer !== undefined)
|
|
109
|
+
schedule();
|
|
110
|
+
}, firstTick ? 3000 : this.heartbeatInterval);
|
|
111
|
+
this.heartbeatTimer.unref?.();
|
|
112
|
+
firstTick = false;
|
|
113
|
+
};
|
|
114
|
+
schedule();
|
|
109
115
|
}
|
|
110
116
|
stopHeartbeat() {
|
|
111
117
|
if (this.heartbeatTimer) {
|
|
@@ -113,33 +119,6 @@ export class Lobby {
|
|
|
113
119
|
this.heartbeatTimer = undefined;
|
|
114
120
|
}
|
|
115
121
|
}
|
|
116
|
-
startPruning() {
|
|
117
|
-
this.stopPruning();
|
|
118
|
-
this.pruneTimer = setInterval(() => {
|
|
119
|
-
const now = Date.now();
|
|
120
|
-
let changed = false;
|
|
121
|
-
for (const [userId, user] of this.users.entries()) {
|
|
122
|
-
if (userId === this.currentUser.userId)
|
|
123
|
-
continue;
|
|
124
|
-
const lastSeen = user.meta?.ts || 0;
|
|
125
|
-
if (now - lastSeen > this.staleTtl) {
|
|
126
|
-
this.users.delete(userId);
|
|
127
|
-
changed = true;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
if (changed) {
|
|
131
|
-
this.cachedUsersList = null;
|
|
132
|
-
this.notifyListeners();
|
|
133
|
-
}
|
|
134
|
-
}, this.pruneInterval);
|
|
135
|
-
this.pruneTimer.unref?.();
|
|
136
|
-
}
|
|
137
|
-
stopPruning() {
|
|
138
|
-
if (this.pruneTimer) {
|
|
139
|
-
clearInterval(this.pruneTimer);
|
|
140
|
-
this.pruneTimer = undefined;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
122
|
/**
|
|
144
123
|
* Emits the current list of online users whenever it changes.
|
|
145
124
|
*/
|
|
@@ -174,13 +153,14 @@ export class Lobby {
|
|
|
174
153
|
await this.nchan.publishPresence({
|
|
175
154
|
...this.currentUser,
|
|
176
155
|
...update,
|
|
156
|
+
clientTs: Date.now(),
|
|
177
157
|
});
|
|
178
158
|
}
|
|
179
159
|
/**
|
|
180
160
|
* Challenge another user to a game.
|
|
181
161
|
* Returns the ID of the table created for the challenge.
|
|
182
162
|
*/
|
|
183
|
-
async challenge(userId, ruleType, options) {
|
|
163
|
+
async challenge(userId, ruleType, options, nextTurnId) {
|
|
184
164
|
const tableId = getUID();
|
|
185
165
|
await this.nchan.publishChallenge({
|
|
186
166
|
type: "offer",
|
|
@@ -190,6 +170,7 @@ export class Lobby {
|
|
|
190
170
|
ruleType,
|
|
191
171
|
tableId,
|
|
192
172
|
options,
|
|
173
|
+
nextTurnId,
|
|
193
174
|
});
|
|
194
175
|
return tableId;
|
|
195
176
|
}
|
|
@@ -197,7 +178,7 @@ export class Lobby {
|
|
|
197
178
|
* Accept an incoming challenge.
|
|
198
179
|
* Returns the Table instance for the accepted game.
|
|
199
180
|
*/
|
|
200
|
-
async acceptChallenge(userId, ruleType, tableId, options, challengerName) {
|
|
181
|
+
async acceptChallenge(userId, ruleType, tableId, options, challengerName, nextTurnId) {
|
|
201
182
|
await this.nchan.publishChallenge({
|
|
202
183
|
type: "accept",
|
|
203
184
|
challengerId: userId,
|
|
@@ -206,6 +187,7 @@ export class Lobby {
|
|
|
206
187
|
ruleType,
|
|
207
188
|
tableId,
|
|
208
189
|
options,
|
|
190
|
+
nextTurnId,
|
|
209
191
|
});
|
|
210
192
|
// Automatically update our presence to show we've joined the table
|
|
211
193
|
await this.updatePresence({ tableId });
|
|
@@ -250,19 +232,14 @@ export class Lobby {
|
|
|
250
232
|
*/
|
|
251
233
|
async leave(options = {}) {
|
|
252
234
|
this.stopHeartbeat();
|
|
253
|
-
this.stopPruning();
|
|
254
235
|
this.subscription?.stop();
|
|
255
236
|
try {
|
|
256
|
-
await this.nchan.publishPresence({
|
|
257
|
-
...this.currentUser,
|
|
258
|
-
type: "leave",
|
|
259
|
-
}, { keepalive: options.isTeardown });
|
|
237
|
+
await this.nchan.publishPresence({ ...this.currentUser, type: "leave", clientTs: Date.now() }, { keepalive: options.isTeardown });
|
|
260
238
|
}
|
|
261
239
|
catch (e) {
|
|
262
240
|
console.error("Error leaving lobby:", e);
|
|
263
241
|
}
|
|
264
242
|
this.users.clear();
|
|
265
|
-
this.cachedUsersList = null;
|
|
266
243
|
this.pendingChallenges = [];
|
|
267
244
|
this.deduplicator.clear();
|
|
268
245
|
this.presenceMessageCount = 0;
|
|
@@ -297,13 +274,11 @@ export class Lobby {
|
|
|
297
274
|
if (msg.type === "leave") {
|
|
298
275
|
if (existing) {
|
|
299
276
|
this.users.delete(msg.userId);
|
|
300
|
-
this.cachedUsersList = null;
|
|
301
277
|
this.notifyListeners();
|
|
302
278
|
}
|
|
303
279
|
}
|
|
304
280
|
else if (msg.type === "join") {
|
|
305
281
|
this.users.set(msg.userId, msg);
|
|
306
|
-
this.cachedUsersList = null;
|
|
307
282
|
this.notifyListeners();
|
|
308
283
|
}
|
|
309
284
|
else {
|
|
@@ -311,7 +286,6 @@ export class Lobby {
|
|
|
311
286
|
const changed = !existing || this.hasMeaningfulChange(existing, msg);
|
|
312
287
|
this.users.set(msg.userId, msg);
|
|
313
288
|
if (changed) {
|
|
314
|
-
this.cachedUsersList = null;
|
|
315
289
|
this.notifyListeners();
|
|
316
290
|
}
|
|
317
291
|
}
|
|
@@ -330,11 +304,7 @@ export class Lobby {
|
|
|
330
304
|
this.listeners.forEach((cb) => cb(list));
|
|
331
305
|
}
|
|
332
306
|
getUsersList() {
|
|
333
|
-
|
|
334
|
-
return this.cachedUsersList;
|
|
335
|
-
}
|
|
336
|
-
this.cachedUsersList = Array.from(this.users.values()).sort((a, b) => a.userName.localeCompare(b.userName));
|
|
337
|
-
return this.cachedUsersList;
|
|
307
|
+
return Array.from(this.users.values()).sort((a, b) => a.userName.localeCompare(b.userName));
|
|
338
308
|
}
|
|
339
309
|
hasMeaningfulChange(oldMsg, nextMsg) {
|
|
340
310
|
return (oldMsg.userName !== nextMsg.userName ||
|
package/dist/lobby.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lobby.js","sourceRoot":"","sources":["../src/lobby.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,YAAY,GAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lobby.js","sourceRoot":"","sources":["../src/lobby.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,10 @@ export declare class MessagingClient {
|
|
|
24
24
|
* Sets a global software version string that will be attached to all outgoing messages.
|
|
25
25
|
*/
|
|
26
26
|
setVersion(version: string): void;
|
|
27
|
+
/**
|
|
28
|
+
* Returns raw messages recorded by the underlying NchanClient for debugging.
|
|
29
|
+
*/
|
|
30
|
+
get recordedMessages(): string[];
|
|
27
31
|
/**
|
|
28
32
|
* Initializes the client and ensures connection readiness.
|
|
29
33
|
* In browser environments, attaches lifecycle event listeners.
|
package/dist/messagingclient.js
CHANGED
|
@@ -44,6 +44,12 @@ export class MessagingClient {
|
|
|
44
44
|
setVersion(version) {
|
|
45
45
|
this.nchan.setVersion(version);
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns raw messages recorded by the underlying NchanClient for debugging.
|
|
49
|
+
*/
|
|
50
|
+
get recordedMessages() {
|
|
51
|
+
return this.nchan.recordedMessages;
|
|
52
|
+
}
|
|
47
53
|
/**
|
|
48
54
|
* Initializes the client and ensures connection readiness.
|
|
49
55
|
* In browser environments, attaches lifecycle event listeners.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagingclient.js","sourceRoot":"","sources":["../src/messagingclient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAgB,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC;;;GAGG;AACH,MAAM,OAAO,eAAe;IAc1B,YAAY,OAA4B;QAZhC,kBAAa,GAAY,EAAE,CAAC;QAC5B,mBAAc,GAAuB,IAAI,GAAG,EAAE,CAAC;QAC/C,iBAAY,GAAY,EAAE,CAAC;QAC3B,iBAAY,GAAmE,IAAI,GAAG,EAAE,CAAC;QACzF,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,sBAAiB,GAAG,KAAK,CAAC;QAE1B,kBAAa,GAAyB,IAAI,CAAC;QAC3C,gBAAW,GAAyB,IAAI,CAAC;QACzC,mBAAc,GAAgC,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"messagingclient.js","sourceRoot":"","sources":["../src/messagingclient.ts"],"names":[],"mappings":"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"}
|
package/dist/nchanclient.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type Subscription = {
|
|
|
7
7
|
export declare class NchanClient {
|
|
8
8
|
private server;
|
|
9
9
|
private version?;
|
|
10
|
+
private _recordedMessages;
|
|
10
11
|
constructor(server: string);
|
|
11
12
|
/**
|
|
12
13
|
* Sets the global version string to be included in all published messages.
|
|
@@ -15,6 +16,14 @@ export declare class NchanClient {
|
|
|
15
16
|
private getWsUrl;
|
|
16
17
|
private getHttpUrl;
|
|
17
18
|
private publish;
|
|
19
|
+
/**
|
|
20
|
+
* Records a raw message string for debugging/inspection.
|
|
21
|
+
*/
|
|
22
|
+
record(raw: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Returns all recorded messages as raw strings.
|
|
25
|
+
*/
|
|
26
|
+
get recordedMessages(): string[];
|
|
18
27
|
publishPresence(message: Omit<PresenceMessage, "messageType">, options?: {
|
|
19
28
|
keepalive?: boolean;
|
|
20
29
|
}): Promise<void>;
|
package/dist/nchanclient.js
CHANGED
|
@@ -6,6 +6,7 @@ const PATHS = {
|
|
|
6
6
|
};
|
|
7
7
|
export class NchanClient {
|
|
8
8
|
constructor(server) {
|
|
9
|
+
this._recordedMessages = [];
|
|
9
10
|
// Ensure server string doesn't end with a slash
|
|
10
11
|
this.server = server.replace(/\/$/, "");
|
|
11
12
|
// If no protocol is provided, determine it based on the environment
|
|
@@ -67,6 +68,18 @@ export class NchanClient {
|
|
|
67
68
|
throw new Error(`Publish failed: ${response.status}`);
|
|
68
69
|
}
|
|
69
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Records a raw message string for debugging/inspection.
|
|
73
|
+
*/
|
|
74
|
+
record(raw) {
|
|
75
|
+
this._recordedMessages.push(raw);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Returns all recorded messages as raw strings.
|
|
79
|
+
*/
|
|
80
|
+
get recordedMessages() {
|
|
81
|
+
return this._recordedMessages;
|
|
82
|
+
}
|
|
70
83
|
// Publishing
|
|
71
84
|
async publishPresence(message, options) {
|
|
72
85
|
return this.publish(PATHS.PRESENCE_PUBLISH, {
|
|
@@ -152,6 +165,7 @@ export class NchanClient {
|
|
|
152
165
|
}, CONNECTION_TIMEOUT_MS);
|
|
153
166
|
connectionTimeoutTimer.unref?.();
|
|
154
167
|
ws.onmessage = (event) => {
|
|
168
|
+
this.record(event.data);
|
|
155
169
|
onMessage(event.data);
|
|
156
170
|
};
|
|
157
171
|
ws.onopen = () => {
|
package/dist/nchanclient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nchanclient.js","sourceRoot":"","sources":["../src/nchanclient.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG;IACZ,gBAAgB,EAAE,yBAAyB;IAC3C,kBAAkB,EAAE,2BAA2B;IAC/C,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,kBAAkB,OAAO,EAAE;IAC/D,eAAe,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,oBAAoB,OAAO,EAAE;CAC3D,CAAC;AAQX,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"nchanclient.js","sourceRoot":"","sources":["../src/nchanclient.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -33,6 +33,8 @@ export interface PresenceMessage {
|
|
|
33
33
|
meta?: Meta;
|
|
34
34
|
tableId?: string;
|
|
35
35
|
isSpectator?: boolean;
|
|
36
|
+
isLeaving?: boolean;
|
|
37
|
+
clientTs?: number;
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* Peer-to-peer challenge request
|
|
@@ -46,6 +48,7 @@ export interface ChallengeMessage {
|
|
|
46
48
|
ruleType: string;
|
|
47
49
|
tableId?: string;
|
|
48
50
|
readonly options?: Record<string, string>;
|
|
51
|
+
nextTurnId?: string;
|
|
49
52
|
meta?: Meta;
|
|
50
53
|
}
|
|
51
54
|
/**
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyGA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAQ;IACxC,OAAO,GAAG,EAAE,WAAW,KAAK,UAAU,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAQ;IACzC,OAAO,GAAG,EAAE,WAAW,KAAK,WAAW,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,GAAG,EAAE,WAAW,KAAK,MAAM,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAuB,EAAE,aAAqB;IACzE,OAAO,MAAM,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB,EAAE,cAAuB;IAC1E,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,CAAC;AACtF,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IACtC,IAAI,IAAI,CAAC,WAAW;QAAE,OAAO,YAAY,CAAC;IAC1C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAC,IAAqB;IAC7C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;oBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,EAAE;oBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBACtC,EAAE,EAAE,IAAI,CAAC,MAAM;gBACf,IAAI,EAAE,IAAI,CAAC,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAI,IAAY;IAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tailuge/messaging",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A stateful messaging library for Nchan-powered real-time applications.",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,13 +19,15 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"test": "jest --config test/jest.config.cjs --verbose",
|
|
21
21
|
"coverage": "jest --config test/jest.config.cjs --coverage",
|
|
22
|
-
"playwright": "npm run docker:build && npx playwright test",
|
|
22
|
+
"playwright": "npm run docker:build && npx playwright test --workers=1",
|
|
23
23
|
"playwright:rematch": "npm run docker:build && npx playwright test playwright/lobby-rematch.spec.ts",
|
|
24
|
+
"playwright:e2e": "npm run docker:build && npx playwright test playwright/e2e*.spec.ts --workers=1",
|
|
25
|
+
"playwright:new": "npm run docker:build && npx playwright test playwright/iframee2e.spec.ts --workers=1",
|
|
24
26
|
"test:debug": "npm run playwright",
|
|
25
27
|
"clientbump": "node scripts/clientbump.mjs",
|
|
26
28
|
"lint": "tsc --noEmit && npx oxlint src test",
|
|
27
29
|
"prettify": "npx oxfmt src test",
|
|
28
|
-
"build:lit": "npx esbuild src/client/lobby.js --bundle --minify --outfile=docker/html/lobby.js && cp src/client/*.html docker/html/ && cp src/client/favicon.ico src/client/robots.txt docker/html/ 2>/dev/null || true && mkdir -p docker/html/assets && cp src/client/assets/*.png docker/html/assets/ 2>/dev/null || true",
|
|
30
|
+
"build:lit": "npx esbuild src/client/lobby.js --bundle --minify --outfile=docker/html/lobby.js && cp src/client/*.html docker/html/ && cp src/client/favicon.ico src/client/robots.txt src/client/sitemap.xml docker/html/ 2>/dev/null || true && mkdir -p docker/html/assets && cp src/client/assets/*.png docker/html/assets/ 2>/dev/null || true",
|
|
29
31
|
"crossdeploy": "npx esbuild src/client/lobby.js --bundle --minify --outfile=../billiards/dist/lobby.js && cp src/client/lobby.html ../billiards/dist/ && cp src/client/assets/*.png ../billiards/dist/assets/",
|
|
30
32
|
"crossdeployv": "cp docker/html/lobby.js ../scoreboard/public/ && cp src/client/lobby.html ../scoreboard/public/ && cp src/client/assets/*.png ../scoreboard/public/assets/",
|
|
31
33
|
"build": "tsc --declaration && node scripts/add-js-extensions.js && npx esbuild src/index.ts --bundle --format=esm --outfile=docker/html/messaging.js && npm run build:lit",
|
|
@@ -48,13 +50,13 @@
|
|
|
48
50
|
"author": "tailuge",
|
|
49
51
|
"license": "GPL-3.0",
|
|
50
52
|
"devDependencies": {
|
|
51
|
-
"@playwright/test": "^1.
|
|
53
|
+
"@playwright/test": "^1.61.0",
|
|
52
54
|
"@types/jest": "30.0.0",
|
|
53
55
|
"@types/ws": "^8.18.1",
|
|
54
56
|
"esbuild": "^0.28.1",
|
|
55
57
|
"jest": "^30.4.2",
|
|
56
|
-
"oxlint": "^1.
|
|
57
|
-
"testcontainers": "
|
|
58
|
+
"oxlint": "^1.70.0",
|
|
59
|
+
"testcontainers": "9.12.0",
|
|
58
60
|
"ts-jest": "^29.4.11",
|
|
59
61
|
"typescript": "^6.0.3",
|
|
60
62
|
"ws": "^8.21.0"
|