@supraio/client-daemon-js 0.0.1 → 1.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supraio/client-daemon-js",
3
- "version": "0.0.1",
3
+ "version": "1.0.0",
4
4
  "description": "",
5
5
  "main": "sdk.js",
6
6
  "types": "sdk.d.ts",
package/screen/plain.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ import type { StartOptions } from "../sdk";
1
2
  import { IScreenOptions } from "./options";
2
- export declare function startPlainScreen(options?: IScreenOptions): Promise<void>;
3
+ export declare function startPlainScreen(options?: StartOptions & IScreenOptions): Promise<void>;
@@ -1,3 +1,4 @@
1
+ import type { StartOptions } from "../sdk";
1
2
  import { IScreenOptions } from "./options";
2
- export declare function parseQueryOptions(): IScreenOptions;
3
+ export declare function parseQueryOptions(): StartOptions & IScreenOptions;
3
4
  export declare function getGoArgv(binFile: string, options: IScreenOptions): string[];
package/screen/wasm.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import '../go/go';
2
+ import type { StartOptions } from '../sdk';
2
3
  import { IScreenOptions } from './options';
3
- export declare function startWasmScreen(options?: IScreenOptions): Promise<void>;
4
+ export declare function startWasmScreen(options?: StartOptions & IScreenOptions): Promise<void>;
@@ -9,10 +9,11 @@ interface SupraFrameWorkerConnection {
9
9
  timestamp: number;
10
10
  length: number;
11
11
  data: ArrayBuffer;
12
+ firstPacketAt: number;
12
13
  }>;
13
14
  write(data: ArrayBuffer): Promise<number>;
14
15
  close(): Promise<void>;
15
16
  }
16
17
  /** Make it global accessible for netpacket/js_websocket.go */
17
- export declare function initWorkerFrameConnection(): void;
18
+ export declare function initWorkerFrameConnection(enabled: boolean): void;
18
19
  export {};
package/screen.html CHANGED
@@ -5,6 +5,6 @@
5
5
  <link rel="stylesheet" href="screen.css"></link>
6
6
  </head>
7
7
  <body>
8
- <script type="text/javascript" src="screen.js?v=0.0.1"></script>
8
+ <script type="text/javascript" src="screen.js?v=1.0.0"></script>
9
9
  </body>
10
10
  </html>
package/screen.js CHANGED
@@ -20651,8 +20651,17 @@ var frames = {};
20651
20651
  var closed = false;
20652
20652
  var GENERAL_HEADER_SIZE = 6;
20653
20653
  var FIRST_HEADER_SIZE = GENERAL_HEADER_SIZE + 9;
20654
- var MAX_PACKET_SIZE = 32768;
20655
- var DATA_PART_SIZE = MAX_PACKET_SIZE - GENERAL_HEADER_SIZE;
20654
+
20655
+ function now() {
20656
+ if (
20657
+ typeof performance !== 'undefined' &&
20658
+ typeof performance.timeOrigin === 'number' &&
20659
+ typeof performance.now === 'function'
20660
+ ) {
20661
+ return performance.timeOrigin + performance.now();
20662
+ }
20663
+ return Date.now();
20664
+ }
20656
20665
 
20657
20666
  function postError(id, error) {
20658
20667
  self.postMessage({ type: 'error', id: id, error: error && error.message ? error.message : String(error) });
@@ -20672,7 +20681,8 @@ function resolveFrame() {
20672
20681
  frameType: frame.frameType,
20673
20682
  timestamp: frame.timestamp,
20674
20683
  length: frame.length,
20675
- data: frame.data
20684
+ data: frame.data,
20685
+ firstPacketAt: frame.firstPacketAt
20676
20686
  }, [frame.data]);
20677
20687
  }
20678
20688
 
