@libp2p/webrtc 1.1.7 → 1.1.9

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
- {"version":3,"file":"maconn.d.ts","sourceRoot":"","sources":["../../src/maconn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAEpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAMnD,UAAU,6BAA6B;IACrC;;OAEG;IACH,cAAc,EAAE,iBAAiB,CAAA;IAEjC;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,QAAQ,EAAE,2BAA2B,CAAA;CACtC;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAA;IAE1C;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,QAAQ,EAAE,2BAA2B,CAAA;IAErC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAY;IAEtC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAU;gBAElC,IAAI,EAAE,6BAA6B;IAM1C,KAAK,CAAE,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAQrD"}
1
+ {"version":3,"file":"maconn.d.ts","sourceRoot":"","sources":["../../src/maconn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAA;AAEpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAMnD,UAAU,6BAA6B;IACrC;;OAEG;IACH,cAAc,EAAE,iBAAiB,CAAA;IAEjC;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,QAAQ,EAAE,2BAA2B,CAAA;CACtC;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAA;IAE1C;;OAEG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,QAAQ,EAAE,2BAA2B,CAAA;IAErC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,CAAY;IAEtC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAU;gBAElC,IAAI,EAAE,6BAA6B;IAM1C,KAAK,CAAE,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAUrD"}
@@ -19,7 +19,8 @@ export class WebRTCMultiaddrConnection {
19
19
  if (err !== undefined) {
20
20
  log.error('error closing connection', err);
21
21
  }
22
- this.timeline.close = new Date().getTime();
22
+ log.trace('closing connection');
23
+ this.timeline.close = Date.now();
23
24
  this.peerConnection.close();
24
25
  }
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"maconn.js","sourceRoot":"","sources":["../../src/maconn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAmB9C,MAAM,OAAO,yBAAyB;IA0BpC,YAAa,IAAmC;QAVhD;;WAEG;QACH,WAAM,GAAuB,SAAS,CAAA;QAEtC;;WAEG;QACH,SAAI,GAAoC,OAAO,CAAA;QAG7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,GAAuB;QAClC,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;SAC3C;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"maconn.js","sourceRoot":"","sources":["../../src/maconn.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAIvC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,GAAG,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAA;AAmB9C,MAAM,OAAO,yBAAyB;IA0BpC,YAAa,IAAmC;QAVhD;;WAEG;QACH,WAAM,GAAuB,SAAS,CAAA;QAEtC;;WAEG;QACH,SAAI,GAAoC,OAAO,CAAA;QAG7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK,CAAE,GAAuB;QAClC,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;SAC3C;QAED,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAE/B,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAChC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC;CACF"}
@@ -91,7 +91,7 @@ export class WebRTCTransport {
91
91
  const webrtcMultiaddr = baseAddr.encapsulate(`${TRANSPORT}/p2p/${peerId.toString()}`);
92
92
  const result = await options.upgrader.upgradeOutbound(new WebRTCMultiaddrConnection({
93
93
  peerConnection: pc,
94
- timeline: { open: (new Date()).getTime() },
94
+ timeline: { open: Date.now() },
95
95
  remoteAddr: webrtcMultiaddr
96
96
  }), {
97
97
  skipProtection: true,
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/peer_transport/transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAgD,MAAM,EAAa,MAAM,6BAA6B,CAAA;AAE7G,OAAO,EAAE,SAAS,EAAa,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,SAAS,CAAA;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;AAC3D,MAAM,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAA;AAc5C,MAAM,OAAO,eAAe;IAG1B,YACmB,UAAqC,EACrC,IAAyB;QADzB,eAAU,GAAV,UAAU,CAA2B;QACrC,SAAI,GAAJ,IAAI,CAAqB;QAJpC,aAAQ,GAAG,KAAK,CAAA;IAMxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;YAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAClI,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAC5D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,cAAc,CAAE,OAA8B;QAC5C,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,IAAI,CAAC,MAAM,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAE,UAAuB;QAC7B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA;YAC7B,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,SAAS,CAAE,EAAa;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,CAAA;QAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACtE;QACD,yBAAyB;QACzB,IAAI,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAE7C,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,EAAE,CAAA;QACnD,IAAI,mBAAmB,IAAI,IAAI,EAAE;YAC/B,MAAM,IAAI,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACpE;QAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAA;QACnD,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;SACtE;QACD,IAAI,iBAAiB,CAAC,IAAI,KAAK,KAAK,EAAE;YACpC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC,QAAQ,mBAAmB,EAAE,CAAC,CAAA;SACnE;QAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAA;IAChF,CAAC;IAED;;;;;;MAME;IACF,KAAK,CAAC,IAAI,CAAE,EAAa,EAAE,OAAoB;QAC7C,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;QAClC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAE/C,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;YAC1B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;SACnC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,CAAA;QAE3E,IAAI;YACF,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,MAAM,kBAAkB,CAAC;gBAClD,MAAM,EAAE,SAAS;gBACjB,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAA;YACF,MAAM,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS,QAAQ,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YACrF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,eAAe,CACnD,IAAI,yBAAyB,CAAC;gBAC5B,cAAc,EAAE,EAAE;gBAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1C,UAAU,EAAE,eAAe;aAC5B,CAAC,EACF;gBACE,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;gBACpB,YAAY;aACb,CACF,CAAA;YAED,0DAA0D;YAC1D,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,OAAO,MAAM,CAAA;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,wCAAwC;YACxC,SAAS,CAAC,KAAK,EAAE,CAAA;YACjB,MAAM,GAAG,CAAA;SACV;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAE,EAAE,UAAU,EAAE,MAAM,EAAsB;QAC3D,IAAI;YACF,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,MAAM,oBAAoB,CAAC;gBACpD,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAC5C,UAAU;gBACV,MAAM;aACP,CAAC,CAAA;YACF,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;YACtD,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,SAAS,QAAQ,YAAY,EAAE,CAAC,CAAA;YAC7F,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,yBAAyB,CAAC;gBAC1E,cAAc,EAAE,EAAE;gBAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC1C,UAAU,EAAE,eAAe;aAC5B,CAAC,EAAE;gBACF,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;gBACpB,YAAY;aACb,CAAC,CAAA;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,MAAM,GAAG,CAAA;SACV;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/peer_transport/transport.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { DeferredPromise } from 'p-defer';
2
2
  import * as pb from './pb/index.js';
3
+ export declare const isFirefox: boolean;
3
4
  interface MessageStream {
4
5
  read: () => Promise<pb.Message>;
5
6
  write: (d: pb.Message) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/peer_transport/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,eAAe,CAAA;AAMnC,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C;AAID,eAAO,MAAM,4BAA4B,qBAA4B,gBAAgB,IAAI,CAAC,MAAM,iBAAiB,UAAU,aAAa,KAAG,QAAQ,IAAI,CA4BtJ,CAAA;AAED,wBAAgB,kBAAkB,CAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAgB/F"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/peer_transport/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,eAAe,CAAA;AAInC,eAAO,MAAM,SAAS,SAAoD,CAAA;AAE1E,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;IAC/B,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C;AAID,eAAO,MAAM,4BAA4B,qBAA4B,gBAAgB,IAAI,CAAC,MAAM,iBAAiB,UAAU,aAAa,KAAG,QAAQ,IAAI,CA4BtJ,CAAA;AAED,wBAAgB,kBAAkB,CAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAgB/F"}
@@ -2,7 +2,7 @@ import { logger } from '@libp2p/logger';
2
2
  import * as pb from './pb/index.js';
3
3
  import { detect } from 'detect-browser';
4
4
  const browser = detect();
5
- const isFirefox = ((browser != null) && browser.name === 'firefox');
5
+ export const isFirefox = ((browser != null) && browser.name === 'firefox');
6
6
  const log = logger('libp2p:webrtc:peer:util');
7
7
  export const readCandidatesUntilConnected = async (connectedPromise, pc, stream) => {
8
8
  while (true) {
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/peer_transport/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAOnE,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,gBAAuC,EAAE,EAAqB,EAAE,MAAqB,EAAiB,EAAE;IACzJ,OAAO,IAAI,EAAE;QACX,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,mCAAmC;QACnC,IAAI,UAAU,YAAY,MAAM,EAAE;YAChC,MAAM,OAAO,GAAG,UAAU,CAAA;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YACD,uCAAuC;YACvC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC/C,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACvC,MAAK;aACN;YAED,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACzD,IAAI;gBACF,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACxE;YAAC,OAAO,GAAG,EAAE;gBACZ,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;gBAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;aAC1C;SACF;aAAM;YACL,6BAA6B;YAC7B,MAAK;SACN;KACF;IACD,MAAM,gBAAgB,CAAC,OAAO,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAE,EAAqB,EAAE,OAA8B;IACvF,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;QAC/E,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAA;QACrE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE;YAC9D,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,EAAE,CAAA;gBACjB,MAAK;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,CAAC,MAAM,EAAE,CAAA;gBAChB,MAAK;YACP;gBACE,MAAK;SACR;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/peer_transport/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,KAAK,EAAE,MAAM,eAAe,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAO1E,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,gBAAuC,EAAE,EAAqB,EAAE,MAAqB,EAAiB,EAAE;IACzJ,OAAO,IAAI,EAAE;QACX,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,mCAAmC;QACnC,IAAI,UAAU,YAAY,MAAM,EAAE;YAChC,MAAM,OAAO,GAAG,UAAU,CAAA;YAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;aAChD;YACD,uCAAuC;YACvC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE,EAAE;gBAC/C,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBACvC,MAAK;aACN;YAED,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACzD,IAAI;gBACF,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;aACxE;YAAC,OAAO,GAAG,EAAE;gBACZ,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;gBAC1C,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;aAC1C;SACF;aAAM;YACL,6BAA6B;YAC7B,MAAK;SACN;KACF;IACD,MAAM,gBAAgB,CAAC,OAAO,CAAA;AAChC,CAAC,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAE,EAAqB,EAAE,OAA8B;IACvF,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE;QAC/E,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAA;QACrE,QAAQ,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE;YAC9D,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,EAAE,CAAA;gBACjB,MAAK;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,CAAC,MAAM,EAAE,CAAA;gBAChB,MAAK;YACP;gBACE,MAAK;SACR;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAarD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAwC,CAAA;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAmC,CAAA;AAE/D;;GAEG;AAEH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAE/C,UAAU,EAAE,+BAA+B;IAIxD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IA0G/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAyB9B"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAcrD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAwC,CAAA;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAmC,CAAA;AAE/D;;GAEG;AAEH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAE/C,UAAU,EAAE,+BAA+B;IAIxD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgI/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAyB9B"}
@@ -12,6 +12,7 @@ import * as sdp from './sdp.js';
12
12
  import { WebRTCStream } from './stream.js';
13
13
  import { genUfrag } from './util.js';
14
14
  import { protocols } from '@multiformats/multiaddr';
15
+ import { isFirefox } from './peer_transport/util.js';
15
16
  const log = logger('libp2p:webrtc:transport');
16
17
  /**
17
18
  * The time to wait, in milliseconds, for the data channel handshake to complete
@@ -69,6 +70,8 @@ export class WebRTCDirectTransport {
69
70
  * Connect to a peer using a multiaddr
70
71
  */
71
72
  async _connect(ma, options) {
73
+ const controller = new AbortController();
74
+ const signal = controller.signal;
72
75
  const remotePeerString = ma.getPeerId();
73
76
  if (remotePeerString === null) {
74
77
  throw inappropriateMultiaddr("we need to have the remote's PeerId");
@@ -141,13 +144,30 @@ export class WebRTCDirectTransport {
141
144
  }
142
145
  }
143
146
  };
147
+ const eventListeningName = isFirefox ? 'iceconnectionstatechange' : 'connectionstatechange';
148
+ peerConnection.addEventListener(eventListeningName, () => {
149
+ switch (peerConnection.connectionState) {
150
+ case 'failed':
151
+ case 'disconnected':
152
+ case 'closed':
153
+ maConn.close().catch((err) => {
154
+ log.error('error closing connection', err);
155
+ }).finally(() => {
156
+ // Remove the event listener once the connection is closed
157
+ controller.abort();
158
+ });
159
+ break;
160
+ default:
161
+ break;
162
+ }
163
+ }, { signal });
144
164
  // Creating the connection before completion of the noise
145
165
  // handshake ensures that the stream opening callback is set up
146
166
  const maConn = new WebRTCMultiaddrConnection({
147
167
  peerConnection,
148
168
  remoteAddr: ma,
149
169
  timeline: {
150
- open: (new Date()).getTime()
170
+ open: Date.now()
151
171
  }
152
172
  });
153
173
  const muxerFactory = new DataChannelMuxerFactory(peerConnection);
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,EAAmC,MAAM,EAAa,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEpC,OAAO,KAAK,WAAW,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACrG,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,MAAM,GAAG,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAE7C;;GAEG;AACH,MAAM,oBAAoB,GAAG,KAAM,CAAA;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAW,SAAS,CAAC,eAAe,CAAC,CAAC,IAAI,CAAA;AAElE;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAW,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAA;AAU/D,MAAM,OAAO,qBAAqB;IAMhC,YAAa,UAA2C;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAE,EAAa,EAAE,OAA0B;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QAChD,GAAG,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACzC,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,cAAc,CAAE,OAA8B;QAC5C,MAAM,aAAa,CAAC,gCAAgC,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAE,UAAuB;QAC7B,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,uBAAuB,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAE,EAAa,EAAE,OAA0B;QACvD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAEhC,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;QACvC,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC7B,MAAM,sBAAsB,CAAC,qCAAqC,CAAC,CAAA;SACpE;QACD,MAAM,WAAW,GAAG,CAAC,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAExD,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QAE3D,iFAAiF;QACjF,8EAA8E;QAC9E,gFAAgF;QAChF,gCAAgC;QAChC,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;YAC9D,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,GAAG,CAAC,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC;SAChD,CAAC,CAAA;QACT,MAAM,cAAc,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAE7E,wFAAwF;QACxF,wFAAwF;QACxF,YAAY;QACZ,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7E,MAAM,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;YAC9F,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvC,MAAM,KAAK,GAAG,yCAAyC,oBAAoB,CAAC,UAAU,EAAE,CAAA;gBACxF,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAChB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YACzC,CAAC,EAAE,oBAAoB,CAAC,CAAA;YAExB,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;gBAClC,YAAY,CAAC,gBAAgB,CAAC,CAAA;gBAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAA;YAC/B,CAAC,CAAA;YAED,mFAAmF;YACnF,oBAAoB,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC9C,YAAY,CAAC,gBAAgB,CAAC,CAAA;gBAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,eAAe,CAAA;gBAC/D,MAAM,KAAK,GAAG,iDAAiD,WAAW,EAAE,CAAA;gBAC5E,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAChB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;YACzC,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,mBAAmB,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;QAEhD,0EAA0E;QAC1E,sEAAsE;QACtE,wEAAwE;QACxE,iCAAiC;QACjC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAA;QACnD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjD,MAAM,cAAc,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAExD,gDAAgD;QAChD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAC9C,MAAM,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QAEpD,yEAAyE;QACzE,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAA;QAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;QAEvC,sBAAsB;QACtB,2GAA2G;QAC3G,uJAAuJ;QACvJ,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAEhG,uFAAuF;QACvF,6CAA6C;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAA;QAE9D,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACjI,MAAM,aAAa,GAAG;YACpB,GAAG,cAAc;YACjB,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;YAC9C,MAAM,EAAE;gBACN,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,SAAU,CAAC;oBACtC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,CAAC,MAAM,EAAE;wBAC9C,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;qBACtB;gBACH,CAAC;aACF;SACF,CAAA;QAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,uBAAuB,CAAA;QAE3F,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;YACvD,QAAQ,cAAc,CAAC,eAAe,EAAE;gBACtC,KAAK,QAAQ,CAAC;gBACd,KAAK,cAAc,CAAC;gBACpB,KAAK,QAAQ;oBACX,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC3B,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;oBAC5C,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;wBACd,0DAA0D;wBAC1D,UAAU,CAAC,KAAK,EAAE,CAAA;oBACpB,CAAC,CAAC,CAAA;oBACF,MAAK;gBACP;oBACE,MAAK;aACR;QACH,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QAEd,yDAAyD;QACzD,+DAA+D;QAC/D,MAAM,MAAM,GAAG,IAAI,yBAAyB,CAAC;YAC3C,cAAc;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;aACjB;SACF,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,IAAI,uBAAuB,CAAC,cAAc,CAAC,CAAA;QAEhE,iFAAiF;QACjF,4EAA4E;QAC5E,MAAM,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QAE/D,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IACrH,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAE,EAAqB,EAAE,QAA8B,EAAE,EAAa;QACjG,IAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,CAAC,EAAE;YACpD,MAAM,eAAe,CAAC,sBAAsB,CAAC,CAAA;SAC9C;QAED,MAAM,SAAS,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAE3D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACvE,MAAM,eAAe,CAAC,qCAAqC,CAAC,CAAA;SAC7D;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAA;QAEvD,IAAI,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE;YACxC,MAAM,eAAe,CAAC,qCAAqC,CAAC,CAAA;SAC7D;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC/D,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QACxD,MAAM,MAAM,GAAe,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAA;QAE3D,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;IACxC,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,OAAO,CAAE,EAAa;IAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA;IAC7B,OAAO,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAA;AACjJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/webrtc",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "A libp2p transport using WebRTC connections",
5
5
  "author": "",
6
6
  "license": "Apache-2.0 OR MIT",
package/src/maconn.ts CHANGED
@@ -61,7 +61,9 @@ export class WebRTCMultiaddrConnection implements MultiaddrConnection {
61
61
  log.error('error closing connection', err)
62
62
  }
63
63
 
64
- this.timeline.close = new Date().getTime()
64
+ log.trace('closing connection')
65
+
66
+ this.timeline.close = Date.now()
65
67
  this.peerConnection.close()
66
68
  }
67
69
  }
@@ -131,7 +131,7 @@ export class WebRTCTransport implements Transport, Startable {
131
131
  const result = await options.upgrader.upgradeOutbound(
132
132
  new WebRTCMultiaddrConnection({
133
133
  peerConnection: pc,
134
- timeline: { open: (new Date()).getTime() },
134
+ timeline: { open: Date.now() },
135
135
  remoteAddr: webrtcMultiaddr
136
136
  }),
137
137
  {
@@ -4,7 +4,7 @@ import * as pb from './pb/index.js'
4
4
  import { detect } from 'detect-browser'
5
5
 
6
6
  const browser = detect()
7
- const isFirefox = ((browser != null) && browser.name === 'firefox')
7
+ export const isFirefox = ((browser != null) && browser.name === 'firefox')
8
8
 
9
9
  interface MessageStream {
10
10
  read: () => Promise<pb.Message>
package/src/transport.ts CHANGED
@@ -16,6 +16,7 @@ import * as sdp from './sdp.js'
16
16
  import { WebRTCStream } from './stream.js'
17
17
  import { genUfrag } from './util.js'
18
18
  import { protocols } from '@multiformats/multiaddr'
19
+ import { isFirefox } from './peer_transport/util.js'
19
20
 
20
21
  const log = logger('libp2p:webrtc:transport')
21
22
 
@@ -97,6 +98,9 @@ export class WebRTCDirectTransport implements Transport {
97
98
  * Connect to a peer using a multiaddr
98
99
  */
99
100
  async _connect (ma: Multiaddr, options: WebRTCDialOptions): Promise<Connection> {
101
+ const controller = new AbortController()
102
+ const signal = controller.signal
103
+
100
104
  const remotePeerString = ma.getPeerId()
101
105
  if (remotePeerString === null) {
102
106
  throw inappropriateMultiaddr("we need to have the remote's PeerId")
@@ -183,13 +187,32 @@ export class WebRTCDirectTransport implements Transport {
183
187
  }
184
188
  }
185
189
 
190
+ const eventListeningName = isFirefox ? 'iceconnectionstatechange' : 'connectionstatechange'
191
+
192
+ peerConnection.addEventListener(eventListeningName, () => {
193
+ switch (peerConnection.connectionState) {
194
+ case 'failed':
195
+ case 'disconnected':
196
+ case 'closed':
197
+ maConn.close().catch((err) => {
198
+ log.error('error closing connection', err)
199
+ }).finally(() => {
200
+ // Remove the event listener once the connection is closed
201
+ controller.abort()
202
+ })
203
+ break
204
+ default:
205
+ break
206
+ }
207
+ }, { signal })
208
+
186
209
  // Creating the connection before completion of the noise
187
210
  // handshake ensures that the stream opening callback is set up
188
211
  const maConn = new WebRTCMultiaddrConnection({
189
212
  peerConnection,
190
213
  remoteAddr: ma,
191
214
  timeline: {
192
- open: (new Date()).getTime()
215
+ open: Date.now()
193
216
  }
194
217
  })
195
218