@luxonis/visualizer-protobuf 2.2.0 → 2.3.0

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.
Files changed (116) hide show
  1. package/dist/{communicator-DKKKAI0H.js → FoxgloveServer-tJZcJH5-.js} +1216 -174
  2. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.d.ts.map +1 -1
  3. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js +9 -10
  4. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js.map +1 -1
  5. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts +4 -7
  6. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts.map +1 -1
  7. package/dist/apps/depthai-visualizer/src/connection/adapter.js +5 -5
  8. package/dist/apps/depthai-visualizer/src/connection/adapter.js.map +1 -1
  9. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts +7 -13
  10. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts.map +1 -1
  11. package/dist/apps/depthai-visualizer/src/connection/communicator.js +5 -4
  12. package/dist/apps/depthai-visualizer/src/connection/communicator.js.map +1 -1
  13. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts +8 -13
  14. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts.map +1 -1
  15. package/dist/apps/depthai-visualizer/src/connection/connection.js +19 -22
  16. package/dist/apps/depthai-visualizer/src/connection/connection.js.map +1 -1
  17. package/dist/apps/depthai-visualizer/src/connection/foxglove-protocol.d.ts +6 -0
  18. package/dist/apps/depthai-visualizer/src/connection/foxglove-protocol.d.ts.map +1 -0
  19. package/dist/apps/depthai-visualizer/src/connection/foxglove-protocol.js +63 -0
  20. package/dist/apps/depthai-visualizer/src/connection/foxglove-protocol.js.map +1 -0
  21. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.d.ts +2 -2
  22. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.d.ts.map +1 -1
  23. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js +29 -49
  24. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js.map +1 -1
  25. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts +20 -20
  26. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts.map +1 -1
  27. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js +34 -35
  28. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js.map +1 -1
  29. package/dist/apps/depthai-visualizer/src/connection/ws/worker.d.ts +16 -1
  30. package/dist/apps/depthai-visualizer/src/connection/ws/worker.d.ts.map +1 -1
  31. package/dist/apps/depthai-visualizer/src/connection/ws/worker.js +114 -2
  32. package/dist/apps/depthai-visualizer/src/connection/ws/worker.js.map +1 -1
  33. package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.d.ts +1 -1
  34. package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.d.ts.map +1 -1
  35. package/dist/apps/depthai-visualizer/src/index.d.ts +1 -2
  36. package/dist/apps/depthai-visualizer/src/index.d.ts.map +1 -1
  37. package/dist/apps/depthai-visualizer/src/index.js +0 -1
  38. package/dist/apps/depthai-visualizer/src/index.js.map +1 -1
  39. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.js +2 -2
  40. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.js.map +1 -1
  41. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.d.ts.map +1 -1
  42. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.js.map +1 -1
  43. package/dist/apps/depthai-visualizer/src/messaging/deserialization.js +5 -5
  44. package/dist/apps/depthai-visualizer/src/messaging/deserialization.js.map +1 -1
  45. package/dist/apps/depthai-visualizer/src/messaging/utils.d.ts +7 -6
  46. package/dist/apps/depthai-visualizer/src/messaging/utils.d.ts.map +1 -1
  47. package/dist/apps/depthai-visualizer/src/messaging/utils.js +2 -2
  48. package/dist/apps/depthai-visualizer/src/messaging/utils.js.map +1 -1
  49. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.d.ts.map +1 -1
  50. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.js +3 -0
  51. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.js.map +1 -1
  52. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.d.ts.map +1 -1
  53. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.js +3 -0
  54. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  55. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.d.ts.map +1 -1
  56. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.js +3 -0
  57. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.js.map +1 -1
  58. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.d.ts.map +1 -1
  59. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.js +3 -0
  60. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.js.map +1 -1
  61. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.d.ts.map +1 -1
  62. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.js +3 -0
  63. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.js.map +1 -1
  64. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.d.ts.map +1 -1
  65. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.js +3 -0
  66. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  67. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.d.ts.map +1 -1
  68. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.js +3 -0
  69. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.js.map +1 -1
  70. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts +6 -6
  71. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts.map +1 -1
  72. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js +10 -7
  73. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js.map +1 -1
  74. package/dist/apps/depthai-visualizer/src/utils/callback-manager.d.ts +1 -1
  75. package/dist/apps/depthai-visualizer/src/utils/callback-manager.d.ts.map +1 -1
  76. package/dist/apps/depthai-visualizer/src/utils/callback-manager.js +5 -5
  77. package/dist/apps/depthai-visualizer/src/utils/callback-manager.js.map +1 -1
  78. package/dist/apps/depthai-visualizer/src/utils/compatibility.d.ts.map +1 -1
  79. package/dist/apps/depthai-visualizer/src/utils/metrics-manager.d.ts.map +1 -1
  80. package/dist/apps/depthai-visualizer/src/utils/metrics-manager.js +1 -0
  81. package/dist/apps/depthai-visualizer/src/utils/metrics-manager.js.map +1 -1
  82. package/dist/communicator-D9LSiWws.js +147 -0
  83. package/dist/foxglove-protocol-RBwoTi12.js +76 -0
  84. package/dist/{index-DbIgJEn4.js → index-BatOjqHR.js} +4 -5
  85. package/dist/{index-BZjzIIuE.js → index-BeMujwTx.js} +4 -5
  86. package/dist/{index-CE1LH59a.js → index-Bmv-vCsr.js} +4 -5
  87. package/dist/{index-Dai0K-_7.js → index-Bpb1nLXX.js} +4 -5
  88. package/dist/{index-FdS8KlrP.js → index-C38MwKQ5.js} +4 -5
  89. package/dist/{index-BsdqQ862.js → index-C4Xw5gJf.js} +4 -5
  90. package/dist/{index-C6m30paN.js → index-CCjTYhIj.js} +4 -5
  91. package/dist/{index-D0g7yNKD.js → index-CRzS8jhh.js} +4 -5
  92. package/dist/{index-MOg_zBJW.js → index-CTV8k4Ur.js} +4 -5
  93. package/dist/{index-Cqzhj8jS.js → index-Cjzn2Mk3.js} +4 -5
  94. package/dist/{index-SZgAiOi4.js → index-CzJG5yoW.js} +4 -5
  95. package/dist/{index-Cmp_Tjng.js → index-D2tE4ai8.js} +5 -6
  96. package/dist/{index-DleEaqya.js → index-D8PL1mUz.js} +4 -5
  97. package/dist/{index-B3F-eA-i.js → index-Dx5rKk7S.js} +115 -126
  98. package/dist/{index-DkDTcHOl.js → index-JdSlhtdz.js} +4 -5
  99. package/dist/{index-D_AhdZqi.js → index-LBWmbzab.js} +4 -5
  100. package/dist/{index-D7I7neMi.js → index-fDKFJqYA.js} +4 -5
  101. package/dist/{index-1yvlF6NH.js → index-kO40p_fI.js} +4 -5
  102. package/dist/{index-B4j3EVf8.js → index-lcxcWrBB.js} +4 -5
  103. package/dist/index.js +4 -5
  104. package/dist/{worker-CMZIJlQN.js → worker-BX0SIDt0.js} +24 -20
  105. package/dist/worker-C6ruK-iB.js +150 -0
  106. package/package.json +1 -1
  107. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.d.ts +0 -19
  108. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.d.ts.map +0 -1
  109. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js +0 -128
  110. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js.map +0 -1
  111. package/dist/apps/depthai-visualizer/src/panels/CanvasPanel.d.ts +0 -12
  112. package/dist/apps/depthai-visualizer/src/panels/CanvasPanel.d.ts.map +0 -1
  113. package/dist/apps/depthai-visualizer/src/panels/CanvasPanel.js +0 -52
  114. package/dist/apps/depthai-visualizer/src/panels/CanvasPanel.js.map +0 -1
  115. package/dist/worker-DtDgSl3T.js +0 -11
  116. package/dist/worker-utils-BuUq1bP1.js +0 -1357
