@welshman/store 0.11.0 → 0.11.2
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/net/src/adapter.d.ts.map +1 -1
- package/dist/net/src/adapter.js +9 -0
- package/dist/net/src/adapter.js.map +1 -1
- package/dist/net/src/count.d.ts +30 -0
- package/dist/net/src/count.d.ts.map +1 -0
- package/dist/net/src/count.js +97 -0
- package/dist/net/src/count.js.map +1 -0
- package/dist/net/src/index.d.ts +1 -0
- package/dist/net/src/index.d.ts.map +1 -1
- package/dist/net/src/index.js +1 -0
- package/dist/net/src/index.js.map +1 -1
- package/dist/net/src/message.d.ts +12 -0
- package/dist/net/src/message.d.ts.map +1 -1
- package/dist/net/src/message.js +5 -0
- package/dist/net/src/message.js.map +1 -1
- package/dist/net/src/policy.d.ts +5 -2
- package/dist/net/src/policy.d.ts.map +1 -1
- package/dist/net/src/policy.js +108 -45
- package/dist/net/src/policy.js.map +1 -1
- package/dist/net/src/socket.d.ts +1 -0
- package/dist/net/src/socket.d.ts.map +1 -1
- package/dist/net/src/socket.js +5 -2
- package/dist/net/src/socket.js.map +1 -1
- package/dist/net/src/util.d.ts +7 -1
- package/dist/net/src/util.d.ts.map +1 -1
- package/dist/net/src/util.js +12 -3
- package/dist/net/src/util.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../net/src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAA2B,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAkB,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EACL,YAAY,EAEZ,aAAa,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../net/src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAA2B,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAkB,UAAU,EAAC,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EACL,YAAY,EAEZ,aAAa,EAMd,MAAM,cAAc,CAAA;AACrB,OAAO,EAAC,MAAM,EAAc,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAE5C,oBAAY,YAAY;IACtB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACrE,CAAA;AAED,8BAAsB,eAAgB,SAAQ,YAAY;IACxD,cAAc,EAAE,YAAY,EAAE,CAAK;IAEnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAE3C,OAAO;CAIR;AAED,qBAAa,aAAc,SAAQ,eAAe;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAUnC,IAAI,OAAO,aAEV;IAED,IAAI,IAAI,aAEP;IAED,IAAI,CAAC,OAAO,EAAE,aAAa;CAG5B;AAED,qBAAa,YAAa,SAAQ,eAAe;;IAGnC,QAAQ,CAAC,UAAU,EAAE,UAAU;IAF3C,IAAI,wBAA8B;gBAEb,UAAU,EAAE,UAAU;IAgB3C,IAAI,OAAO,YAEV;IAED,IAAI,IAAI,aAEP;IAED,IAAI,CAAC,OAAO,EAAE,aAAa;CAiD5B;AAED,qBAAa,WAAY,SAAQ,eAAe;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;gBADtC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI;IAKjD,IAAI,OAAO,YAEV;IAED,IAAI,IAAI,aAEP;IAED,OAAO,GAAI,SAAS,YAAY,UAE/B;CACF;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAEhD,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,EAAE,UAAS,cAAmB,mDA0BnE,CAAA"}
|
package/dist/net/src/adapter.js
CHANGED
|
@@ -62,6 +62,8 @@ export class LocalAdapter extends AbstractAdapter {
|
|
|
62
62
|
return this.#handleEVENT(message);
|
|
63
63
|
case ClientMessageType.Close:
|
|
64
64
|
return this.#handleCLOSE(message);
|
|
65
|
+
case ClientMessageType.Count:
|
|
66
|
+
return this.#handleCOUNT(message);
|
|
65
67
|
case ClientMessageType.Req:
|
|
66
68
|
return this.#handleREQ(message);
|
|
67
69
|
}
|
|
@@ -77,6 +79,13 @@ export class LocalAdapter extends AbstractAdapter {
|
|
|
77
79
|
#handleCLOSE([_, subId]) {
|
|
78
80
|
this.subs.delete(subId);
|
|
79
81
|
}
|
|
82
|
+
#handleCOUNT([_, subId, ...filters]) {
|
|
83
|
+
// Callers generally expect async relays
|
|
84
|
+
sleep(1).then(() => {
|
|
85
|
+
const count = this.repository.query(filters).length;
|
|
86
|
+
this.#receive([RelayMessageType.Count, subId, { count }]);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
80
89
|
#handleREQ([_, subId, ...filters]) {
|
|
81
90
|
this.subs.set(subId, filters);
|
|
82
91
|
// Callers generally expect async relays
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../net/src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,UAAU,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAC,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAEL,gBAAgB,EAEhB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../net/src/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,UAAU,EAAE,YAAY,EAAS,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAC,eAAe,EAAa,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAEL,gBAAgB,EAEhB,iBAAiB,GAKlB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAS,WAAW,EAAC,MAAM,aAAa,CAAA;AAI/C,MAAM,CAAN,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mCAAmB,CAAA;AACrB,CAAC,EAFW,YAAY,KAAZ,YAAY,QAEvB;AAMD,MAAM,OAAgB,eAAgB,SAAQ,YAAY;IACxD,cAAc,GAAmB,EAAE,CAAA;IAMnC,OAAO;QACL,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,eAAe;IAC3B;IAArB,YAAqB,MAAc;QACjC,KAAK,EAAE,CAAA;QADY,WAAM,GAAN,MAAM,CAAQ;QAGjC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,OAAqB,EAAE,GAAW,EAAE,EAAE;YACrE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,OAAsB;QACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,eAAe;IAG1B;IAFrB,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAA;IAElC,YAAqB,UAAsB;QACzC,KAAK,EAAE,CAAA;QADY,eAAU,GAAV,UAAU,CAAY;QAGzC,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;YACnC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBAC1B,IAAI,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,OAAsB;QACzB,QAAQ,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,KAAK,iBAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC,CAAA;YAClD,KAAK,iBAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC,CAAA;YAClD,KAAK,iBAAiB,CAAC,KAAK;gBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAsB,CAAC,CAAA;YAClD,KAAK,iBAAiB,CAAC,GAAG;gBACxB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAoB,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAqB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;IAC3D,CAAC;IAED,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAc;QAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAE9B,wCAAwC;QACxC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAc;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAc;QAC9C,wCAAwC;QACxC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;YAEnD,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAE7B,wCAAwC;QACxC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YACjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;YACvD,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,eAAe;IAEnC;IACA;IAFX,YACW,GAAW,EACX,IAAsC;QAE/C,KAAK,EAAE,CAAA;QAHE,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAkC;IAGjD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,OAAO,GAAG,CAAC,OAAqB,EAAE,EAAE;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,CAAC,CAAA;CACF;AAID,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,UAA0B,EAAE,EAAE,EAAE;IACtE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEhD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAA;QAChB,CAAC;IACH,CAAC;IAED,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAC9E,CAAC;QAED,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACrE,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAA;AAC7C,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Filter } from "@welshman/util";
|
|
2
|
+
import { AdapterContext } from "./adapter.js";
|
|
3
|
+
export declare const COUNT_TIMEOUT = 3000;
|
|
4
|
+
export declare const supportsCount: (relay: string) => boolean | undefined;
|
|
5
|
+
export type CountOneOptions = {
|
|
6
|
+
relay: string;
|
|
7
|
+
filters: Filter[];
|
|
8
|
+
context?: AdapterContext;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Asks one relay how many events match the given filters (NIP-45).
|
|
13
|
+
* @param options - CountOneOptions
|
|
14
|
+
* @returns the relay's count, or undefined if it does not support COUNT
|
|
15
|
+
*/
|
|
16
|
+
export declare const countOne: (options: CountOneOptions) => import("@welshman/lib").Deferred<number | undefined, number | undefined>;
|
|
17
|
+
export type CountOptions = {
|
|
18
|
+
relays: string[];
|
|
19
|
+
filters: Filter[];
|
|
20
|
+
context?: AdapterContext;
|
|
21
|
+
signal?: AbortSignal;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Asks several relays how many events match the given filters (NIP-45). Relays hold
|
|
25
|
+
* overlapping subsets of the network, so the highest answer is a lower bound.
|
|
26
|
+
* @param options - CountOptions
|
|
27
|
+
* @returns the highest count given, or undefined if no relay supports COUNT
|
|
28
|
+
*/
|
|
29
|
+
export declare const count: (options: CountOptions) => Promise<number | undefined>;
|
|
30
|
+
//# sourceMappingURL=count.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../net/src/count.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AASrC,OAAO,EAAa,cAAc,EAAe,MAAM,cAAc,CAAA;AAIrE,eAAO,MAAM,aAAa,OAAO,CAAA;AAgBjC,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,wBAA8B,CAAA;AAEzE,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,SAAS,eAAe,6EA+EhD,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,gCAMhD,CAAA"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { call, defer, max, on, randomId, removeUndefined, uniq } from "@welshman/lib";
|
|
2
|
+
import { ClientMessageType, RelayReasonPrefix, isRelayClosed, isRelayCount, matchReason, } from "./message.js";
|
|
3
|
+
import { getAdapter, AdapterEvent } from "./adapter.js";
|
|
4
|
+
import { SocketEvent, SocketStatus } from "./socket.js";
|
|
5
|
+
import { AuthStatus } from "./auth.js";
|
|
6
|
+
export const COUNT_TIMEOUT = 3000;
|
|
7
|
+
// Which relays answer a COUNT, read off the wire rather than from NIP-11. A relay that
|
|
8
|
+
// refused once is not asked again.
|
|
9
|
+
const supportByRelay = new Map();
|
|
10
|
+
// A socket that is still connecting or authenticating can be slow for reasons of its own
|
|
11
|
+
const isReady = (socket) => socket.status === SocketStatus.Open &&
|
|
12
|
+
[AuthStatus.None, AuthStatus.Ok].includes(socket.auth.status);
|
|
13
|
+
// Refusals that say nothing about whether the relay can count
|
|
14
|
+
const isTransientReason = (reason) => matchReason(RelayReasonPrefix.AuthRequired, reason) ||
|
|
15
|
+
matchReason(RelayReasonPrefix.RateLimited, reason);
|
|
16
|
+
export const supportsCount = (relay) => supportByRelay.get(relay);
|
|
17
|
+
/**
|
|
18
|
+
* Asks one relay how many events match the given filters (NIP-45).
|
|
19
|
+
* @param options - CountOneOptions
|
|
20
|
+
* @returns the relay's count, or undefined if it does not support COUNT
|
|
21
|
+
*/
|
|
22
|
+
export const countOne = (options) => {
|
|
23
|
+
const deferred = defer();
|
|
24
|
+
if (options.signal?.aborted || supportByRelay.get(options.relay) === false) {
|
|
25
|
+
deferred.resolve(undefined);
|
|
26
|
+
return deferred;
|
|
27
|
+
}
|
|
28
|
+
const id = `COUNT-${randomId().slice(0, 8)}`;
|
|
29
|
+
const adapter = getAdapter(options.relay, options.context);
|
|
30
|
+
let closed = false;
|
|
31
|
+
const finish = (result) => {
|
|
32
|
+
if (closed)
|
|
33
|
+
return;
|
|
34
|
+
closed = true;
|
|
35
|
+
clearTimeout(timeoutId);
|
|
36
|
+
adapter.cleanup();
|
|
37
|
+
unsubscribers.map(call);
|
|
38
|
+
deferred.resolve(result);
|
|
39
|
+
};
|
|
40
|
+
// Only the relay's own answer says whether it supports COUNT
|
|
41
|
+
const remember = (supported, result) => {
|
|
42
|
+
supportByRelay.set(options.relay, supported);
|
|
43
|
+
finish(result);
|
|
44
|
+
};
|
|
45
|
+
const unsubscribers = [
|
|
46
|
+
on(adapter, AdapterEvent.Receive, (message) => {
|
|
47
|
+
if (isRelayCount(message) && message[1] === id) {
|
|
48
|
+
remember(true, message[2].count);
|
|
49
|
+
}
|
|
50
|
+
if (isRelayClosed(message) && message[1] === id) {
|
|
51
|
+
if (isTransientReason(message[2])) {
|
|
52
|
+
finish(undefined);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
remember(false);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}),
|
|
59
|
+
];
|
|
60
|
+
for (const socket of adapter.sockets) {
|
|
61
|
+
unsubscribers.push(on(socket, SocketEvent.Status, (status) => {
|
|
62
|
+
if (![SocketStatus.Open, SocketStatus.Opening].includes(status)) {
|
|
63
|
+
finish(undefined);
|
|
64
|
+
}
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
if (options.signal) {
|
|
68
|
+
const signal = options.signal;
|
|
69
|
+
const abort = () => finish(undefined);
|
|
70
|
+
signal.addEventListener("abort", abort);
|
|
71
|
+
unsubscribers.push(() => signal.removeEventListener("abort", abort));
|
|
72
|
+
}
|
|
73
|
+
// A relay that does not know the verb usually says nothing, so silence is a refusal too, as
|
|
74
|
+
// long as the relay was ready to answer the whole time
|
|
75
|
+
const wasReady = adapter.sockets.every(isReady);
|
|
76
|
+
const timeoutId = setTimeout(() => {
|
|
77
|
+
if (wasReady && adapter.sockets.every(isReady)) {
|
|
78
|
+
remember(false);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
finish(undefined);
|
|
82
|
+
}
|
|
83
|
+
}, COUNT_TIMEOUT);
|
|
84
|
+
adapter.send([ClientMessageType.Count, id, ...options.filters]);
|
|
85
|
+
return deferred;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Asks several relays how many events match the given filters (NIP-45). Relays hold
|
|
89
|
+
* overlapping subsets of the network, so the highest answer is a lower bound.
|
|
90
|
+
* @param options - CountOptions
|
|
91
|
+
* @returns the highest count given, or undefined if no relay supports COUNT
|
|
92
|
+
*/
|
|
93
|
+
export const count = async (options) => {
|
|
94
|
+
const counts = removeUndefined(await Promise.all(uniq(options.relays).map(relay => countOne({ ...options, relay }))));
|
|
95
|
+
return counts.length > 0 ? max(counts) : undefined;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../net/src/count.ts"],"names":[],"mappings":"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"}
|
package/dist/net/src/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
package/dist/net/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../net/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA"}
|
|
@@ -3,6 +3,7 @@ export declare enum RelayMessageType {
|
|
|
3
3
|
Notice = "NOTICE",
|
|
4
4
|
Auth = "AUTH",
|
|
5
5
|
Closed = "CLOSED",
|
|
6
|
+
Count = "COUNT",
|
|
6
7
|
Eose = "EOSE",
|
|
7
8
|
Event = "EVENT",
|
|
8
9
|
NegMsg = "NEG-MSG",
|
|
@@ -13,6 +14,10 @@ export type RelayMessage = any[];
|
|
|
13
14
|
export type RelayNoticePayload = [string];
|
|
14
15
|
export type RelayAuthPayload = [string];
|
|
15
16
|
export type RelayClosedPayload = [string, string];
|
|
17
|
+
export type RelayCountPayload = [string, {
|
|
18
|
+
count: number;
|
|
19
|
+
approximate?: boolean;
|
|
20
|
+
}];
|
|
16
21
|
export type RelayEosePayload = [string];
|
|
17
22
|
export type RelayEventPayload = [string, SignedEvent];
|
|
18
23
|
export type RelayNegErrPayload = [string, string];
|
|
@@ -21,6 +26,7 @@ export type RelayOkPayload = [string, boolean, string];
|
|
|
21
26
|
export type RelayNotice = [RelayMessageType.Notice, ...RelayNoticePayload];
|
|
22
27
|
export type RelayAuth = [RelayMessageType.Auth, ...RelayAuthPayload];
|
|
23
28
|
export type RelayClosed = [RelayMessageType.Closed, ...RelayClosedPayload];
|
|
29
|
+
export type RelayCount = [RelayMessageType.Count, ...RelayCountPayload];
|
|
24
30
|
export type RelayEose = [RelayMessageType.Eose, ...RelayEosePayload];
|
|
25
31
|
export type RelayEvent = [RelayMessageType.Event, ...RelayEventPayload];
|
|
26
32
|
export type RelayNegErr = [RelayMessageType.NegErr, ...RelayNegErrPayload];
|
|
@@ -29,6 +35,7 @@ export type RelayOk = [RelayMessageType.Ok, ...RelayOkPayload];
|
|
|
29
35
|
export declare const isRelayNotice: (m: RelayMessage) => m is RelayNotice;
|
|
30
36
|
export declare const isRelayAuth: (m: RelayMessage) => m is RelayAuth;
|
|
31
37
|
export declare const isRelayClosed: (m: RelayMessage) => m is RelayClosed;
|
|
38
|
+
export declare const isRelayCount: (m: RelayMessage) => m is RelayCount;
|
|
32
39
|
export declare const isRelayEose: (m: RelayMessage) => m is RelayEose;
|
|
33
40
|
export declare const isRelayEvent: (m: RelayMessage) => m is RelayEvent;
|
|
34
41
|
export declare const isRelayNegErr: (m: RelayMessage) => m is RelayNegErr;
|
|
@@ -40,6 +47,7 @@ export declare enum RelayReasonPrefix {
|
|
|
40
47
|
Invalid = "invalid",
|
|
41
48
|
Mute = "mute",
|
|
42
49
|
Pow = "pow",
|
|
50
|
+
RateLimited = "rate-limited",
|
|
43
51
|
Restricted = "restricted",
|
|
44
52
|
Unsupported = "unsupported"
|
|
45
53
|
}
|
|
@@ -48,6 +56,7 @@ export declare const isTerminalReason: (reason?: string) => boolean;
|
|
|
48
56
|
export declare enum ClientMessageType {
|
|
49
57
|
Auth = "AUTH",
|
|
50
58
|
Close = "CLOSE",
|
|
59
|
+
Count = "COUNT",
|
|
51
60
|
Event = "EVENT",
|
|
52
61
|
NegClose = "NEG-CLOSE",
|
|
53
62
|
NegOpen = "NEG-OPEN",
|
|
@@ -56,18 +65,21 @@ export declare enum ClientMessageType {
|
|
|
56
65
|
export type ClientMessage = any[];
|
|
57
66
|
export type ClientAuthPayload = [string];
|
|
58
67
|
export type ClientClosePayload = [string];
|
|
68
|
+
export type ClientCountPayload = [string, ...Filter[]];
|
|
59
69
|
export type ClientEventPayload = [SignedEvent];
|
|
60
70
|
export type ClientNegClosePayload = [string];
|
|
61
71
|
export type ClientNegOpenPayload = [string, Filter, string];
|
|
62
72
|
export type ClientReqPayload = [string, Filter];
|
|
63
73
|
export type ClientAuth = [ClientMessageType.Auth, ...ClientAuthPayload];
|
|
64
74
|
export type ClientClose = [ClientMessageType.Close, ...ClientClosePayload];
|
|
75
|
+
export type ClientCount = [ClientMessageType.Count, ...ClientCountPayload];
|
|
65
76
|
export type ClientEvent = [ClientMessageType.Event, ...ClientEventPayload];
|
|
66
77
|
export type ClientNegClose = [ClientMessageType.NegClose, ...ClientNegClosePayload];
|
|
67
78
|
export type ClientNegOpen = [ClientMessageType.NegOpen, ...ClientNegOpenPayload];
|
|
68
79
|
export type ClientReq = [ClientMessageType.Req, ...ClientReqPayload];
|
|
69
80
|
export declare const isClientAuth: (m: ClientMessage) => m is ClientAuth;
|
|
70
81
|
export declare const isClientClose: (m: ClientMessage) => m is ClientClose;
|
|
82
|
+
export declare const isClientCount: (m: ClientMessage) => m is ClientCount;
|
|
71
83
|
export declare const isClientEvent: (m: ClientMessage) => m is ClientEvent;
|
|
72
84
|
export declare const isClientNegClose: (m: ClientMessage) => m is ClientNegClose;
|
|
73
85
|
export declare const isClientNegOpen: (m: ClientMessage) => m is ClientNegOpen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAIvD,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,MAAM,YAAY;IAClB,MAAM,YAAY;IAClB,EAAE,OAAO;CACV;AAED,MAAM,MAAM,YAAY,GAAG,GAAG,EAAE,CAAA;AAEhC,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAA;AAEvC,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,CAAC,CAAA;AAEvC,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAErD,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,gBAAgB,CAAC,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,UAAU,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,gBAAgB,CAAC,CAAA;AAEpE,MAAM,MAAM,UAAU,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,iBAAiB,CAAC,CAAA;AAEvE,MAAM,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,cAAc,CAAC,CAAA;AAE9D,eAAO,MAAM,aAAa,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,WAA+C,CAAA;AAEpG,eAAO,MAAM,WAAW,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,SAA2C,CAAA;AAE9F,eAAO,MAAM,aAAa,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,WAA+C,CAAA;AAEpG,eAAO,MAAM,YAAY,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,UAA6C,CAAA;AAEjG,eAAO,MAAM,WAAW,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,SAA2C,CAAA;AAE9F,eAAO,MAAM,YAAY,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,UAA6C,CAAA;AAEjG,eAAO,MAAM,aAAa,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,WAA+C,CAAA;AAEpG,eAAO,MAAM,aAAa,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,WAA+C,CAAA;AAEpG,eAAO,MAAM,SAAS,GAAI,GAAG,YAAY,KAAG,CAAC,IAAI,OAAuC,CAAA;AAExF,oBAAY,iBAAiB;IAC3B,YAAY,kBAAkB;IAC9B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,WAAW,iBAAiB;IAC5B,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC5B;AAED,eAAO,MAAM,WAAW,GAAI,QAAQ,iBAAiB,EAAE,QAAQ,MAAM,YAClB,CAAA;AAEnD,eAAO,MAAM,gBAAgB,GAAI,eAAW,YASG,CAAA;AAI/C,oBAAY,iBAAiB;IAC3B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,OAAO,aAAa;IACpB,GAAG,QAAQ;CACZ;AAED,MAAM,MAAM,aAAa,GAAG,GAAG,EAAE,CAAA;AAEjC,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,CAAA;AAExC,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAC,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,CAAC,CAAA;AAE9C,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,CAAC,CAAA;AAE5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE3D,MAAM,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAA;AAEvE,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,WAAW,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,CAAA;AAE1E,MAAM,MAAM,cAAc,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,qBAAqB,CAAC,CAAA;AAEnF,MAAM,MAAM,aAAa,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,oBAAoB,CAAC,CAAA;AAEhF,MAAM,MAAM,SAAS,GAAG,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC,CAAA;AAEpE,eAAO,MAAM,YAAY,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,UAA6C,CAAA;AAElG,eAAO,MAAM,aAAa,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,WACpB,CAAA;AAElC,eAAO,MAAM,aAAa,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,WACpB,CAAA;AAElC,eAAO,MAAM,aAAa,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,WACpB,CAAA;AAElC,eAAO,MAAM,gBAAgB,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,cACpB,CAAA;AAErC,eAAO,MAAM,eAAe,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,aACpB,CAAA;AAEpC,eAAO,MAAM,WAAW,GAAI,GAAG,aAAa,KAAG,CAAC,IAAI,SAA2C,CAAA;AAI/F,eAAO,MAAM,eAAe,eAA4B,CAAA;AAExD,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAEjC,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EACjD,SAAS,CAAC,EACV,iBAA2B,KAC1B,CAMF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,aAAa,KAAG,MACE,CAAA;AAEvD,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,EAAE,SAAS,CAAC,EAAE,QAAQ,aAAa,KAAG,CAC/C,CAAA"}
|
package/dist/net/src/message.js
CHANGED
|
@@ -4,6 +4,7 @@ export var RelayMessageType;
|
|
|
4
4
|
RelayMessageType["Notice"] = "NOTICE";
|
|
5
5
|
RelayMessageType["Auth"] = "AUTH";
|
|
6
6
|
RelayMessageType["Closed"] = "CLOSED";
|
|
7
|
+
RelayMessageType["Count"] = "COUNT";
|
|
7
8
|
RelayMessageType["Eose"] = "EOSE";
|
|
8
9
|
RelayMessageType["Event"] = "EVENT";
|
|
9
10
|
RelayMessageType["NegMsg"] = "NEG-MSG";
|
|
@@ -13,6 +14,7 @@ export var RelayMessageType;
|
|
|
13
14
|
export const isRelayNotice = (m) => m[0] === RelayMessageType.Notice;
|
|
14
15
|
export const isRelayAuth = (m) => m[0] === RelayMessageType.Auth;
|
|
15
16
|
export const isRelayClosed = (m) => m[0] === RelayMessageType.Closed;
|
|
17
|
+
export const isRelayCount = (m) => m[0] === RelayMessageType.Count;
|
|
16
18
|
export const isRelayEose = (m) => m[0] === RelayMessageType.Eose;
|
|
17
19
|
export const isRelayEvent = (m) => m[0] === RelayMessageType.Event;
|
|
18
20
|
export const isRelayNegErr = (m) => m[0] === RelayMessageType.NegErr;
|
|
@@ -25,6 +27,7 @@ export var RelayReasonPrefix;
|
|
|
25
27
|
RelayReasonPrefix["Invalid"] = "invalid";
|
|
26
28
|
RelayReasonPrefix["Mute"] = "mute";
|
|
27
29
|
RelayReasonPrefix["Pow"] = "pow";
|
|
30
|
+
RelayReasonPrefix["RateLimited"] = "rate-limited";
|
|
28
31
|
RelayReasonPrefix["Restricted"] = "restricted";
|
|
29
32
|
RelayReasonPrefix["Unsupported"] = "unsupported";
|
|
30
33
|
})(RelayReasonPrefix || (RelayReasonPrefix = {}));
|
|
@@ -43,6 +46,7 @@ export var ClientMessageType;
|
|
|
43
46
|
(function (ClientMessageType) {
|
|
44
47
|
ClientMessageType["Auth"] = "AUTH";
|
|
45
48
|
ClientMessageType["Close"] = "CLOSE";
|
|
49
|
+
ClientMessageType["Count"] = "COUNT";
|
|
46
50
|
ClientMessageType["Event"] = "EVENT";
|
|
47
51
|
ClientMessageType["NegClose"] = "NEG-CLOSE";
|
|
48
52
|
ClientMessageType["NegOpen"] = "NEG-OPEN";
|
|
@@ -50,6 +54,7 @@ export var ClientMessageType;
|
|
|
50
54
|
})(ClientMessageType || (ClientMessageType = {}));
|
|
51
55
|
export const isClientAuth = (m) => m[0] === ClientMessageType.Auth;
|
|
52
56
|
export const isClientClose = (m) => m[0] === ClientMessageType.Close;
|
|
57
|
+
export const isClientCount = (m) => m[0] === ClientMessageType.Count;
|
|
53
58
|
export const isClientEvent = (m) => m[0] === ClientMessageType.Event;
|
|
54
59
|
export const isClientNegClose = (m) => m[0] === ClientMessageType.NegClose;
|
|
55
60
|
export const isClientNegOpen = (m) => m[0] === ClientMessageType.NegOpen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAElB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../net/src/message.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAElB,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,sCAAkB,CAAA;IAClB,sCAAkB,CAAA;IAClB,6BAAS,CAAA;AACX,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAwCD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAe,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,KAAK,CAAA;AAEjG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAe,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAA;AAE9F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAe,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,KAAK,CAAA;AAEjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAe,EAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,MAAM,CAAA;AAEpG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAe,EAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,EAAE,CAAA;AAExF,MAAM,CAAN,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,mDAA8B,CAAA;IAC9B,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,iDAA4B,CAAA;IAC5B,8CAAyB,CAAA;IACzB,gDAA2B,CAAA;AAC7B,CAAC,EATW,iBAAiB,KAAjB,iBAAiB,QAS5B;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAE,MAAc,EAAE,EAAE,CACvE,IAAI,MAAM,CAAC,UAAU,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAEnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,CAC9C;IACE,iBAAiB,CAAC,YAAY;IAC9B,iBAAiB,CAAC,OAAO;IACzB,iBAAiB,CAAC,OAAO;IACzB,iBAAiB,CAAC,IAAI;IACtB,iBAAiB,CAAC,GAAG;IACrB,iBAAiB,CAAC,UAAU;IAC5B,iBAAiB,CAAC,WAAW;CAC9B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE/C,kBAAkB;AAElB,MAAM,CAAN,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,2CAAsB,CAAA;IACtB,yCAAoB,CAAA;IACpB,gCAAW,CAAA;AACb,CAAC,EARW,iBAAiB,KAAjB,iBAAiB,QAQ5B;AAgCD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,IAAI,CAAA;AAElG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAgB,EAAoB,EAAE,CAClE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAA;AAElC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAgB,EAAuB,EAAE,CACxE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAgB,EAAsB,EAAE,CACtE,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAA;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAgB,EAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,GAAG,CAAA;AAE/F,WAAW;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAExD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAEjC,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAU,EACV,QAAQ,GAAG,gBAAgB,EACxB,EAAE;IACL,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,CAAC;QAAC,OAAe,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAA;IAC/C,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAU,EAAE,CAC3D,OAAe,CAAC,eAAe,CAAC,IAAI,gBAAgB,CAAA;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAA0B,OAAU,EAAE,MAAqB,EAAK,EAAE,CAC5F,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA"}
|
package/dist/net/src/policy.d.ts
CHANGED
|
@@ -2,8 +2,11 @@ import { StampedEvent, SignedEvent } from "@welshman/util";
|
|
|
2
2
|
import { Socket, SocketPolicy } from "./socket.js";
|
|
3
3
|
/**
|
|
4
4
|
* Handles auth-related message management:
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
5
|
+
* - Remembers messages sent before auth completes so they can be replayed once it succeeds
|
|
6
|
+
* - Withholds the relay's auth-required refusals of those messages from the caller, since the
|
|
7
|
+
* replay will be answered instead
|
|
8
|
+
* - Hands a withheld answer over if the replay never happens: auth failed, or the message fell
|
|
9
|
+
* out of the buffer
|
|
7
10
|
* @param socket - a Socket object
|
|
8
11
|
* @return a cleanup function
|
|
9
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AAqBzF,OAAO,EAAC,MAAM,EAA6B,YAAY,EAAC,MAAM,aAAa,CAAA;AAI3E;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eAqHpD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,eA0BtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAqBvD,CAAA;AAWD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,eA+HnD,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;CACzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,uBAAuB,MAAM,QAAQ,MAAM,eAcxF,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,YAAY,EAK/C,CAAA"}
|
package/dist/net/src/policy.js
CHANGED
|
@@ -1,20 +1,41 @@
|
|
|
1
|
-
import { on, ms,
|
|
1
|
+
import { on, ms, always, call, randomId, ago, now } from "@welshman/lib";
|
|
2
2
|
import { RELAY_JOIN, neverFilter } from "@welshman/util";
|
|
3
|
-
import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientNegOpen, isClientNegClose, ClientMessageType, copyPriority, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, matchReason, RelayReasonPrefix, } from "./message.js";
|
|
3
|
+
import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientCount, isClientNegOpen, isClientNegClose, ClientMessageType, copyPriority, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, isRelayCount, matchReason, RelayReasonPrefix, } from "./message.js";
|
|
4
4
|
import { SocketStatus, SocketEvent } from "./socket.js";
|
|
5
5
|
import { AuthStatus, AuthStateEvent } from "./auth.js";
|
|
6
6
|
import { catchUpFilter } from "./util.js";
|
|
7
7
|
/**
|
|
8
8
|
* Handles auth-related message management:
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
9
|
+
* - Remembers messages sent before auth completes so they can be replayed once it succeeds
|
|
10
|
+
* - Withholds the relay's auth-required refusals of those messages from the caller, since the
|
|
11
|
+
* replay will be answered instead
|
|
12
|
+
* - Hands a withheld answer over if the replay never happens: auth failed, or the message fell
|
|
13
|
+
* out of the buffer
|
|
11
14
|
* @param socket - a Socket object
|
|
12
15
|
* @return a cleanup function
|
|
13
16
|
*/
|
|
14
17
|
export const socketPolicyAuthBuffer = (socket) => {
|
|
15
18
|
const { None, Ok, DeniedSignature, Forbidden } = AuthStatus;
|
|
16
19
|
const terminalStatuses = [Ok, DeniedSignature, Forbidden];
|
|
17
|
-
|
|
20
|
+
// Messages by req/event id, oldest first. Most relays never ask for auth, so this fills
|
|
21
|
+
// with everything a socket sends; the relay answering a message is what takes it back out.
|
|
22
|
+
const buffer = new Map();
|
|
23
|
+
// Relay messages kept from the caller because a replay will answer them again
|
|
24
|
+
const withheld = new Map();
|
|
25
|
+
const getId = (message) => isClientEvent(message) ? message[1].id : message[1];
|
|
26
|
+
const withhold = (id, message) => {
|
|
27
|
+
socket._recvQueue.remove(message);
|
|
28
|
+
withheld.set(id, [...(withheld.get(id) || []), message]);
|
|
29
|
+
};
|
|
30
|
+
// Give the caller whatever the relay told us about a message we are no longer going to replay
|
|
31
|
+
const release = (id) => {
|
|
32
|
+
const messages = withheld.get(id) || [];
|
|
33
|
+
buffer.delete(id);
|
|
34
|
+
withheld.delete(id);
|
|
35
|
+
for (const message of messages) {
|
|
36
|
+
socket.receive(message);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
18
39
|
const unsubscribers = [
|
|
19
40
|
on(socket, SocketEvent.Sending, (message) => {
|
|
20
41
|
// Always allow sending auth
|
|
@@ -26,42 +47,67 @@ export const socketPolicyAuthBuffer = (socket) => {
|
|
|
26
47
|
// If the auth flow is complete, no need to buffer anymore
|
|
27
48
|
if (terminalStatuses.includes(socket.auth.status))
|
|
28
49
|
return;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
50
|
+
const isClose = isClientClose(message) || isClientNegClose(message);
|
|
51
|
+
const isOpen = isClientReq(message) ||
|
|
52
|
+
isClientCount(message) ||
|
|
53
|
+
isClientEvent(message) ||
|
|
54
|
+
isClientNegOpen(message);
|
|
55
|
+
// A close ends the subscription, and anything else supersedes an earlier copy of itself,
|
|
56
|
+
// as when a subscription is sent again after a reconnect. Anything else (NEG-MSG) belongs
|
|
57
|
+
// to a session that replaying its NEG-OPEN starts over.
|
|
58
|
+
if (isClose || isOpen) {
|
|
59
|
+
const id = getId(message);
|
|
60
|
+
buffer.delete(id);
|
|
61
|
+
withheld.delete(id);
|
|
62
|
+
if (isOpen) {
|
|
63
|
+
buffer.set(id, message);
|
|
64
|
+
}
|
|
33
65
|
}
|
|
34
|
-
|
|
35
|
-
buffer
|
|
66
|
+
while (buffer.size > 1000) {
|
|
67
|
+
release(buffer.keys().next().value);
|
|
36
68
|
}
|
|
37
69
|
}),
|
|
38
70
|
on(socket, SocketEvent.Receiving, (message) => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
!
|
|
51
|
-
|
|
52
|
-
|
|
71
|
+
const id = message[1];
|
|
72
|
+
// Only a message we can replay or answer later may be kept from the caller
|
|
73
|
+
if (buffer.has(id)) {
|
|
74
|
+
const isRefusal = ((isRelayClosed(message) || isRelayNegErr(message)) &&
|
|
75
|
+
matchReason(RelayReasonPrefix.AuthRequired, message[2])) ||
|
|
76
|
+
(isRelayOk(message) &&
|
|
77
|
+
!message[2] &&
|
|
78
|
+
matchReason(RelayReasonPrefix.AuthRequired, message[3]));
|
|
79
|
+
if (isRefusal) {
|
|
80
|
+
withhold(id, message);
|
|
81
|
+
}
|
|
82
|
+
else if (isRelayEose(message) && ![None, Ok].includes(socket.auth.status)) {
|
|
83
|
+
// Wait for the replay's eose, since events may be withheld until we authenticate
|
|
84
|
+
withhold(id, message);
|
|
85
|
+
}
|
|
86
|
+
else if (isRelayClosed(message) ||
|
|
87
|
+
isRelayNegErr(message) ||
|
|
88
|
+
isRelayOk(message) ||
|
|
89
|
+
isRelayCount(message)) {
|
|
90
|
+
// The relay has answered for good, so there is nothing left to replay
|
|
91
|
+
buffer.delete(id);
|
|
92
|
+
withheld.delete(id);
|
|
93
|
+
}
|
|
53
94
|
}
|
|
54
95
|
}),
|
|
55
96
|
on(socket.auth, AuthStateEvent.Status, (status) => {
|
|
56
|
-
// Send buffered messages when we get successful auth.
|
|
57
|
-
//
|
|
97
|
+
// Send buffered messages when we get successful auth. If auth failed, let the caller
|
|
98
|
+
// hear the refusals we held back.
|
|
58
99
|
if (status === Ok) {
|
|
59
|
-
|
|
100
|
+
const messages = Array.from(buffer.values());
|
|
101
|
+
buffer.clear();
|
|
102
|
+
withheld.clear();
|
|
103
|
+
for (const message of messages) {
|
|
60
104
|
socket.send(message);
|
|
61
105
|
}
|
|
62
106
|
}
|
|
63
|
-
else if (terminalStatuses.includes(
|
|
64
|
-
buffer
|
|
107
|
+
else if (terminalStatuses.includes(status)) {
|
|
108
|
+
for (const id of Array.from(buffer.keys())) {
|
|
109
|
+
release(id);
|
|
110
|
+
}
|
|
65
111
|
}
|
|
66
112
|
}),
|
|
67
113
|
];
|
|
@@ -125,6 +171,8 @@ export const socketPolicyConnectOnSend = (socket) => {
|
|
|
125
171
|
const PROBE_IDLE = 30;
|
|
126
172
|
// How long a socket has to answer after probing
|
|
127
173
|
const PROBE_TIMEOUT = 10;
|
|
174
|
+
// The longest a socket with work outstanding waits between attempts to reach its relay
|
|
175
|
+
const RECONNECT_MAX_DELAY = 300;
|
|
128
176
|
/**
|
|
129
177
|
* Owns a socket's lifecycle: closes it once nothing needs it, checks the relay is still there
|
|
130
178
|
* when something does, reopens it, and catches up on what it missed.
|
|
@@ -138,27 +186,23 @@ export const socketPolicyLifecycle = (socket) => {
|
|
|
138
186
|
let lastReceive = now();
|
|
139
187
|
let probeId;
|
|
140
188
|
let probedAt = 0;
|
|
189
|
+
let attempts = 0;
|
|
190
|
+
let reconnecting = false;
|
|
191
|
+
let reconnectTimeout;
|
|
141
192
|
const unsubscribers = [
|
|
142
193
|
on(socket, SocketEvent.Status, (newStatus) => {
|
|
143
194
|
const isClosed = [SocketStatus.Closed, SocketStatus.Error].includes(newStatus);
|
|
144
|
-
// Keep track of the most recent open
|
|
145
195
|
if (newStatus === SocketStatus.Open) {
|
|
146
196
|
lastOpen = now();
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// If the socket closed and we have no error, reopen it but don't flap
|
|
154
|
-
if (isClosed && pending.size) {
|
|
155
|
-
const since = lastReceive;
|
|
156
|
-
const delay = Math.max(0, ms(5 - (now() - lastOpen)));
|
|
157
|
-
sleep(delay).then(() => {
|
|
158
|
-
socket.attemptToOpen();
|
|
197
|
+
// Whatever opened the socket, a scheduled reconnect has nothing left to do
|
|
198
|
+
clearTimeout(reconnectTimeout);
|
|
199
|
+
reconnectTimeout = undefined;
|
|
200
|
+
// Replay on open rather than per attempt, or each failed attempt queues another copy
|
|
201
|
+
if (reconnecting) {
|
|
202
|
+
reconnecting = false;
|
|
159
203
|
for (const message of pending.values()) {
|
|
160
204
|
if (isClientReq(message)) {
|
|
161
|
-
const filters = message.slice(2).map(filter => catchUpFilter(filter,
|
|
205
|
+
const filters = message.slice(2).map(filter => catchUpFilter(filter, lastReceive));
|
|
162
206
|
// Rebuilding the message drops its priority symbol, so carry it over
|
|
163
207
|
socket.send(copyPriority([...message.slice(0, 2), ...filters], message));
|
|
164
208
|
}
|
|
@@ -166,7 +210,23 @@ export const socketPolicyLifecycle = (socket) => {
|
|
|
166
210
|
socket.send(message);
|
|
167
211
|
}
|
|
168
212
|
}
|
|
169
|
-
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
// A probe belongs to the connection that was carrying it, not to the next one
|
|
216
|
+
if (isClosed && probeId) {
|
|
217
|
+
pending.delete(probeId);
|
|
218
|
+
probeId = undefined;
|
|
219
|
+
}
|
|
220
|
+
// Reopen with work outstanding, backing off so an unreachable relay isn't retried in a loop
|
|
221
|
+
if (isClosed && pending.size && !reconnectTimeout) {
|
|
222
|
+
const backoff = Math.min(RECONNECT_MAX_DELAY, 2 ** attempts - 1);
|
|
223
|
+
const delay = Math.max(0, 5 - (now() - lastOpen), backoff);
|
|
224
|
+
attempts += 1;
|
|
225
|
+
reconnecting = true;
|
|
226
|
+
reconnectTimeout = setTimeout(() => {
|
|
227
|
+
reconnectTimeout = undefined;
|
|
228
|
+
socket.attemptToOpen();
|
|
229
|
+
}, ms(delay));
|
|
170
230
|
}
|
|
171
231
|
}),
|
|
172
232
|
on(socket, SocketEvent.Send, (message) => {
|
|
@@ -184,6 +244,8 @@ export const socketPolicyLifecycle = (socket) => {
|
|
|
184
244
|
on(socket, SocketEvent.Receive, (message) => {
|
|
185
245
|
lastActivity = now();
|
|
186
246
|
lastReceive = now();
|
|
247
|
+
// Hearing from the relay means it's reachable again, so the next outage starts over
|
|
248
|
+
attempts = 0;
|
|
187
249
|
// Any traffic at all proves the relay is there, so retire the probe
|
|
188
250
|
if (probeId) {
|
|
189
251
|
socket.send([ClientMessageType.Close, probeId]);
|
|
@@ -221,6 +283,7 @@ export const socketPolicyLifecycle = (socket) => {
|
|
|
221
283
|
return () => {
|
|
222
284
|
unsubscribers.forEach(call);
|
|
223
285
|
clearInterval(interval);
|
|
286
|
+
clearTimeout(reconnectTimeout);
|
|
224
287
|
};
|
|
225
288
|
};
|
|
226
289
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../net/src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/net/src/socket.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,SAAS,EAAO,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AAEtC,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAA;AAE3D,qBAAa,MAAO,SAAQ,YAAY;IAepC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE;IAfnC,MAAM,CAAC,aAAa,SAAI;IACxB,MAAM,CAAC,cAAc,SAAM;IAC3B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,cAAc,SAAM;IAE3B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,eAAsB;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAA;IAE7B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACpC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAGxB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,YAAY,EAAO;IAmCxC,IAAI,
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAC,SAAS,EAAO,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAC,YAAY,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACnF,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AAEtC,oBAAY,YAAY;IACtB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACzD,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,CAAA;AAE3D,qBAAa,MAAO,SAAQ,YAAY;IAepC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE;IAfnC,MAAM,CAAC,aAAa,SAAI;IACxB,MAAM,CAAC,cAAc,SAAM;IAC3B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,cAAc,SAAM;IAE3B,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,eAAsB;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAA;IAE7B,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAA;IACpC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA;gBAGxB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,YAAY,EAAO;IAmCxC,IAAI,aA+CH;IAED,aAAa,aAIZ;IAED,KAAK,aAGJ;IAED,OAAO,aAON;IAED,IAAI,GAAI,SAAS,aAAa,UAG7B;IAED,OAAO,GAAI,SAAS,YAAY,UAG/B;CACF"}
|
package/dist/net/src/socket.js
CHANGED
|
@@ -90,8 +90,7 @@ export class Socket extends EventEmitter {
|
|
|
90
90
|
try {
|
|
91
91
|
const message = JSON.parse(data);
|
|
92
92
|
if (Array.isArray(message)) {
|
|
93
|
-
this.
|
|
94
|
-
this.emit(SocketEvent.Receiving, message, this.url);
|
|
93
|
+
this.receive(message);
|
|
95
94
|
}
|
|
96
95
|
else {
|
|
97
96
|
this.emit(SocketEvent.Error, "Invalid message received", this.url);
|
|
@@ -127,5 +126,9 @@ export class Socket extends EventEmitter {
|
|
|
127
126
|
this._sendQueue.push(message);
|
|
128
127
|
this.emit(SocketEvent.Sending, message, this.url);
|
|
129
128
|
};
|
|
129
|
+
receive = (message) => {
|
|
130
|
+
this._recvQueue.push(message);
|
|
131
|
+
this.emit(SocketEvent.Receiving, message, this.url);
|
|
132
|
+
};
|
|
130
133
|
}
|
|
131
134
|
//# sourceMappingURL=socket.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../../net/src/socket.ts"],"names":[],"mappings":"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"}
|
package/dist/net/src/util.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { Filter } from "@welshman/util";
|
|
2
2
|
export type Unsubscriber = () => void;
|
|
3
|
+
/**
|
|
4
|
+
* How far into the past NIP-59 allows a gift wrap's `created_at` to be moved.
|
|
5
|
+
*/
|
|
6
|
+
export declare const WRAP_DRIFT: number;
|
|
3
7
|
/**
|
|
4
8
|
* Rewrites a filter so re-sending it picks up where the subscription left off rather than
|
|
5
|
-
* repeating itself.
|
|
9
|
+
* repeating itself. A filter asking for gift wraps reaches further back, since a wrap
|
|
10
|
+
* published after the subscription dropped carries a timestamp from before it. Neither reaches
|
|
11
|
+
* back past the filter's own `since`.
|
|
6
12
|
* @param filter - the filter as originally sent
|
|
7
13
|
* @param since - when the socket last heard from the relay
|
|
8
14
|
* @returns a filter covering the gap
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA;AAErC;;GAEG;AACH,eAAO,MAAM,UAAU,QAAU,CAAA;AAEjC;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAS7D,CAAA"}
|
package/dist/net/src/util.js
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
import { omit } from "@welshman/lib";
|
|
1
|
+
import { DAY, omit } from "@welshman/lib";
|
|
2
|
+
import { WRAP } from "@welshman/util";
|
|
3
|
+
/**
|
|
4
|
+
* How far into the past NIP-59 allows a gift wrap's `created_at` to be moved.
|
|
5
|
+
*/
|
|
6
|
+
export const WRAP_DRIFT = 2 * DAY;
|
|
2
7
|
/**
|
|
3
8
|
* Rewrites a filter so re-sending it picks up where the subscription left off rather than
|
|
4
|
-
* repeating itself.
|
|
9
|
+
* repeating itself. A filter asking for gift wraps reaches further back, since a wrap
|
|
10
|
+
* published after the subscription dropped carries a timestamp from before it. Neither reaches
|
|
11
|
+
* back past the filter's own `since`.
|
|
5
12
|
* @param filter - the filter as originally sent
|
|
6
13
|
* @param since - when the socket last heard from the relay
|
|
7
14
|
* @returns a filter covering the gap
|
|
8
15
|
*/
|
|
9
16
|
export const catchUpFilter = (filter, since) => {
|
|
17
|
+
// Only a filter that names wraps is widened: one without kinds would fetch days of everything
|
|
18
|
+
const drift = filter.kinds?.includes(WRAP) ? WRAP_DRIFT : 0;
|
|
10
19
|
if (filter.limit === 0) {
|
|
11
20
|
filter = omit(["limit"], filter);
|
|
12
21
|
}
|
|
13
|
-
return { ...filter, since };
|
|
22
|
+
return { ...filter, since: Math.max(filter.since || 0, since - drift) };
|
|
14
23
|
};
|
|
15
24
|
//# sourceMappingURL=util.js.map
|
package/dist/net/src/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../net/src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AAKnC;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAA;AAEjC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAU,EAAE;IACrE,8FAA8F;IAC9F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAE3D,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,EAAC,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,EAAC,CAAA;AACvE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@welshman/store",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"author": "hodlbod",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A collection of utilities based on svelte/store for use with welshman",
|
|
@@ -16,17 +16,17 @@
|
|
|
16
16
|
],
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"svelte": "^4.0.0 || ^5.0.0",
|
|
19
|
-
"@welshman/
|
|
20
|
-
"@welshman/lib": "0.11.
|
|
21
|
-
"@welshman/
|
|
19
|
+
"@welshman/net": "0.11.2",
|
|
20
|
+
"@welshman/lib": "0.11.2",
|
|
21
|
+
"@welshman/util": "0.11.2"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"rimraf": "~6.0.0",
|
|
25
25
|
"typescript": "~5.8.0",
|
|
26
26
|
"svelte": "5.55.9",
|
|
27
|
-
"@welshman/
|
|
28
|
-
"@welshman/util": "0.11.
|
|
29
|
-
"@welshman/
|
|
27
|
+
"@welshman/lib": "0.11.2",
|
|
28
|
+
"@welshman/util": "0.11.2",
|
|
29
|
+
"@welshman/net": "0.11.2"
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "pnpm run clean && pnpm run compile --force",
|