@welshman/net 0.9.7 → 0.9.8

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.
@@ -34,6 +34,16 @@ export declare const isRelayEvent: (m: RelayMessage) => m is RelayEvent;
34
34
  export declare const isRelayNegErr: (m: RelayMessage) => m is RelayNegErr;
35
35
  export declare const isRelayNegMsg: (m: RelayMessage) => m is RelayNegMsg;
36
36
  export declare const isRelayOk: (m: RelayMessage) => m is RelayOk;
37
+ export declare enum RelayReasonPrefix {
38
+ AuthRequired = "auth-required:",
39
+ Blocked = "blocked:",
40
+ Invalid = "invalid:",
41
+ Mute = "mute:",
42
+ Pow = "pow:",
43
+ Restricted = "restricted:",
44
+ Unsupported = "unsupported:"
45
+ }
46
+ export declare const isTerminalReason: (reason?: string) => boolean;
37
47
  export declare enum ClientMessageType {
38
48
  Auth = "AUTH",
39
49
  Close = "CLOSE",
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,25 @@ export const isRelayEvent = (m) => m[0] === RelayMessageType.Event;
18
18
  export const isRelayNegErr = (m) => m[0] === RelayMessageType.NegErr;
19
19
  export const isRelayNegMsg = (m) => m[0] === RelayMessageType.NegMsg;
20
20
  export const isRelayOk = (m) => m[0] === RelayMessageType.Ok;
21
+ export var RelayReasonPrefix;
22
+ (function (RelayReasonPrefix) {
23
+ RelayReasonPrefix["AuthRequired"] = "auth-required:";
24
+ RelayReasonPrefix["Blocked"] = "blocked:";
25
+ RelayReasonPrefix["Invalid"] = "invalid:";
26
+ RelayReasonPrefix["Mute"] = "mute:";
27
+ RelayReasonPrefix["Pow"] = "pow:";
28
+ RelayReasonPrefix["Restricted"] = "restricted:";
29
+ RelayReasonPrefix["Unsupported"] = "unsupported:";
30
+ })(RelayReasonPrefix || (RelayReasonPrefix = {}));
31
+ export const isTerminalReason = (reason = "") => [
32
+ RelayReasonPrefix.AuthRequired,
33
+ RelayReasonPrefix.Blocked,
34
+ RelayReasonPrefix.Invalid,
35
+ RelayReasonPrefix.Mute,
36
+ RelayReasonPrefix.Pow,
37
+ RelayReasonPrefix.Restricted,
38
+ RelayReasonPrefix.Unsupported,
39
+ ].some(prefix => reason.startsWith(prefix));
21
40
  // client -> relay
22
41
  export var ClientMessageType;
23
42
  (function (ClientMessageType) {
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"AAEA,kBAAkB;AAElB,MAAM,CAAN,IAAY,gBASX;AATD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,sCAAkB,CAAA;IAClB,sCAAkB,CAAA;IAClB,6BAAS,CAAA;AACX,CAAC,EATW,gBAAgB,KAAhB,gBAAgB,QAS3B;AAoCD,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,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,kBAAkB;AAElB,MAAM,CAAN,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,2CAAsB,CAAA;IACtB,yCAAoB,CAAA;IACpB,gCAAW,CAAA;AACb,CAAC,EAPW,iBAAiB,KAAjB,iBAAiB,QAO5B;AA4BD,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,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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/message.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
1
  import { StampedEvent, SignedEvent } from "@welshman/util";
2
2
  import { Socket, SocketPolicy } from "./socket.js";
3
- /**
4
- * Sends a ping message every so often to ensure connection health
5
- * @param socket - a Socket object
6
- * @return a cleanup function
7
- */
8
- export declare const socketPolicyPing: (socket: Socket) => () => void;
9
3
  /**
10
4
  * Handles auth-related message management:
11
5
  * - Defers sending messages when a challenge is pending
@@ -21,11 +15,12 @@ export declare const socketPolicyAuthBuffer: (socket: Socket) => () => void;
21
15
  */
22
16
  export declare const socketPolicyConnectOnSend: (socket: Socket) => () => void;
23
17
  /**
24
- * Auto-closes inactive sockets, and re-opens sockets with pending messages
18
+ * Owns a socket's lifecycle: closes it once nothing needs it, checks the relay is still there
19
+ * when something does, reopens it, and catches up on what it missed.
25
20
  * @param socket - a Socket object
26
21
  * @return a cleanup function
27
22
  */
28
- export declare const socketPolicyCloseInactive: (socket: Socket) => () => void;
23
+ export declare const socketPolicyLifecycle: (socket: Socket) => () => void;
29
24
  export type SocketPolicyAuthOptions = {
30
25
  sign: (event: StampedEvent) => Promise<SignedEvent>;
31
26
  shouldAuth?: (socket: Socket) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAS,MAAM,gBAAgB,CAAA;AAe5E,OAAO,EAAC,MAAM,EAA6B,YAAY,EAAC,MAAM,aAAa,CAAA;AAG3E;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,eAsB9C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eA0DpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAqBvD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eA+EvD,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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,YAAY,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AAgBzF,OAAO,EAAC,MAAM,EAA6B,YAAY,EAAC,MAAM,aAAa,CAAA;AAI3E;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,eA0DpD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,eAqBvD,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,MAAM,eA4GnD,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,EAI/C,CAAA"}
@@ -1,33 +1,9 @@
1
- import { on, ms, omit, nthNe, always, call, sleep, ago, now } from "@welshman/lib";
2
- import { RELAY_JOIN } from "@welshman/util";
3
- import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientNegOpen, isClientNegClose, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, } from "./message.js";
1
+ import { on, ms, nthNe, always, call, randomId, sleep, ago, now } from "@welshman/lib";
2
+ import { RELAY_JOIN, neverFilter } from "@welshman/util";
3
+ import { isClientAuth, isClientClose, isClientEvent, isClientReq, isClientNegOpen, isClientNegClose, ClientMessageType, isRelayOk, isRelayEose, isRelayClosed, isRelayNegErr, } from "./message.js";
4
4
  import { SocketStatus, SocketEvent } from "./socket.js";
5
5
  import { AuthStatus, AuthStateEvent } from "./auth.js";
6
- /**
7
- * Sends a ping message every so often to ensure connection health
8
- * @param socket - a Socket object
9
- * @return a cleanup function
10
- */
11
- export const socketPolicyPing = (socket) => {
12
- let lastActivity = 0;
13
- const unsubscribers = [
14
- on(socket, SocketEvent.Send, (message) => {
15
- lastActivity = Date.now();
16
- }),
17
- on(socket, SocketEvent.Receive, (message) => {
18
- lastActivity = Date.now();
19
- }),
20
- ];
21
- const interval = setInterval(() => {
22
- if (socket.status === SocketStatus.Open && lastActivity < Date.now() - 30_000) {
23
- socket._ws?.send('["PING"]');
24
- }
25
- }, 30_000);
26
- return () => {
27
- unsubscribers.forEach(call);
28
- clearInterval(interval);
29
- };
30
- };
6
+ import { catchUpFilter } from "./util.js";
31
7
  /**
32
8
  * Handles auth-related message management:
33
9
  * - Defers sending messages when a challenge is pending
@@ -113,16 +89,23 @@ export const socketPolicyConnectOnSend = (socket) => {
113
89
  ];
114
90
  return () => unsubscribers.forEach(call);
115
91
  };
92
+ // How long a socket carrying work sits quiet before we check the relay is still there
93
+ const PROBE_IDLE = 30;
94
+ // How long a socket has to answer after probing
95
+ const PROBE_TIMEOUT = 10;
116
96
  /**
117
- * Auto-closes inactive sockets, and re-opens sockets with pending messages
97
+ * Owns a socket's lifecycle: closes it once nothing needs it, checks the relay is still there
98
+ * when something does, reopens it, and catches up on what it missed.
118
99
  * @param socket - a Socket object
119
100
  * @return a cleanup function
120
101
  */
121
- export const socketPolicyCloseInactive = (socket) => {
102
+ export const socketPolicyLifecycle = (socket) => {
122
103
  const pending = new Map();
123
104
  let lastOpen = now();
124
105
  let lastActivity = now();
125
106
  let lastReceive = now();
107
+ let probeId;
108
+ let probedAt = 0;
126
109
  const unsubscribers = [
127
110
  on(socket, SocketEvent.Status, (newStatus) => {
128
111
  const isClosed = [SocketStatus.Closed, SocketStatus.Error].includes(newStatus);
@@ -130,6 +113,11 @@ export const socketPolicyCloseInactive = (socket) => {
130
113
  if (newStatus === SocketStatus.Open) {
131
114
  lastOpen = now();
132
115
  }
116
+ // A probe belongs to the connection that was carrying it, not to the next one
117
+ if (isClosed && probeId) {
118
+ pending.delete(probeId);
119
+ probeId = undefined;
120
+ }
133
121
  // If the socket closed and we have no error, reopen it but don't flap
134
122
  if (isClosed && pending.size) {
135
123
  const since = lastReceive;
@@ -138,13 +126,7 @@ export const socketPolicyCloseInactive = (socket) => {
138
126
  socket.attemptToOpen();
139
127
  for (const message of pending.values()) {
140
128
  if (isClientReq(message)) {
141
- const filters = [];
142
- for (let filter of message.slice(2)) {
143
- if (filter.limit === 0) {
144
- filter = omit(["limit"], filter);
145
- }
146
- filters.push(filter.since === undefined ? { ...filter, since } : filter);
147
- }
129
+ const filters = message.slice(2).map(filter => catchUpFilter(filter, since));
148
130
  socket.send([...message.slice(0, 2), ...filters]);
149
131
  }
150
132
  else {
@@ -169,14 +151,38 @@ export const socketPolicyCloseInactive = (socket) => {
169
151
  on(socket, SocketEvent.Receive, (message) => {
170
152
  lastActivity = now();
171
153
  lastReceive = now();
154
+ // Any traffic at all proves the relay is there, so retire the probe
155
+ if (probeId) {
156
+ socket.send([ClientMessageType.Close, probeId]);
157
+ probeId = undefined;
158
+ }
172
159
  if (isRelayClosed(message) || isRelayOk(message)) {
173
160
  pending.delete(message[1]);
174
161
  }
175
162
  }),
176
163
  ];
177
164
  const interval = setInterval(() => {
178
- if (socket.status === SocketStatus.Open && lastActivity < ago(30) && pending.size === 0) {
179
- socket.close();
165
+ if (socket.status !== SocketStatus.Open)
166
+ return;
167
+ // Nothing is waiting on this socket, so let it go
168
+ if (pending.size === 0) {
169
+ if (lastActivity < ago(30)) {
170
+ socket.close();
171
+ }
172
+ return;
173
+ }
174
+ // Something is waiting, but a device coming back from a suspend can find a socket that only
175
+ // looks open: the relay went away without a close ever firing, so nothing reconnects and
176
+ // every subscription on it is quietly dead. Send a probe request and close if no response.
177
+ if (probeId) {
178
+ if (probedAt < ago(PROBE_TIMEOUT)) {
179
+ socket.close();
180
+ }
181
+ }
182
+ else if (lastReceive < ago(PROBE_IDLE)) {
183
+ probeId = `PING-${randomId()}`;
184
+ probedAt = now();
185
+ socket.send([ClientMessageType.Req, probeId, neverFilter]);
180
186
  }
181
187
  }, 3000);
182
188
  return () => {
@@ -203,9 +209,8 @@ export const makeSocketPolicyAuth = (options) => (socket) => {
203
209
  };
204
210
  };
205
211
  export const defaultSocketPolicies = [
206
- socketPolicyPing,
207
212
  socketPolicyAuthBuffer,
208
213
  socketPolicyConnectOnSend,
209
- socketPolicyCloseInactive,
214
+ socketPolicyLifecycle,
210
215
  ];
211
216
  //# sourceMappingURL=policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/policy.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export type BaseRequestOptions = {
7
7
  tracker?: Tracker;
8
8
  context?: AdapterContext;
9
9
  autoClose?: boolean;
10
+ resubscribeAttempts?: number;
10
11
  isEventValid?: IsEventValid;
11
12
  onEvent?: (event: TrustedEvent, url: string) => void;
12
13
  onDeleted?: (event: unknown, url: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/request.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { on, uniq, flatten, addToMapKey, defer, call, randomId, pushToMapKey, batcher, } from "@welshman/lib";
1
+ import { on, ms, now, sleep, uniq, flatten, addToMapKey, defer, call, randomId, pushToMapKey, batcher, } from "@welshman/lib";
2
2
  import { unionFilters, matchFilters, verifyEvent, deduplicateEvents, getFilterResultCardinality, } from "@welshman/util";
3
- import { ClientMessageType, isRelayEvent, isRelayEose, isRelayClosed, } from "./message.js";
3
+ import { ClientMessageType, isRelayEvent, isRelayEose, isRelayClosed, isTerminalReason, } from "./message.js";
4
4
  import { getAdapter, AdapterEvent } from "./adapter.js";
5
5
  import { SocketEvent, SocketStatus } from "./socket.js";
6
6
  import { Tracker } from "./tracker.js";
7
+ import { catchUpFilter } from "./util.js";
7
8
  export const requestOne = (options) => {
8
9
  // An already-aborted signal never fires its listener, so bail before building
9
10
  // an adapter — that would pull a socket out of the pool for a request no one
@@ -17,17 +18,46 @@ export const requestOne = (options) => {
17
18
  const open = new Set();
18
19
  // Ids we're still waiting on, whether via eose or closed
19
20
  const pending = new Set();
21
+ // What each id asked for, so a dropped subscription can be asked for again
22
+ const filtersById = new Map();
23
+ // Ids the relay has refused, and how long they have been refused for
24
+ const retriesById = new Map();
20
25
  const events = [];
21
26
  const deferred = defer();
22
27
  const tracker = options.tracker || new Tracker();
23
28
  const adapter = getAdapter(options.relay, options.context);
24
29
  const isEventValid = options.isEventValid || (event => verifyEvent(event));
30
+ // Surviving a refusal is opt-in: a caller that wants one says how many times to ask again
31
+ const resubscribeAttempts = options.resubscribeAttempts || 0;
25
32
  let closed = false;
26
33
  const closeId = (id) => {
27
34
  if (open.delete(id)) {
28
35
  adapter.send([ClientMessageType.Close, id]);
29
36
  }
30
37
  };
38
+ // A relay that drops a long-lived subscription for a reason that might not hold next time — a
39
+ // rate limit, more subscriptions than it allows — leaves the caller with no events and nothing
40
+ // to notice, so ask again. `since` reaches back to the refusal rather than the retry, so the
41
+ // time spent backing off isn't a hole, and an eose clears the count: a relay that served us
42
+ // once and refused later is a fresh problem rather than an escalating one.
43
+ const resubscribe = (id) => {
44
+ const retry = retriesById.get(id) || { attempts: 0, since: now() };
45
+ retry.attempts += 1;
46
+ retriesById.set(id, retry);
47
+ if (retry.attempts > resubscribeAttempts) {
48
+ if (open.size === 0) {
49
+ close();
50
+ }
51
+ return;
52
+ }
53
+ sleep(ms(2 ** retry.attempts)).then(() => {
54
+ if (!closed) {
55
+ open.add(id);
56
+ pending.add(id);
57
+ adapter.send([ClientMessageType.Req, id, catchUpFilter(filtersById.get(id), retry.since)]);
58
+ }
59
+ });
60
+ };
31
61
  const close = () => {
32
62
  if (closed)
33
63
  return;
@@ -66,6 +96,8 @@ export const requestOne = (options) => {
66
96
  if (isRelayEose(message)) {
67
97
  const [_, id] = message;
68
98
  if (pending.delete(id)) {
99
+ // The relay served this one, so any earlier refusal of it is settled
100
+ retriesById.delete(id);
69
101
  // Release the relay's subscription state for this filter as soon as it's
70
102
  // done, rather than making it wait on slower filters in the same request
71
103
  if (options.autoClose) {
@@ -85,8 +117,15 @@ export const requestOne = (options) => {
85
117
  pending.delete(id);
86
118
  open.delete(id);
87
119
  options.onClosed?.(reason, url);
88
- if (open.size === 0) {
89
- close();
120
+ // A one-shot request is finished either way, and a refusal that won't change on a
121
+ // retry finishes a long-lived one too
122
+ if (options.autoClose || isTerminalReason(reason)) {
123
+ if (open.size === 0) {
124
+ close();
125
+ }
126
+ }
127
+ else {
128
+ resubscribe(id);
90
129
  }
91
130
  }
92
131
  }
@@ -119,6 +158,7 @@ export const requestOne = (options) => {
119
158
  ids.add(id);
120
159
  open.add(id);
121
160
  pending.add(id);
161
+ filtersById.set(id, filter);
122
162
  adapter.send([ClientMessageType.Req, id, filter]);
123
163
  }
124
164
  return deferred;
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/request.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,11 @@
1
+ import type { Filter } from "@welshman/util";
1
2
  export type Unsubscriber = () => void;
3
+ /**
4
+ * Rewrites a filter so re-sending it picks up where the subscription left off rather than
5
+ * repeating itself.
6
+ * @param filter - the filter as originally sent
7
+ * @param since - when the socket last heard from the relay
8
+ * @returns a filter covering the gap
9
+ */
10
+ export declare const catchUpFilter: (filter: Filter, since: number) => Filter;
2
11
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAE1C,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAA;AAErC;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAM7D,CAAA"}
@@ -1,2 +1,15 @@
1
- export {};
1
+ import { omit } from "@welshman/lib";
2
+ /**
3
+ * Rewrites a filter so re-sending it picks up where the subscription left off rather than
4
+ * repeating itself.
5
+ * @param filter - the filter as originally sent
6
+ * @param since - when the socket last heard from the relay
7
+ * @returns a filter covering the gap
8
+ */
9
+ export const catchUpFilter = (filter, since) => {
10
+ if (filter.limit === 0) {
11
+ filter = omit(["limit"], filter);
12
+ }
13
+ return { ...filter, since };
14
+ };
2
15
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAA;AAKlC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAU,EAAE;IACrE,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,EAAC,CAAA;AAC3B,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/net",
3
- "version": "0.9.7",
3
+ "version": "0.9.8",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "Utilities for connecting with nostr relays.",
@@ -18,14 +18,14 @@
18
18
  "isomorphic-ws": "^5.0.0"
19
19
  },
20
20
  "peerDependencies": {
21
- "@welshman/lib": "0.9.7",
22
- "@welshman/util": "0.9.7"
21
+ "@welshman/lib": "0.9.8",
22
+ "@welshman/util": "0.9.8"
23
23
  },
24
24
  "devDependencies": {
25
25
  "rimraf": "~6.0.0",
26
26
  "typescript": "~5.8.0",
27
- "@welshman/lib": "0.9.7",
28
- "@welshman/util": "0.9.7"
27
+ "@welshman/lib": "0.9.8",
28
+ "@welshman/util": "0.9.8"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "pnpm run clean && pnpm run compile --force",