@@ -2,7 +2,9 @@
2
2
  // License, v2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
4
4
  import { WebRtcClient, } from "@luxonis/remote-connection";
5
+ import { BinaryOpcode } from '@foxglove/ws-protocol';
5
6
  import { ArtificialWorker } from "../../utils/artificial-worker.js";
7
+ import { parseFoxgloveMessage } from "../foxglove-protocol.js";
6
8
  const MESSAGE_CHANNEL_NAME = "message";
7
9
  const SYSTEM_CHANNEL_NAME = "system";
8
10
  export class WebRtcBridge extends ArtificialWorker {
@@ -21,7 +23,7 @@ export class WebRtcBridge extends ArtificialWorker {
21
23
  this.#worker.terminate();
22
24
  }
23
25
  #setupArtificialWorker() {
24
- this.selfAddEventListener("message", (event) => {
26
+ this.addEventListenerFromMain("message", (event) => {
25
27
  switch (event.data.type) {
26
28
  case "open": {
27
29
  if ("config" in event.data.data) {
@@ -37,15 +39,6 @@ export class WebRtcBridge extends ArtificialWorker {
37
39
  this.terminate();
38
40
  break;
39
41
  }
40
- case "send": {
41
- this.#worker.postMessage({
42
- kind: "rawSend",
43
- data: {
44
- message: event.data.data,
45
- },
46
- });
47
- break;
48
- }
49
42
  case "call_service": {
50
43
  this.#worker.postMessage({
51
44
  kind: "serviceCall",
@@ -72,7 +65,7 @@ export class WebRtcBridge extends ArtificialWorker {
72
65
  this.#handleMessages();
73
66
  }
74
67
  #handleWebRtc(client) {
75
- client.on("error", (error) => console.error("WebRtc Client Failed", error));
68
+ client.on("error", (error) => { console.error("WebRtc Client Failed", error); });
76
69
  client.on("connection_established", (connection) => {
77
70
  connection.on("data_channel", (channel) => {
78
71
  channel.on("close", () => {
@@ -89,43 +82,32 @@ export class WebRtcBridge extends ArtificialWorker {
89
82
  ready: false,
90
83
  },
91
84
  });
92
- this.selfPostMessage({
93
- type: "close",
94
- });
85
+ this.postMessageToMain({ type: "close", });
95
86
  });
96
87
  if (channel.label === MESSAGE_CHANNEL_NAME) {
97
88
  this.#messageChannel = channel;
98
89
  channel.on("message:binary", async (view) => {
99
- const operation = view.getUint8(0);
100
- const action = operation === 0x01
101
- ? "message"
102
- : operation === 0x03
103
- ? "service_response"
104
- : "other";
105
- if (action === "message") {
106
- const subscriptionId = view.getUint32(1);
107
- const payload = new DataView(view.buffer, view.byteOffset + 1 + 4 + 8);
90
+ const message = parseFoxgloveMessage(view);
91
+ if (!message) {
92
+ return;
93
+ }
94
+ if (message.op === BinaryOpcode.MESSAGE_DATA) {
108
95
  this.#worker.postMessage({
109
96
  kind: "genericMessage",
110
- data: {
111
- message: { subscriptionId, data: payload },
112
- },
113
- }, [payload.buffer]);
97
+ data: { message },
98
+ }, [message.data.buffer]);
114
99
  }
115
100
  else {
116
- const callId = view.getUint32(1 + 4); // op-code + service-id
117
- const encodingLength = view.getUint32(1 + 4 + 4); // op-code + service-id + call-id
118
- const payload = new DataView(view.buffer, view.byteOffset + 1 + 4 + 4 + 4 + encodingLength); // op-code + service-id + call-id + encoding-length
119
101
  this.#worker.postMessage({
120
102
  kind: "systemMessage",
121
103
  data: {
122
104
  message: {
123
105
  op: "serviceResponse",
124
- callId,
125
- data: payload,
106
+ callId: message.callId,
107
+ data: message.data,
126
108
  },
127
109
  },
128
- }, [payload.buffer]);
110
+ }, [message.data.buffer]);
129
111
  }
130
112
  });
131
113
  }
@@ -138,20 +120,20 @@ export class WebRtcBridge extends ArtificialWorker {
138
120
  });
139
121
  });
