@dxos/messaging 0.1.58-main.47053bc → 0.1.58-main.4cbb52d

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.
@@ -1 +1 @@
1
- {"inputs":{"packages/core/mesh/messaging/src/timeouts.ts":{"bytes":656,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/messenger.ts":{"bytes":34784,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/timeouts.ts","kind":"import-statement","original":"./timeouts"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts":{"bytes":20028,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/signal-client.ts":{"bytes":52172,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/signal","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts","kind":"import-statement","original":"./signal-rpc-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/index.ts":{"bytes":499,"imports":[{"path":"packages/core/mesh/messaging/src/signal-client/signal-client.ts","kind":"import-statement","original":"./signal-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts":{"bytes":24541,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/signal-manager.ts":{"bytes":1268,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts":{"bytes":18581,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/signal-client/index.ts","kind":"import-statement","original":"../signal-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/index.ts":{"bytes":750,"imports":[{"path":"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts","kind":"import-statement","original":"./memory-signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-manager/signal-manager.ts","kind":"import-statement","original":"./signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts","kind":"import-statement","original":"./websocket-signal-manager"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-methods.ts":{"bytes":1621,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/index.ts":{"bytes":782,"imports":[{"path":"packages/core/mesh/messaging/src/messenger.ts","kind":"import-statement","original":"./messenger"},{"path":"packages/core/mesh/messaging/src/signal-client/index.ts","kind":"import-statement","original":"./signal-client"},{"path":"packages/core/mesh/messaging/src/signal-manager/index.ts","kind":"import-statement","original":"./signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-methods.ts","kind":"import-statement","original":"./signal-methods"}],"format":"esm"}},"outputs":{"packages/core/mesh/messaging/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":69070},"packages/core/mesh/messaging/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/errors","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/signal","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"exports":["MemorySignalManager","MemorySignalManagerContext","Messenger","SignalClient","WebsocketSignalManager"],"entryPoint":"packages/core/mesh/messaging/src/index.ts","inputs":{"packages/core/mesh/messaging/src/messenger.ts":{"bytesInOutput":10112},"packages/core/mesh/messaging/src/timeouts.ts":{"bytesInOutput":27},"packages/core/mesh/messaging/src/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-client/signal-client.ts":{"bytesInOutput":13561},"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts":{"bytesInOutput":6017},"packages/core/mesh/messaging/src/signal-client/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts":{"bytesInOutput":6682},"packages/core/mesh/messaging/src/signal-manager/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts":{"bytesInOutput":6027}},"bytes":43127}}}
1
+ {"inputs":{"packages/core/mesh/messaging/src/timeouts.ts":{"bytes":656,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/messenger.ts":{"bytes":37754,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/timeouts.ts","kind":"import-statement","original":"./timeouts"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts":{"bytes":20028,"imports":[{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/signal-client.ts":{"bytes":52172,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/signal","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts","kind":"import-statement","original":"./signal-rpc-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-client/index.ts":{"bytes":499,"imports":[{"path":"packages/core/mesh/messaging/src/signal-client/signal-client.ts","kind":"import-statement","original":"./signal-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts":{"bytes":24541,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/signal-manager.ts":{"bytes":1268,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts":{"bytes":18581,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"packages/core/mesh/messaging/src/signal-client/index.ts","kind":"import-statement","original":"../signal-client"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-manager/index.ts":{"bytes":750,"imports":[{"path":"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts","kind":"import-statement","original":"./memory-signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-manager/signal-manager.ts","kind":"import-statement","original":"./signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts","kind":"import-statement","original":"./websocket-signal-manager"}],"format":"esm"},"packages/core/mesh/messaging/src/signal-methods.ts":{"bytes":1621,"imports":[],"format":"esm"},"packages/core/mesh/messaging/src/index.ts":{"bytes":782,"imports":[{"path":"packages/core/mesh/messaging/src/messenger.ts","kind":"import-statement","original":"./messenger"},{"path":"packages/core/mesh/messaging/src/signal-client/index.ts","kind":"import-statement","original":"./signal-client"},{"path":"packages/core/mesh/messaging/src/signal-manager/index.ts","kind":"import-statement","original":"./signal-manager"},{"path":"packages/core/mesh/messaging/src/signal-methods.ts","kind":"import-statement","original":"./signal-methods"}],"format":"esm"}},"outputs":{"packages/core/mesh/messaging/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":70523},"packages/core/mesh/messaging/dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/protocols/proto/dxos/mesh/signal","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"isomorphic-ws","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/rpc","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/protocols","kind":"import-statement","external":true}],"exports":["MemorySignalManager","MemorySignalManagerContext","Messenger","SignalClient","WebsocketSignalManager"],"entryPoint":"packages/core/mesh/messaging/src/index.ts","inputs":{"packages/core/mesh/messaging/src/messenger.ts":{"bytesInOutput":10913},"packages/core/mesh/messaging/src/timeouts.ts":{"bytesInOutput":27},"packages/core/mesh/messaging/src/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-client/signal-client.ts":{"bytesInOutput":13587},"packages/core/mesh/messaging/src/signal-client/signal-rpc-client.ts":{"bytesInOutput":6017},"packages/core/mesh/messaging/src/signal-client/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-manager/memory-signal-manager.ts":{"bytesInOutput":6682},"packages/core/mesh/messaging/src/signal-manager/index.ts":{"bytesInOutput":0},"packages/core/mesh/messaging/src/signal-manager/websocket-signal-manager.ts":{"bytesInOutput":6027}},"bytes":43954}}}
@@ -41,7 +41,6 @@ module.exports = __toCommonJS(src_exports);
41
41
  // packages/core/mesh/messaging/src/messenger.ts
42
42
  var import_async = require("@dxos/async");
43
43
  var import_context = require("@dxos/context");
44
- var import_errors = require("@dxos/errors");
45
44
  var import_invariant = require("@dxos/invariant");
46
45
  var import_keys = require("@dxos/keys");
47
46
  var import_log = require("@dxos/log");
@@ -57,6 +56,7 @@ var ReliablePayload = import_protocols.schema.getCodecForType("dxos.mesh.messagi
57
56
  var Acknowledgement = import_protocols.schema.getCodecForType("dxos.mesh.messaging.Acknowledgement");
58
57
  var ERROR_LIMIT = 5;
59
58
  var NETWORK_REBOOT_DELAY = 3e3;
59
+ var RECEIVED_MESSAGES_GC_INTERVAL = 12e4;
60
60
  var Messenger = class {
61
61
  constructor({ signalManager, retryDelay = 300 }) {
62
62
  // { peerId, payloadType } => listeners set
@@ -64,7 +64,11 @@ var Messenger = class {
64
64
  // peerId => listeners set
65
65
  this._defaultListeners = new import_util.ComplexMap(import_keys.PublicKey.hash);
66
66
  this._onAckCallbacks = new import_util.ComplexMap(import_keys.PublicKey.hash);
67
- this._receivedMessages = new import_util.ComplexSet((key) => key.toHex());
67
+ this._receivedMessages = new import_util.ComplexSet(import_keys.PublicKey.hash);
68
+ /**
69
+ * Keys scheduled to be cleared from _receivedMessages on the next iteration.
70
+ */
71
+ this._toClear = new import_util.ComplexSet(import_keys.PublicKey.hash);
68
72
  this._closed = true;
69
73
  this._errorCount = 0;
70
74
  this._rebooting = false;
@@ -81,14 +85,14 @@ var Messenger = class {
81
85
  id: traceId
82
86
  }), {
83
87
  F: __dxlog_file,
84
- L: 68,
88
+ L: 74,
85
89
  S: this,
86
90
  C: (f, a) => f(...a)
87
91
  });
88
92
  this._ctx = new import_context.Context({
89
93
  onError: (err) => import_log.log.catch(err, void 0, {
90
94
  F: __dxlog_file,
91
- L: 70,
95
+ L: 76,
92
96
  S: this,
93
97
  C: (f, a) => f(...a)
94
98
  })
@@ -98,18 +102,21 @@ var Messenger = class {
98
102
  from: message.author
99
103
  }, {
100
104
  F: __dxlog_file,
101
- L: 74,
105
+ L: 80,
102
106
  S: this,
103
107
  C: (f, a) => f(...a)
104
108
  });
105
109
  await this._handleMessage(message);
106
110
  }));
111
+ (0, import_async.scheduleTaskInterval)(this._ctx, async () => {
112
+ this._performGc();
113
+ }, RECEIVED_MESSAGES_GC_INTERVAL);
107
114
  this._closed = false;
108
115
  import_log.log.trace("dxos.mesh.messenger.open", import_protocols.trace.end({
109
116
  id: traceId
110
117
  }), {
111
118
  F: __dxlog_file,
112
- L: 79,
119
+ L: 95,
113
120
  S: this,
114
121
  C: (f, a) => f(...a)
115
122
  });
@@ -124,7 +131,7 @@ var Messenger = class {
124
131
  async sendMessage({ author, recipient, payload }) {
125
132
  (0, import_invariant.invariant)(!this._closed, "Closed", {
126
133
  F: __dxlog_file,
127
- L: 91,
134
+ L: 107,
128
135
  S: this,
129
136
  A: [
130
137
  "!this._closed",
@@ -138,7 +145,7 @@ var Messenger = class {
138
145
  };
139
146
  (0, import_invariant.invariant)(!this._onAckCallbacks.has(reliablePayload.messageId), void 0, {
140
147
  F: __dxlog_file,
141
- L: 98,
148
+ L: 114,
142
149
  S: this,
143
150
  A: [
144
151
  "!this._onAckCallbacks.has(reliablePayload.messageId!)",
@@ -151,7 +158,7 @@ var Messenger = class {
151
158
  recipient
152
159
  }, {
153
160
  F: __dxlog_file,
154
- L: 99,
161
+ L: 115,
155
162
  S: this,
156
163
  C: (f, a) => f(...a)
157
164
  });
@@ -166,7 +173,7 @@ var Messenger = class {
166
173
  messageId: reliablePayload.messageId
167
174
  }, {
168
175
  F: __dxlog_file,
169
- L: 113,
176
+ L: 129,
170
177
  S: this,
171
178
  C: (f, a) => f(...a)
172
179
  });
@@ -178,7 +185,7 @@ var Messenger = class {
178
185
  err
179
186
  }, {
180
187
  F: __dxlog_file,
181
- L: 115,
188
+ L: 131,
182
189
  S: this,
183
190
  C: (f, a) => f(...a)
184
191
  }));
@@ -188,13 +195,13 @@ var Messenger = class {
188
195
  messageId: reliablePayload.messageId
189
196
  }, {
190
197
  F: __dxlog_file,
191
- L: 124,
198
+ L: 140,
192
199
  S: this,
193
200
  C: (f, a) => f(...a)
194
201
  });
195
202
  this._onAckCallbacks.delete(reliablePayload.messageId);
196
203
  await this.errorLimitCheck();
197
- timeoutHit(new import_errors.TimeoutError("signaling message not delivered", new import_async.TimeoutError(MESSAGE_TIMEOUT, "Message not delivered")));
204
+ timeoutHit(new import_protocols.TimeoutError("signaling message not delivered", new import_async.TimeoutError(MESSAGE_TIMEOUT, "Message not delivered")));
198
205
  void messageContext.dispose();
199
206
  }, MESSAGE_TIMEOUT);
200
207
  this._onAckCallbacks.set(reliablePayload.messageId, () => {
@@ -212,7 +219,7 @@ var Messenger = class {
212
219
  async errorLimitCheck() {
213
220
  (0, import_log.log)(`checking error limit ${this._errorCount}`, void 0, {
214
221
  F: __dxlog_file,
215
- L: 149,
222
+ L: 165,
216
223
  S: this,
217
224
  C: (f, a) => f(...a)
218
225
  });
@@ -227,7 +234,7 @@ var Messenger = class {
227
234
  this._rebooting = true;
228
235
  (0, import_log.log)("rebooting Messenger/SignalManager", void 0, {
229
236
  F: __dxlog_file,
230
- L: 161,
237
+ L: 177,
231
238
  S: this,
232
239
  C: (f, a) => f(...a)
233
240
  });
@@ -235,14 +242,14 @@ var Messenger = class {
235
242
  await this._signalManager.close();
236
243
  (0, import_log.log)("pausing", void 0, {
237
244
  F: __dxlog_file,
238
- L: 164,
245
+ L: 180,
239
246
  S: this,
240
247
  C: (f, a) => f(...a)
241
248
  });
242
249
  await new Promise((resolve) => setTimeout(resolve, NETWORK_REBOOT_DELAY));
243
250
  (0, import_log.log)("done pausing", void 0, {
244
251
  F: __dxlog_file,
245
- L: 166,
252
+ L: 182,
246
253
  S: this,
247
254
  C: (f, a) => f(...a)
248
255
  });
@@ -250,7 +257,7 @@ var Messenger = class {
250
257
  await this._signalManager.open();
251
258
  (0, import_log.log)("done rebooting", void 0, {
252
259
  F: __dxlog_file,
253
- L: 169,
260
+ L: 185,
254
261
  S: this,
255
262
  C: (f, a) => f(...a)
256
263
  });
@@ -264,7 +271,7 @@ var Messenger = class {
264
271
  async listen({ peerId, payloadType, onMessage }) {
265
272
  (0, import_invariant.invariant)(!this._closed, "Closed", {
266
273
  F: __dxlog_file,
267
- L: 188,
274
+ L: 204,
268
275
  S: this,
269
276
  A: [
270
277
  "!this._closed",
@@ -328,7 +335,7 @@ var Messenger = class {
328
335
  async _handleReliablePayload({ author, recipient, payload }) {
329
336
  (0, import_invariant.invariant)(payload.type_url === "dxos.mesh.messaging.ReliablePayload", void 0, {
330
337
  F: __dxlog_file,
331
- L: 249,
338
+ L: 265,
332
339
  S: this,
333
340
  A: [
334
341
  "payload.type_url === 'dxos.mesh.messaging.ReliablePayload'",
@@ -342,7 +349,7 @@ var Messenger = class {
342
349
  messageId: reliablePayload.messageId
343
350
  }, {
344
351
  F: __dxlog_file,
345
- L: 252,
352
+ L: 268,
346
353
  S: this,
347
354
  C: (f, a) => f(...a)
348
355
  });
@@ -364,7 +371,7 @@ var Messenger = class {
364
371
  async _handleAcknowledgement({ payload }) {
365
372
  (0, import_invariant.invariant)(payload.type_url === "dxos.mesh.messaging.Acknowledgement", void 0, {
366
373
  F: __dxlog_file,
367
- L: 274,
374
+ L: 290,
368
375
  S: this,
369
376
  A: [
370
377
  "payload.type_url === 'dxos.mesh.messaging.Acknowledgement'",
@@ -380,7 +387,7 @@ var Messenger = class {
380
387
  to: author
381
388
  }, {
382
389
  F: __dxlog_file,
383
- L: 287,
390
+ L: 303,
384
391
  S: this,
385
392
  C: (f, a) => f(...a)
386
393
  });
@@ -416,6 +423,27 @@ var Messenger = class {
416
423
  }
417
424
  }
418
425
  }
426
+ _performGc() {
427
+ const start = performance.now();
428
+ for (const key of this._toClear.keys()) {
429
+ this._receivedMessages.delete(key);
430
+ }
431
+ this._toClear.clear();
432
+ for (const key of this._receivedMessages.keys()) {
433
+ this._toClear.add(key);
434
+ }
435
+ const elapsed = performance.now() - start;
436
+ if (elapsed > 100) {
437
+ import_log.log.warn("GC took too long", {
438
+ elapsed
439
+ }, {
440
+ F: __dxlog_file,
441
+ L: 351,
442
+ S: this,
443
+ C: (f, a) => f(...a)
444
+ });
445
+ }
446
+ }
419
447
  };
420
448
 
421
449
  // packages/core/mesh/messaging/src/signal-client/signal-client.ts