@automerge/automerge-repo-network-messagechannel 1.1.0-alpha.7 → 1.1.1

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,4 +1,4 @@
1
- import type { EventEmitter } from "eventemitter3";
1
+ import { EventEmitter } from "eventemitter3";
2
2
  export interface PortRefEvents {
3
3
  message: (event: MessageEvent) => void;
4
4
  close: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"MessagePortRef.d.ts","sourceRoot":"","sources":["../src/MessagePortRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,aAAa,CAAC;IACjE,KAAK,IAAI,IAAI,CAAA;IACb,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAA;CACnB"}
1
+ {"version":3,"file":"MessagePortRef.d.ts","sourceRoot":"","sources":["../src/MessagePortRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,aAAa,CAAC;IACjE,KAAK,IAAI,IAAI,CAAA;IACb,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAC9D,OAAO,IAAI,OAAO,CAAA;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"StrongMessagePortRef.d.ts","sourceRoot":"","sources":["../src/StrongMessagePortRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEnE,qBAAa,oBACX,SAAQ,YAAY,CAAC,aAAa,CAClC,YAAW,cAAc;IAEb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAQrC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAIzD,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"StrongMessagePortRef.d.ts","sourceRoot":"","sources":["../src/StrongMessagePortRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEnE,qBAAa,oBACX,SAAQ,YAAY,CAAC,aAAa,CAClC,YAAW,cAAc;IAEb,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,WAAW;IAQrC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAIzD,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,OAAO;CAInB"}
@@ -15,6 +15,7 @@ export class StrongMessagePortRef extends EventEmitter {
15
15
  this.port.start();
16
16
  }
17
17
  isAlive() {
18
+ /* c8 ignore next */
18
19
  return true;
19
20
  }
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WeakMessagePortRef.d.ts","sourceRoot":"","sources":["../src/WeakMessagePortRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEnE,qBAAa,kBACX,SAAQ,YAAY,CAAC,aAAa,CAClC,YAAW,cAAc;IAEzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAQ;gBAElB,IAAI,EAAE,WAAW;IAU7B,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAezD,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,WAAW;IAOnB,OAAO,IAAI,OAAO;CAYnB"}
1
+ {"version":3,"file":"WeakMessagePortRef.d.ts","sourceRoot":"","sources":["../src/WeakMessagePortRef.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEnE,qBAAa,kBACX,SAAQ,YAAY,CAAC,aAAa,CAClC,YAAW,cAAc;IAEzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAQ;gBAElB,IAAI,EAAE,WAAW;IAU7B,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI;IAezD,KAAK,IAAI,IAAI;IAeb,OAAO,CAAC,WAAW;IAOnB,OAAO,IAAI,OAAO;CAYnB"}
@@ -1,3 +1,4 @@
1
+ /* c8 ignore start */
1
2
  import { EventEmitter } from "eventemitter3";
2
3
  export class WeakMessagePortRef extends EventEmitter {
3
4
  weakRef;
@@ -52,3 +53,4 @@ export class WeakMessagePortRef extends EventEmitter {
52
53
  return true;
53
54
  }
54
55
  }
56
+ /* c8 ignore end */
package/dist/index.d.ts CHANGED
@@ -13,7 +13,7 @@ export declare class MessageChannelNetworkAdapter extends NetworkAdapter {
13
13
  /** @hidden */
14
14
  messagePortRef: MessagePortRef;
15
15
  constructor(messagePort: MessagePort, config?: MessageChannelNetworkAdapterConfig);
16
- connect(peerId: PeerId, peerMetadata: PeerMetadata): void;
16
+ connect(peerId: PeerId, peerMetadata?: PeerMetadata): void;
17
17
  send(message: RepoMessage): void;
18
18
  announceConnection(peerId: PeerId, peerMetadata: PeerMetadata): void;
19
19
  disconnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,KAAK,WAAW,EAChB,cAAc,EACd,KAAK,MAAM,EAGX,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOpD,qBAAa,4BAA6B,SAAQ,cAAc;;IAC9D,QAAQ,KAAK;IACb,cAAc;IACd,cAAc,EAAE,cAAc,CAAA;gBAI5B,WAAW,EAAE,WAAW,EACxB,MAAM,GAAE,kCAAuC;IAWjD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAwElD,IAAI,CAAC,OAAO,EAAE,WAAW;IAmBzB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAQ7D,UAAU;CAIX;AAED,MAAM,WAAW,kCAAkC;IACjD;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,KAAK,WAAW,EAChB,cAAc,EACd,KAAK,MAAM,EAEX,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAOpD,qBAAa,4BAA6B,SAAQ,cAAc;;IAC9D,QAAQ,KAAK;IACb,cAAc;IACd,cAAc,EAAE,cAAc,CAAA;gBAI5B,WAAW,EAAE,WAAW,EACxB,MAAM,GAAE,kCAAuC;IAWjD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY;IAyEnD,IAAI,CAAC,OAAO,EAAE,WAAW;IAmBzB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAQ7D,UAAU;CAIX;AAED,MAAM,WAAW,kCAAkC;IACjD;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
28
28
  this.peerMetadata = peerMetadata;
29
29
  this.messagePortRef.start();
30
30
  this.messagePortRef.addListener("message", (e) => {
31
- log("message port received", e.data);
31
+ log("message port received %o", e.data);
32
32
  const message = e.data;
33
33
  if ("targetId" in message && message.targetId !== this.peerId) {
34
34
  throw new Error("MessagePortNetwork should never receive messages for a different peer.");
@@ -39,10 +39,10 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
39
39
  {
40
40
  const { peerMetadata } = message;
41
41
  this.messagePortRef.postMessage({
42
+ type: "welcome",
42
43
  senderId: this.peerId,
43
44
  peerMetadata: this.peerMetadata,
44
45
  targetId: senderId,
45
- type: "welcome",
46
46
  });
47
47
  this.announceConnection(senderId, peerMetadata);
48
48
  }
@@ -60,7 +60,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
60
60
  else {
61
61
  this.emit("message", {
62
62
  ...message,
63
- data: new Uint8Array(message.data),
63
+ data: message.data ? new Uint8Array(message.data) : undefined,
64
64
  });
65
65
  }
66
66
  break;
@@ -72,6 +72,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
72
72
  this.messagePortRef.postMessage({
73
73
  senderId: this.peerId,
74
74
  type: "arrive",
75
+ peerMetadata,
75
76
  });
76
77
  // Mark this messagechannel as ready after 50 ms, at this point there
77
78
  // must be something weird going on on the other end to cause us to receive
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automerge/automerge-repo-network-messagechannel",
3
- "version": "1.1.0-alpha.7",
3
+ "version": "1.1.1",
4
4
  "description": "MessageChannel network adapter for Automerge Repo",
5
5
  "repository": "https://github.com/automerge/automerge-repo/tree/master/packages/automerge-repo-network-messagechannel",
6
6
  "author": "Peter van Hardenberg <pvh@pvh.ca>",
@@ -13,7 +13,9 @@
13
13
  "test": "vitest"
14
14
  },
15
15
  "dependencies": {
16
- "@automerge/automerge-repo": "^1.1.0-alpha.7"
16
+ "@automerge/automerge-repo": "1.1.1",
17
+ "debug": "^4.3.4",
18
+ "eventemitter3": "^5.0.1"
17
19
  },
18
20
  "watch": {
19
21
  "build": {
@@ -26,5 +28,5 @@
26
28
  "publishConfig": {
27
29
  "access": "public"
28
30
  },
29
- "gitHead": "9a4711e39c93273d992c5686257246ddfaaafddd"
31
+ "gitHead": "7e0681014b8c5f672e2abc2a653a954ccb6d7aba"
30
32
  }
@@ -1,4 +1,4 @@
1
- import type { EventEmitter } from "eventemitter3"
1
+ import { EventEmitter } from "eventemitter3"
2
2
 
3
3
  export interface PortRefEvents {
4
4
  message: (event: MessageEvent) => void
@@ -22,6 +22,7 @@ export class StrongMessagePortRef
22
22
  }
23
23
 
24
24
  isAlive(): boolean {
25
+ /* c8 ignore next */
25
26
  return true
26
27
  }
27
28
  }
@@ -1,3 +1,4 @@
1
+ /* c8 ignore start */
1
2
  import { EventEmitter } from "eventemitter3"
2
3
  import { PortRefEvents, MessagePortRef } from "./MessagePortRef.js"
3
4
 
@@ -68,3 +69,5 @@ export class WeakMessagePortRef
68
69
  return true
69
70
  }
70
71
  }
72
+
73
+ /* c8 ignore end */
package/src/index.ts CHANGED
@@ -10,7 +10,6 @@ import {
10
10
  NetworkAdapter,
11
11
  type PeerId,
12
12
  type Message,
13
- type StorageId,
14
13
  PeerMetadata,
15
14
  } from "@automerge/automerge-repo"
16
15
  import { MessagePortRef } from "./MessagePortRef.js"
@@ -39,7 +38,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
39
38
  : new StrongMessagePortRef(messagePort)
40
39
  }
41
40
 
42
- connect(peerId: PeerId, peerMetadata: PeerMetadata) {
41
+ connect(peerId: PeerId, peerMetadata?: PeerMetadata) {
43
42
  log("messageport connecting")
44
43
  this.peerId = peerId
45
44
  this.peerMetadata = peerMetadata
@@ -47,7 +46,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
47
46
  this.messagePortRef.addListener(
48
47
  "message",
49
48
  (e: { data: MessageChannelMessage }) => {
50
- log("message port received", e.data)
49
+ log("message port received %o", e.data)
51
50
 
52
51
  const message = e.data
53
52
  if ("targetId" in message && message.targetId !== this.peerId) {
@@ -61,19 +60,19 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
61
60
  switch (type) {
62
61
  case "arrive":
63
62
  {
64
- const { peerMetadata } = message
63
+ const { peerMetadata } = message as ArriveMessage
65
64
  this.messagePortRef.postMessage({
65
+ type: "welcome",
66
66
  senderId: this.peerId,
67
67
  peerMetadata: this.peerMetadata,
68
68
  targetId: senderId,
69
- type: "welcome",
70
69
  })
71
70
  this.announceConnection(senderId, peerMetadata)
72
71
  }
73
72
  break
74
73
  case "welcome":
75
74
  {
76
- const { peerMetadata } = message
75
+ const { peerMetadata } = message as WelcomeMessage
77
76
  this.announceConnection(senderId, peerMetadata)
78
77
  }
79
78
  break
@@ -83,7 +82,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
83
82
  } else {
84
83
  this.emit("message", {
85
84
  ...message,
86
- data: new Uint8Array(message.data),
85
+ data: message.data ? new Uint8Array(message.data) : undefined,
87
86
  })
88
87
  }
89
88
  break
@@ -98,6 +97,7 @@ export class MessageChannelNetworkAdapter extends NetworkAdapter {
98
97
  this.messagePortRef.postMessage({
99
98
  senderId: this.peerId,
100
99
  type: "arrive",
100
+ peerMetadata,
101
101
  })
102
102
 
103
103
  // Mark this messagechannel as ready after 50 ms, at this point there
package/tsconfig.json CHANGED
@@ -9,7 +9,7 @@
9
9
  "outDir": "./dist",
10
10
  "esModuleInterop": true,
11
11
  "forceConsistentCasingInFileNames": true,
12
- "strict": false,
12
+ "strict": true,
13
13
  "skipLibCheck": true
14
14
  },
15
15
  "include": ["src/**/*.ts"]