140
122
  }
141
- this.#worker.postMessage({
142
- kind: "connection",
143
- data: {
144
- channel: channel.label === MESSAGE_CHANNEL_NAME
145
- ? "message"
146
- : "system",
147
- ready: true,
148
- },
149
- });
123
+ if (channel.label === MESSAGE_CHANNEL_NAME || channel.label === SYSTEM_CHANNEL_NAME) {
124
+ this.#worker.postMessage({
125
+ kind: "connection",
126
+ data: {
127
+ channel: channel.label === MESSAGE_CHANNEL_NAME
128
+ ? "message"
129
+ : "system",
130
+ ready: true,
131
+ },
132
+ });
133
+ }
150
134
  if (this.#systemChannel?.raw.readyState === "open" &&
151
135
  this.#messageChannel?.raw.readyState === "open") {
152
- this.selfPostMessage({
153
- type: "open",
154
- });
136
+ this.postMessageToMain({ type: "open", });
155
137
  }
156
138
  });
157
139
  connection.on("connection_closed", () => {
@@ -159,9 +141,7 @@ export class WebRtcBridge extends ArtificialWorker {
159
141
  kind: "connection",
160
142
  data: { channel: null, ready: false },
161
143
  });
162
- this.selfPostMessage({
163
- type: "close",
164
- });
144
+ this.postMessageToMain({ type: "close", });
165
145
  });
