@libp2p/devtools-metrics 1.2.14 → 1.2.15

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.
@@ -98,6 +98,12 @@ export interface DevToolsMetricsInit {
98
98
  * How often to pass metrics to the DevTools panel
99
99
  */
100
100
  intervalMs?: number;
101
+ /**
102
+ * Outgoing RPC invocations must return within this timeout in ms
103
+ *
104
+ * @default 1_000
105
+ */
106
+ rpcSendTimeout?: number;
101
107
  }
102
108
  export interface DevToolsMetricsComponents {
103
109
  logger: ComponentLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAc,YAAY,EAAU,OAAO,EAAuB,MAAM,EAAE,SAAS,EAAU,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAA8C,MAAM,mBAAmB,CAAA;AAC9O,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhH,cAAc,gBAAgB,CAAA;AAE9B,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAClE,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AACtE,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,cAAc,qCAAqC,CAAA;AAChE,eAAO,MAAM,2BAA2B,oCAAoC,CAAA;AAS5E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,eAAe,GAAG,OAAO,cAAc,CAAA;IACtD,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,uBAAuB,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IAEpB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B;AA0ND,wBAAgB,eAAe,CAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAIxH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,OAAO,KAAK,EAAE,eAAe,EAAc,YAAY,EAAU,OAAO,EAAuB,MAAM,EAAE,SAAS,EAAU,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAA8C,MAAM,mBAAmB,CAAA;AAC9O,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAGhH,cAAc,gBAAgB,CAAA;AAE9B,eAAO,MAAM,eAAe,sCAAsC,CAAA;AAClE,eAAO,MAAM,qBAAqB,oCAAoC,CAAA;AACtE,eAAO,MAAM,qBAAqB,qCAAqC,CAAA;AACvE,eAAO,MAAM,cAAc,qCAAqC,CAAA;AAChE,eAAO,MAAM,2BAA2B,oCAAoC,CAAA;AAY5E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,eAAe,CAAA;IAC9B,IAAI,EAAE,mBAAmB,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,eAAe,GAAG,OAAO,cAAc,CAAA;IACtD,IAAI,EAAE,YAAY,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAE3C;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,uBAAuB,CAAA;AAEvE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,UAAU,CAAA;AAEjE,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;IAEpB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B;AAwOD,wBAAgB,eAAe,CAAE,IAAI,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,KAAK,OAAO,CAIxH"}
package/dist/src/index.js CHANGED
@@ -33,6 +33,8 @@ export const SOURCE_SERVICE_WORKER = '@libp2p/devtools-metrics:worker';
33
33
  export const SOURCE_CONTENT_SCRIPT = '@libp2p/devtools-metrics:content';
34
34
  export const SOURCE_METRICS = '@libp2p/devtools-metrics:metrics';
35
35
  export const LIBP2P_DEVTOOLS_METRICS_KEY = '________libp2p_devtools_metrics';
36
+ // don't wait for devtools RPC forever
37
+ const DEVTOOLS_TIMEOUT = 1_000;
36
38
  // let devtools know we are here
37
39
  Object.defineProperty(globalThis, LIBP2P_DEVTOOLS_METRICS_KEY, {
38
40
  value: true,
@@ -47,16 +49,20 @@ class DevToolsMetrics {
47
49
  rpcQueue;
48
50
  rpc;
49
51
  devTools;
50
- constructor(components, init) {
52
+ rpcSendTimeout;
53
+ constructor(components, init = {}) {
51
54
  this.log = components.logger.forComponent('libp2p:devtools-metrics');
52
55
  this.intervalMs = init?.intervalMs;
53
56
  this.components = components;
57
+ this.rpcSendTimeout = init.rpcSendTimeout ?? DEVTOOLS_TIMEOUT;
54
58
  // create RPC endpoint
55
59
  this.rpcQueue = pushable();
56
60
  this.rpc = rpc({
57
61
  valueCodecs
58
62
  });
59
- this.devTools = this.rpc.createClient('devTools');
63
+ this.devTools = this.rpc.createClient('devTools', {
64
+ timeout: this.rpcSendTimeout
65
+ });
60
66
  // collect information on current peers and sent it to the dev tools panel
61
67
  this.onPeersUpdate = debounce(this.onPeersUpdate.bind(this), 1000);
62
68
  this.onSelfUpdate = debounce(this.onSelfUpdate.bind(this), 1000);
@@ -70,6 +76,8 @@ class DevToolsMetrics {
70
76
  onMetrics: (metrics) => {
71
77
  this.devTools.safeDispatchEvent('metrics', {
72
78
  detail: metrics
79
+ }, {
80
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
73
81
  }).catch(err => {
74
82
  this.log.error('error sending metrics', err);
75
83
  });
@@ -178,6 +186,8 @@ class DevToolsMetrics {
178
186
  onPubSubMessage(event) {
179
187
  this.devTools.safeDispatchEvent('pubsub:message', {
180
188
  detail: event.detail
189
+ }, {
190
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
181
191
  })
182
192
  .catch(err => {
183
193
  this.log.error('error relaying pubsub message', err);
@@ -186,6 +196,8 @@ class DevToolsMetrics {
186
196
  onPubSubSubscriptionChange(event) {
187
197
  this.devTools.safeDispatchEvent('pubsub:subscription-change', {
188
198
  detail: event.detail
199
+ }, {
200
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
189
201
  })
190
202
  .catch(err => {
191
203
  this.log.error('error relaying pubsub subscription change', err);
@@ -196,6 +208,8 @@ class DevToolsMetrics {
196
208
  .then(async () => {
197
209
  await this.devTools.safeDispatchEvent('self', {
198
210
  detail: await getSelf(this.components)
211
+ }, {
212
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
199
213
  });
200
214
  })
201
215
  .catch(err => {
@@ -207,6 +221,8 @@ class DevToolsMetrics {
207
221
  .then(async () => {
208
222
  await this.devTools.safeDispatchEvent('peers', {
209
223
  detail: await getPeers(this.components, this.log)
224
+ }, {
225
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
210
226
  });
211
227
  })
212
228
  .catch(err => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -115,6 +115,6 @@ export interface DevToolsEvents {
115
115
  * RPC operations exposed by the DevTools
116
116
  */
117
117
  export interface DevToolsRPC {
118
- safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>): Promise<void>;
118
+ safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>, options?: AbortOptions): Promise<void>;
119
119
  }
120
120
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AACpI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAExC,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAK9C,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,SAAS,EAAE,WAAW,EAAE,CAAA;IAExB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;IAE3H;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3C;;OAEG;IACH,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzF;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEtE;;OAEG;IACH,cAAc,EAAE,cAAc,CAAA;IAE9B;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;IAExB;;OAEG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAE1D;;WAEG;QACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAE5D;;WAEG;QACH,SAAS,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAEhD;;WAEG;QACH,cAAc,CAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpE;;WAEG;QACH,OAAO,CAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAC/E,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;IAE3C;;OAEG;IACH,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IAEzB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAE5B;;OAEG;IACH,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAA;IAE/C;;OAEG;IACH,4BAA4B,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAA;CAClE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/H"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/devtools-metrics",
3
- "version": "1.2.14",
3
+ "version": "1.2.15",
4
4
  "description": "Collect libp2p metrics and send them to browser DevTools",
5
5
  "author": "",
6
6
  "license": "Apache-2.0 OR MIT",
@@ -68,21 +68,21 @@
68
68
  "test:firefox": "aegir test -t browser --browser firefox"
69
69
  },
70
70
  "dependencies": {
71
- "@libp2p/interface": "^2.9.0",
72
- "@libp2p/interface-internal": "^2.3.11",
73
- "@libp2p/logger": "^5.1.15",
74
- "@libp2p/peer-id": "^5.1.2",
75
- "@libp2p/simple-metrics": "^1.3.9",
71
+ "@libp2p/interface": "^2.10.0",
72
+ "@libp2p/interface-internal": "^2.3.12",
73
+ "@libp2p/logger": "^5.1.16",
74
+ "@libp2p/peer-id": "^5.1.3",
75
+ "@libp2p/simple-metrics": "^1.3.10",
76
76
  "@multiformats/multiaddr": "^12.3.3",
77
77
  "cborg": "^4.2.6",
78
78
  "it-pipe": "^3.0.1",
79
79
  "it-pushable": "^3.2.3",
80
- "it-rpc": "^1.0.2",
80
+ "it-rpc": "^1.1.0",
81
81
  "multiformats": "^13.3.1",
82
82
  "progress-events": "^1.0.1"
83
83
  },
84
84
  "devDependencies": {
85
- "@libp2p/crypto": "^5.1.1",
85
+ "@libp2p/crypto": "^5.1.2",
86
86
  "aegir": "^45.1.1",
87
87
  "sinon-ts": "^2.0.0"
88
88
  },
package/src/index.ts CHANGED
@@ -41,6 +41,9 @@ export const SOURCE_CONTENT_SCRIPT = '@libp2p/devtools-metrics:content'
41
41
  export const SOURCE_METRICS = '@libp2p/devtools-metrics:metrics'
42
42
  export const LIBP2P_DEVTOOLS_METRICS_KEY = '________libp2p_devtools_metrics'
43
43
 
44
+ // don't wait for devtools RPC forever
45
+ const DEVTOOLS_TIMEOUT = 1_000
46
+
44
47
  // let devtools know we are here
45
48
  Object.defineProperty(globalThis, LIBP2P_DEVTOOLS_METRICS_KEY, {
46
49
  value: true,
@@ -134,6 +137,13 @@ export interface DevToolsMetricsInit {
134
137
  * How often to pass metrics to the DevTools panel
135
138
  */
136
139
  intervalMs?: number
140
+
141
+ /**
142
+ * Outgoing RPC invocations must return within this timeout in ms
143
+ *
144
+ * @default 1_000
145
+ */
146
+ rpcSendTimeout?: number
137
147
  }
138
148
 
139
149
  export interface DevToolsMetricsComponents {
@@ -158,18 +168,22 @@ class DevToolsMetrics implements Metrics, Startable {
158
168
  private readonly rpcQueue: Pushable<Uint8Array>
159
169
  private readonly rpc: RPC
160
170
  private readonly devTools: DevToolsRPC
171
+ private readonly rpcSendTimeout: number
161
172
 
162
- constructor (components: DevToolsMetricsComponents, init?: Partial<DevToolsMetricsInit>) {
173
+ constructor (components: DevToolsMetricsComponents, init: DevToolsMetricsInit = {}) {
163
174
  this.log = components.logger.forComponent('libp2p:devtools-metrics')
164
175
  this.intervalMs = init?.intervalMs
165
176
  this.components = components
177
+ this.rpcSendTimeout = init.rpcSendTimeout ?? DEVTOOLS_TIMEOUT
166
178
 
167
179
  // create RPC endpoint
168
180
  this.rpcQueue = pushable()
169
181
  this.rpc = rpc({
170
182
  valueCodecs
171
183
  })
172
- this.devTools = this.rpc.createClient('devTools')
184
+ this.devTools = this.rpc.createClient('devTools', {
185
+ timeout: this.rpcSendTimeout
186
+ })
173
187
 
174
188
  // collect information on current peers and sent it to the dev tools panel
175
189
  this.onPeersUpdate = debounce(this.onPeersUpdate.bind(this), 1000)
@@ -186,6 +200,8 @@ class DevToolsMetrics implements Metrics, Startable {
186
200
  onMetrics: (metrics) => {
187
201
  this.devTools.safeDispatchEvent('metrics', {
188
202
  detail: metrics
203
+ }, {
204
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
189
205
  }).catch(err => {
190
206
  this.log.error('error sending metrics', err)
191
207
  })
@@ -326,6 +342,8 @@ class DevToolsMetrics implements Metrics, Startable {
326
342
  private onPubSubMessage (event: CustomEvent<Message>): void {
327
343
  this.devTools.safeDispatchEvent('pubsub:message', {
328
344
  detail: event.detail
345
+ }, {
346
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
329
347
  })
330
348
  .catch(err => {
331
349
  this.log.error('error relaying pubsub message', err)
@@ -335,6 +353,8 @@ class DevToolsMetrics implements Metrics, Startable {
335
353
  private onPubSubSubscriptionChange (event: CustomEvent<SubscriptionChangeData>): void {
336
354
  this.devTools.safeDispatchEvent('pubsub:subscription-change', {
337
355
  detail: event.detail
356
+ }, {
357
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
338
358
  })
339
359
  .catch(err => {
340
360
  this.log.error('error relaying pubsub subscription change', err)
@@ -346,6 +366,8 @@ class DevToolsMetrics implements Metrics, Startable {
346
366
  .then(async () => {
347
367
  await this.devTools.safeDispatchEvent('self', {
348
368
  detail: await getSelf(this.components)
369
+ }, {
370
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
349
371
  })
350
372
  })
351
373
  .catch(err => {
@@ -358,6 +380,8 @@ class DevToolsMetrics implements Metrics, Startable {
358
380
  .then(async () => {
359
381
  await this.devTools.safeDispatchEvent('peers', {
360
382
  detail: await getPeers(this.components, this.log)
383
+ }, {
384
+ signal: AbortSignal.timeout(this.rpcSendTimeout)
361
385
  })
362
386
  })
363
387
  .catch(err => {
package/src/rpc/index.ts CHANGED
@@ -143,5 +143,5 @@ export interface DevToolsEvents {
143
143
  * RPC operations exposed by the DevTools
144
144
  */
145
145
  export interface DevToolsRPC {
146
- safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>): Promise<void>
146
+ safeDispatchEvent<Detail>(type: keyof DevToolsEvents, detail?: CustomEventInit<Detail>, options?: AbortOptions): Promise<void>
147
147
  }