replicas-computer 0.2.1 → 0.2.3
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.
- package/dist/index.js +1 -1
- package/dist/stream-viewer.js +19 -3
- package/package.json +3 -2
package/dist/index.js
CHANGED
package/dist/stream-viewer.js
CHANGED
|
@@ -46,6 +46,14 @@ var fitScreen = () => {
|
|
|
46
46
|
var send = (message) => {
|
|
47
47
|
if (socket?.readyState === WebSocket.OPEN) socket.send(JSON.stringify(message));
|
|
48
48
|
};
|
|
49
|
+
var disconnect = () => {
|
|
50
|
+
clearTimeout(reconnectTimer);
|
|
51
|
+
reconnectTimer = void 0;
|
|
52
|
+
send({ type: "release" });
|
|
53
|
+
const previousSocket = socket;
|
|
54
|
+
socket = void 0;
|
|
55
|
+
previousSocket?.close();
|
|
56
|
+
};
|
|
49
57
|
var resetVideoTrack = () => {
|
|
50
58
|
void videoWriter?.close().catch(() => {
|
|
51
59
|
});
|
|
@@ -174,6 +182,7 @@ var handleBinary = (data) => {
|
|
|
174
182
|
}
|
|
175
183
|
};
|
|
176
184
|
var connect = () => {
|
|
185
|
+
if (document.visibilityState !== "visible") return;
|
|
177
186
|
clearTimeout(reconnectTimer);
|
|
178
187
|
socket?.close();
|
|
179
188
|
showStatus(reconnectAttempt ? "reconnecting\u2026" : "connecting\u2026");
|
|
@@ -181,9 +190,11 @@ var connect = () => {
|
|
|
181
190
|
nextSocket.binaryType = "arraybuffer";
|
|
182
191
|
socket = nextSocket;
|
|
183
192
|
nextSocket.addEventListener("open", () => {
|
|
193
|
+
if (socket !== nextSocket) return;
|
|
184
194
|
reconnectAttempt = 0;
|
|
185
195
|
});
|
|
186
196
|
nextSocket.addEventListener("message", (event) => {
|
|
197
|
+
if (socket !== nextSocket) return;
|
|
187
198
|
if (event.data instanceof ArrayBuffer) {
|
|
188
199
|
handleBinary(event.data);
|
|
189
200
|
return;
|
|
@@ -274,10 +285,15 @@ window.addEventListener("keyup", (event) => {
|
|
|
274
285
|
window.addEventListener("blur", () => send({ type: "release" }));
|
|
275
286
|
window.addEventListener("resize", fitScreen);
|
|
276
287
|
window.addEventListener("online", connect);
|
|
288
|
+
document.addEventListener("visibilitychange", () => {
|
|
289
|
+
if (document.visibilityState === "hidden") {
|
|
290
|
+
disconnect();
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
connect();
|
|
294
|
+
});
|
|
277
295
|
window.addEventListener("pagehide", () => {
|
|
278
|
-
|
|
279
|
-
send({ type: "release" });
|
|
280
|
-
socket?.close();
|
|
296
|
+
disconnect();
|
|
281
297
|
screen.cancelVideoFrameCallback(frameCallback);
|
|
282
298
|
videoDecoder?.close();
|
|
283
299
|
audioDecoder?.close();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "replicas-computer",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Replicas workspace computer-use runtime",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"assets"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
-
"build": "tsup",
|
|
15
|
+
"build": "bun run typecheck && tsup",
|
|
16
|
+
"typecheck": "tsc --noEmit",
|
|
16
17
|
"dev": "bun run src/index.ts",
|
|
17
18
|
"dev-pack": "bun run build && npm pack --pack-destination /tmp",
|
|
18
19
|
"prepublishOnly": "bun run build"
|