166
146
  });
167
147
  }
@@ -178,7 +158,7 @@ export class WebRtcBridge extends ArtificialWorker {
178
158
  break;
179
159
  }
180
160
  default: {
181
- this.selfPostMessage(event.data);
161
+ this.postMessageToMain(event.data);
182
162
  }
183
163
  }
184
164
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import type { Advertise, Unadvertise, AdvertiseServices, UnadvertiseServices, ServiceCallPayload } from "@foxglove/ws-protocol";
2
- import { FoxgloveAdapterOutputMessage, FoxgloveCommunicator } from "../communicator";
1
+ import type { Advertise, AdvertiseServices, ServiceCallPayload, Unadvertise, UnadvertiseServices } from "@foxglove/ws-protocol";
2
+ import { FoxgloveCommunicator, WorkerOutputMessage } from "../communicator";
3
3
  type GenericMessage = {
4
4
  subscriptionId: number;
5
5
  data: DataView;
6
6
  };
7
7
  export type SystemMessage = Advertise | Unadvertise | AdvertiseServices | UnadvertiseServices | {
8
- op: 'serviceResponse';
8
+ op: "serviceResponse";
9
9
  callId: number;
10
10
  data: DataView;
11
11
  };
@@ -15,43 +15,43 @@ type ServiceCallMessage = {
15
15
  body?: Record<string, any>;
16
16
  };