@@ -20699,11 +20709,12 @@ function handlePacket(buffer) {
20699
20709
  var item = frames[frameID];
20700
20710
  if (!item || seq === 0 || item.total !== total) {
20701
20711
  item = {
20702
- buffer: new Uint8Array(total * DATA_PART_SIZE),
20712
+ packets: new Array(total),
20703
20713
  frameType: 0,
20704
20714
  timestamp: 0,
20705
20715
  total: total,
20706
- received: 0
20716
+ received: 0,
20717
+ firstPacketAt: now()
20707
20718
  };
20708
20719
  frames[frameID] = item;
20709
20720
  if (seq === 0) {
@@ -20717,25 +20728,39 @@ function handlePacket(buffer) {
20717
20728
  }
20718
20729
  }
20719
20730
 
20720
- var dataStartsAt = seq * DATA_PART_SIZE;
20721
- if (seq > 0) {
20722
- dataStartsAt -= FIRST_HEADER_SIZE - GENERAL_HEADER_SIZE;
20731
+ if (total === 0 || seq >= total) {
20732
+ delete frames[frameID];
20733
+ return;
20723
20734
  }
20724
20735
  var packetData = new Uint8Array(buffer, headerSize);
20725
- item.buffer.set(packetData, dataStartsAt);
20726
- item.received++;
20736
+ if (!item.packets[seq]) {
20737
+ item.received++;
20738
+ }
20739
+ item.packets[seq] = packetData;
20727
20740
 
20728
20741
  if (seq + 1 === total) {
20729
20742
  delete frames[frameID];
20730
20743
  if (item.received !== item.total) {
20731
20744
  return;
20732
20745
  }
20733
- var dataEndsAt = dataStartsAt + length - headerSize;
20746
+ var dataLength = 0;
20747
+ var packetIndex;
20748
+ for (packetIndex = 0; packetIndex < item.packets.length; packetIndex++) {
20749
+ dataLength += item.packets[packetIndex].byteLength;
20750
+ }
20751
+ var frameBuffer = new Uint8Array(dataLength);
20752
+ var dataStartsAt = 0;
20753
+ for (packetIndex = 0; packetIndex < item.packets.length; packetIndex++) {
20754
+ var completedPacket = item.packets[packetIndex];
20755
+ frameBuffer.set(completedPacket, dataStartsAt);
20756
+ dataStartsAt += completedPacket.byteLength;
20757
+ }
20734
20758
  latestFrame = {
20735
20759
  frameType: item.frameType,
20736
20760
  timestamp: item.timestamp,
20737
- length: dataEndsAt,
20738
- data: item.buffer.buffer
20761
+ length: dataLength,
20762
+ data: frameBuffer.buffer,
20763
+ firstPacketAt: item.firstPacketAt
20739
20764
  };
20740
20765
  resolveFrame();
20741
20766
  }
@@ -20822,7 +20847,8 @@ self.onmessage = function(event) {
20822
20847
  frameType: message.frameType,
20823
20848
  timestamp: message.timestamp,
20824
20849
  length: message.length,
20825
- data: message.data
20850
+ data: message.data,
20851
+ firstPacketAt: message.firstPacketAt
20826
20852
  });
20827
20853
  }
20828
20854
  };
@@ -20848,8 +20874,9 @@ self.onmessage = function(event) {
20848
20874
  }
20849
20875
  };
20850
20876
  };
20851
- function initWorkerFrameConnection() {
20852
- if (typeof Worker !== "undefined") {
20877
+ function initWorkerFrameConnection(enabled) {
20878
+ delete window.createSupraFrameWorkerConnection;
20879
+ if (enabled && typeof Worker !== "undefined") {
20853
20880
  window.createSupraFrameWorkerConnection = createSupraFrameWorkerConnection;
20854
20881
  }
20855
20882
  }
@@ -20901,7 +20928,8 @@ self.onmessage = function(event) {
20901
20928
  clientID: params.clientID,
20902
20929
  clientSecret: params.clientSecret,
20903
20930
  secure: params.secure !== "false",
20904
- interactive: params.interactive === "true"
20931
+ interactive: params.interactive === "true",
20932
+ netInWorker: params.netInWorker === "true"
20905
20933
  };
20906
20934
  if (typeof params.forceScreenSize === "string") {
20907
20935
  const sizeParts = params.forceScreenSize.split("x");
@@ -20954,11 +20982,11 @@ self.onmessage = function(event) {
20954
20982
  }
20955
20983
 
20956
20984
  // screen/plain.ts
20957
- var SCREEN_JS_URL = "supra-client-screen.js?v=0.0.1";
20985
+ var SCREEN_JS_URL = "supra-client-screen.js?v=1.0.0";
20958
20986
  async function startPlainScreen(options) {
20959
20987
  options = options != null ? options : parseQueryOptions();
20960
20988
  initNaCLDecoder();
20961
- initWorkerFrameConnection();
20989
+ initWorkerFrameConnection(options.netInWorker === true);
20962
20990
  await initNaClTCP();
20963
20991
  await initSamsungWasmTCP();
20964
20992
  await initSamsungWasmDecoder(options);
@@ -20984,10 +21012,10 @@ self.onmessage = function(event) {
20984
21012
  }
20985
21013
 
20986
21014
  // screen/wasm.ts
20987
- var SCREEN_WASM_URL = "supra-client-screen.wasm?v=0.0.1";
21015
+ var SCREEN_WASM_URL = "supra-client-screen.wasm?v=1.0.0";
20988
21016
  async function startWasmScreen(options) {
20989
21017
  options = options != null ? options : parseQueryOptions();
20990
- initWorkerFrameConnection();
21018
+ initWorkerFrameConnection(options.netInWorker === true);
20991
21019
  await initSamsungWasmTCP();
20992
21020
  await initSamsungWasmDecoder(options);
20993
21021
  await initH264Decoder();