17
17
  export type WebRtcWorkerInputMessage = {
18
- kind: 'genericMessage';
18
+ kind: "genericMessage";
19
19
  data: {
20
20
  message: GenericMessage;
21
21
  };
22
22
  } | {
23
- kind: 'systemMessage';
23
+ kind: "systemMessage";
24
24
  data: {
25
25
  message: SystemMessage;
26
26
  };
27
27
  } | {
28
- kind: 'connection';
28
+ kind: "connection";
29
29
  data: {
30
- channel: 'message' | 'system' | null;
30
+ channel: "message" | "system" | null;
31
31
  ready: boolean;
32
32
  };
33
33
  } | {
34
- kind: 'serviceCall';
34
+ kind: "serviceCall";
35
35
  data: {
36
36
  message: ServiceCallMessage;
37
37
  };
38
38
  } | {
39
- kind: 'rawSend';
39
+ kind: "rawSend";
40
40
  data: {
41
41
  message: {
42
- channel: 'system' | 'message';
42
+ channel: "system" | "message";
43
43
  message: string | DataView;
44
44
  };
45
45
  };
46
46
  } | {
47
- kind: 'subscribe';
47
+ kind: "subscribe";
48
48
  data: {
49
49
  message: {
50
50
  topics: string[];
51
51
  };
52
52
  };
53
53
  } | {
54
- kind: 'unsubscribe';
54
+ kind: "unsubscribe";
55
55
  data: {
56
56
  message: {
57
57
  topics: string[];
@@ -59,24 +59,24 @@ export type WebRtcWorkerInputMessage = {
59
59
  };
60
60
  };
61
61
  export type WebRtcWorkerOutputMessage = {
62
- type: 'send';
62
+ type: "send";
63
63
  data: {
64
- channel: 'message' | 'system';
64
+ channel: "message" | "system";
65
65
  data: string | DataView;
66
66
  };
67
67
  };
68
68
  export declare class WebRtcHandler extends FoxgloveCommunicator {
69
69
  #private;
70
70
  protected isReady(): boolean;
71
- send(message: FoxgloveAdapterOutputMessage): void;
72
- sendWithTransfer(message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]): void;
71
+ send(message: WorkerOutputMessage): void;
72
+ sendWithTransfer(message: WorkerOutputMessage, transfer: ArrayBuffer[]): void;
73
73
  subscribe(topics: string[]): void;
74
74
  unsubscribe(topics: string[]): void;
75
- sendServiceCallRequest(request: ServiceCallPayload): void;
76
- handleRawSend(data: WebRtcWorkerOutputMessage['data']): void;
75
+ sendServiceCallRequest(args: ServiceCallPayload): void;
76
+ handleRawSend(data: WebRtcWorkerOutputMessage["data"]): void;
77
77
  handleConnection(data: (WebRtcWorkerInputMessage & {
78
- kind: 'connection';
79
- })['data']): void;
78
+ kind: "connection";
79
+ })["data"]): void;
80
80
  handleGeneric(message: GenericMessage): void;
81
81
  handleServiceCall(message: ServiceCallMessage): void;
82
82
  handleSystem(message: SystemMessage): void;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@
2
2
  // License, v2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
4
4
  import { recordToDataView } from "../../utils/encoding";
5
- import { FoxgloveCommunicator } from "../communicator";
5
+ import { FoxgloveCommunicator, } from "../communicator";
6
+ import { makeServiceCallRequest } from "../foxglove-protocol";
6
7
  export class WebRtcHandler extends FoxgloveCommunicator {
7
8
  #subscriptionId = 0;
8
9
  #messageReady = false;
@@ -18,75 +19,73 @@ export class WebRtcHandler extends FoxgloveCommunicator {
18
19
  self.postMessage(message, transfer);
19
20
  }
20
21
  #rawSubscribe(channelIds) {
21
- const subscriptions = channelIds.map(channelId => ({
22
+ const subscriptions = channelIds.map((channelId) => ({
22
23
  id: ++this.#subscriptionId,
23
- channelId
24
+ channelId,
24
25
  }));
25
26
  self.postMessage({
26
- type: 'send',
27
+ type: "send",
27
28
  data: {
28
- channel: 'system',
29
+ channel: "system",
29
30
  data: recordToDataView({
30
- op: 'subscribe',
31
- subscriptions
32
- })
33
- }
31
+ op: "subscribe",
32
+ subscriptions,
33
+ }),
34
+ },
34
35
  });
35
36
  return subscriptions;
36
37
  }
37
38
  subscribe(topics) {
38
- const channelIds = this.getPublicChannels().filter(publicChannel => topics.includes(publicChannel.topic)).map(channel => channel.id);
39
+ const channelIds = this.getPublicChannels().filter((publicChannel) => topics.includes(publicChannel.topic)).map((channel) => channel.id);
39
40
  const subscriptions = this.#rawSubscribe(channelIds);
40
41
  for (const subscription of subscriptions) {
41
- const channel = this.getPublicChannels().find(publicChannel => publicChannel.id === subscription.channelId);
42
+ const channel = this.getPublicChannels().find((publicChannel) => publicChannel.id === subscription.channelId);
42
43
  if (channel) {
43
44
  this.#subscriptions.set(subscription.id, {
44
45
  topic: channel.topic,
45
46
  schema: channel.schemaName,
46
- kind: channel.kind
47
+ kind: channel.kind,
47
48
  });
48
49
  }
49
50
  }
50
51
  }
51
52
  #rawUnsubscribe(subscriptionIds) {
52
53
  self.postMessage({
53
- type: 'send',
54
+ type: "send",
54
55
  data: {
55
- channel: 'system',
56
+ channel: "system",
56
57
  data: recordToDataView({
57
- op: 'unsubscribe',
58
- subscriptionIds
59
- })
60
- }
58
+ op: "unsubscribe",
59
+ subscriptionIds,
60
+ }),
61
+ },
61
62
  });
62
63
  }
63
64
  unsubscribe(topics) {
64
- const subscriptionIds = [...this.#subscriptions.entries()].filter(([_id, data]) => topics.includes(data.topic)).map(subscription => subscription[0]);
65
+ const subscriptionIds = [...this.#subscriptions.entries()].filter(([_id, data]) => topics.includes(data.topic)).map((subscription) => subscription[0]);
65
66
  this.#rawUnsubscribe(subscriptionIds);
66
67
  for (const subscriptionId of subscriptionIds) {
67
68
  this.#subscriptions.delete(subscriptionId);
68
69
  }
69
70
  }
70
- sendServiceCallRequest(request) {
71
+ sendServiceCallRequest(args) {
72
+ const data = makeServiceCallRequest(args);
71
73
  self.postMessage({
72
- type: 'send',
73
- data: {
74
- channel: 'message',
75
- data: recordToDataView(request)
76
- }
77
- });
74
+ type: "send",
75
+ data: { channel: "message", data },
76
+ }, [data.buffer]);
78
77
  }
79
78
  handleRawSend(data) {
80
79
  self.postMessage({
81
- type: 'send',
82
- data
80
+ type: "send",
81
+ data,
83
82
  });
84
83
  }
85
84
  handleConnection(data) {
86
- if (!data.channel || data.channel === 'message') {
85
+ if (!data.channel || data.channel === "message") {
87
86
  this.#messageReady = data.ready;
88
87
  }
89
- if (!data.channel || data.channel === 'system') {
88
+ if (!data.channel || data.channel === "system") {
90
89
  this.#systemReady = data.ready;
91
90
  }
92
91
  }
@@ -101,23 +100,23 @@ export class WebRtcHandler extends FoxgloveCommunicator {
101
100
  }
102
101
  handleSystem(message) {
103
102
  switch (message.op) {
104
- case 'advertise': {
103
+ case "advertise": {
105
104
  this.handleChannelsAdvertisement(message.channels);
106
105
  break;
107
106
  }
108
- case 'unadvertise': {
107
+ case "unadvertise": {
109
108
  this.handleChannelsUnadvertisement(message.channelIds);
110
109
  break;
111
110
  }
112
- case 'advertiseServices': {
111
+ case "advertiseServices": {
113
112
  this.handleServicesAdvertisement(message.services);
114
113
  break;
115
114
  }
116
- case 'unadvertiseServices': {
115
+ case "unadvertiseServices": {
117
116
  this.handleServicesUnadvertisement(message.serviceIds);
118
117
  break;
119
118
  }
120
- case 'serviceResponse': {
119
+ case "serviceResponse": {
121
120
  this.handleServiceResponse(message);
122
121
  break;
123
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-utils.js","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-utils.js","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,17 @@
1
- export {};
1
+ import { ServiceCallPayload } from "@foxglove/ws-protocol";
2
+ import { FoxgloveCommunicator, WorkerInputMessage, WorkerOutputMessage } from "../communicator.js";
3
+ export declare class WsWorker extends FoxgloveCommunicator {
4
+ #private;
5
+ protected send(message: WorkerOutputMessage): void;
6
+ protected sendWithTransfer(message: WorkerOutputMessage, transfer: ArrayBuffer[]): void;
7
+ protected sendServiceCallRequest(request: ServiceCallPayload): void;
8
+ protected isReady(): boolean;
9
+ constructor(wsUrl: string);
10
+ subscribe(topics: string[]): void;
11
+ unsubscribe(topics: string[]): void;
12
+ callService(args: (WorkerInputMessage & {
13
+ type: "call_service";
14
+ })["data"]): void;
15
+ close(): void;
16
+ }
2
17
  //# sourceMappingURL=worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/ws/worker.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/ws/worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAmB,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpH,qBAAa,QAAS,SAAQ,oBAAoB;;IAKhD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAClD,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;cAuCpE,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;cAIzD,OAAO,IAAI,OAAO;gBAIlB,KAAK,EAAE,MAAM;IAkBzB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAYjC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAQ1B,WAAW,CAAC,IAAI,EAAE,CAAC,kBAAkB,GAAG;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;IAIzF,KAAK,IAAI,IAAI;CACrB"}
@@ -1,6 +1,118 @@
1
1
  // This Source Code Form is subject to the terms of the Mozilla Public
2
2
  // License, v2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
4
- import { createWsWorkerMessageListener } from "./worker-utils.js";
5
- self.addEventListener("message", createWsWorkerMessageListener(self.postMessage.bind(self), self.postMessage.bind(self)));
4
+ import { Waterfall } from "hydrated-ws";
5
+ import { FoxgloveClient } from "@foxglove/ws-protocol";
6
+ import { FoxgloveCommunicator } from "../communicator.js";
7
+ export class WsWorker extends FoxgloveCommunicator {
8
+ #ws;
9
+ #client;
10
+ #subscriptions = new Map();
11
+ send(message) { self.postMessage(message); }
12
+ sendWithTransfer(message, transfer) { self.postMessage(message, transfer); }
13
+ #createWs(url, onReconnect) {
14
+ this.#ws = new Waterfall(url, FoxgloveClient.SUPPORTED_SUBPROTOCOL, {
15
+ connectionTimeout: 2000,
16
+ retryPolicy: (_attempt) => {
17
+ onReconnect();
18
+ return 1_000;
19
+ },
20
+ factory: (wsUrl) => {
21
+ const rawWs = new WebSocket(wsUrl, FoxgloveClient.SUPPORTED_SUBPROTOCOL);
22
+ rawWs.binaryType = "arraybuffer";
23
+ return rawWs;
24
+ }
25
+ });
26
+ }
27
+ #createClient() {
28
+ this.#client = new FoxgloveClient({ ws: this.#ws });
29
+ this.#client.on("open", () => { this.send({ type: "open" }); });
30
+ this.#client.on("close", () => { this.send({ type: "close" }); });
31
+ this.#client.on("error", (error) => { this.send({ type: "error", error }); });
32
+ this.#client.on("message", ({ subscriptionId, data }) => {
33
+ const subscription = this.#subscriptions.get(subscriptionId);
34
+ if (subscription) {
35
+ this.handleGenericMessage(subscription.topic, subscription.schema, data);
36
+ }
37
+ });
38
+ }
39
+ #handleMessages() {
40
+ this.#client.on("advertise", this.handleChannelsAdvertisement.bind(this));
41
+ this.#client.on("unadvertise", this.handleChannelsUnadvertisement.bind(this));
42
+ this.#client.on("advertiseServices", this.handleServicesAdvertisement.bind(this));
43
+ this.#client.on("unadvertiseServices", this.handleServicesUnadvertisement.bind(this));
44
+ this.#client.on("serviceCallResponse", this.handleServiceResponse.bind(this));
45
+ }
46
+ sendServiceCallRequest(request) {
47
+ this.#client.sendServiceCallRequest(request);
48
+ }
49
+ isReady() {
50
+ return this.#ws.readyState === this.#ws.OPEN;
51
+ }
52
+ ;
53
+ constructor(wsUrl) {
54
+ super();
55
+ try {
56
+ this.#createWs(wsUrl, this.handleReconnect.bind(this));
57
+ this.#createClient();
58
+ this.#handleMessages();
59
+ }
60
+ catch (error) {
61
+ // try-catch is needed to catch `Mixed Content` errors in Chrome, where the client
62
+ // attempts to load `ws://` from `https://`. (Safari would catch these in `ws.onerror`
63
+ // but with `undefined` as an error.)
64
+ this.send({
65
+ type: "error",
66
+ error: error ?? { message: "Insecure WebSocket connection" }
67
+ });
68
+ }
69
+ }
70
+ subscribe(topics) {
71
+ const channels = this.getPublicChannels().filter(publicChannel => topics.includes(publicChannel.topic));
72
+ for (const channel of channels) {
73
+ const subscription = this.#client.subscribe(channel.id);
74
+ this.#subscriptions.set(subscription, {
75
+ topic: channel.topic,
76
+ schema: channel.schemaName,
77
+ kind: channel.kind
78
+ });
79
+ }
80
+ }
81
+ unsubscribe(topics) {
82
+ const subscriptionIds = [...this.#subscriptions.entries()].filter(([_id, data]) => topics.includes(data.topic)).map(subscription => subscription[0]);
83
+ for (const subscriptionId of subscriptionIds) {
84
+ this.#subscriptions.delete(subscriptionId);
85
+ this.#client.unsubscribe(subscriptionId);
86
+ }
87
+ }
88
+ callService(args) {
89
+ super.callService(args);
90
+ }
91
+ close() { this.#client.close(); }
92
+ }
93
+ let wsWorker = null;
94
+ self.addEventListener('message', async (event) => {
95
+ const { type, data } = event.data;
96
+ if (type !== 'open' && !wsWorker) {
97
+ console.warn(`WS Worker Error: Requested ${type} before open`);
98
+ return;
99
+ }
100
+ switch (type) {
101
+ case "open":
102
+ wsWorker = new WsWorker('wsUrl' in data ? data.wsUrl : '');
103
+ break;
104
+ case "close":
105
+ wsWorker.close();
106
+ break;
107
+ case "call_service":
108
+ wsWorker.callService(data);
109
+ break;
110
+ case 'subscribe':
111
+ wsWorker.subscribe(data);
112
+ break;
113
+ case 'unsubscribe':
114
+ wsWorker.unsubscribe(data);
115
+ break;
116
+ }
117
+ });
6
118
  //# sourceMappingURL=worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../../src/connection/ws/worker.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,6BAA6B,CAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B,CAAC,CAAA"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../../../src/connection/ws/worker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { VisualizerConnection } from "../connection/connection.js";
2
- export declare const ConnectionsProvider: import("react").Provider<VisualizerConnection<never>[]>;
2
+ export declare const ConnectionsProvider: import("react").Provider<VisualizerConnection[]>;
3
3
  export declare const useConnections: () => VisualizerConnection[];
4
4
  //# sourceMappingURL=ConnectionsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionsProvider.d.ts","sourceRoot":"","sources":["../../../../../src/context/ConnectionsProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,eAAO,MAAM,mBAAmB,yDAAmB,CAAC;AACpD,eAAO,MAAM,cAAc,QAAO,oBAAoB,EAA+B,CAAC"}
1
+ {"version":3,"file":"ConnectionsProvider.d.ts","sourceRoot":"","sources":["../../../../../src/context/ConnectionsProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,eAAO,MAAM,mBAAmB,kDAAmB,CAAC;AACpD,eAAO,MAAM,cAAc,QAAO,oBAAoB,EAA+B,CAAC"}