livekit-client 0.16.0 → 0.16.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.
@@ -75,7 +75,10 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
75
75
  else {
76
76
  super.attach(element);
77
77
  }
78
- if (this.adaptiveStream) {
78
+ // It's possible attach is called multiple times on an element. When that's
79
+ // the case, we'd want to avoid adding duplicate elementInfos
80
+ if (this.adaptiveStream
81
+ && this.elementInfos.find((info) => info.element === element) === undefined) {
79
82
  this.elementInfos.push({
80
83
  element,
81
84
  visible: true, // default visible
@@ -147,7 +150,7 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
147
150
  // delay hidden events
148
151
  setTimeout(() => {
149
152
  this.updateVisibility();
150
- }, Date.now() - lastVisibilityChange);
153
+ }, REACTION_DELAY);
151
154
  return;
152
155
  }
153
156
  this.lastVisible = isVisible;
@@ -158,11 +161,9 @@ class RemoteVideoTrack extends RemoteTrack_1.default {
158
161
  let maxWidth = 0;
159
162
  let maxHeight = 0;
160
163
  for (const info of this.elementInfos) {
161
- if (info.visible) {
162
- if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
163
- maxWidth = info.element.clientWidth;
164
- maxHeight = info.element.clientHeight;
165
- }
164
+ if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
165
+ maxWidth = info.element.clientWidth;
166
+ maxHeight = info.element.clientHeight;
166
167
  }
167
168
  }
168
169
  if (((_a = this.lastDimensions) === null || _a === void 0 ? void 0 : _a.width) === maxWidth && ((_b = this.lastDimensions) === null || _b === void 0 ? void 0 : _b.height) === maxHeight) {
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteVideoTrack.js","sourceRoot":"","sources":["../../../src/room/track/RemoteVideoTrack.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.getClientInfo = exports.getIntersectionObserver = exports.getResizeObserver = exports.isFireFox = exports.sleep = exports.unpackStreamId = void 0;
16
- const ua_parser_js_1 = __importDefault(require("ua-parser-js"));
17
13
  const livekit_models_1 = require("../proto/livekit_models");
18
14
  const version_1 = require("../version");
19
15
  const separator = '|';
@@ -60,27 +56,11 @@ const getIntersectionObserver = () => {
60
56
  };
61
57
  exports.getIntersectionObserver = getIntersectionObserver;
62
58
  function getClientInfo() {
63
- const ua = ua_parser_js_1.default(navigator.userAgent);
64
59
  const info = livekit_models_1.ClientInfo.fromPartial({
65
60
  sdk: livekit_models_1.ClientInfo_SDK.JS,
66
61
  protocol: version_1.protocolVersion,
67
62
  version: version_1.version,
68
- os: ua.os.name,
69
- osVersion: ua.os.version,
70
- browser: ua.browser.name,
71
- browserVersion: ua.browser.version,
72
63
  });
73
- let model = '';
74
- if (ua.device.vendor) {
75
- model += ua.device.vendor;
76
- }
77
- if (ua.device.model) {
78
- if (model)
79
- model += ' ';
80
- model += ua.device.model;
81
- }
82
- if (model)
83
- info.deviceModel = model;
84
64
  return info;
85
65
  }
86
66
  exports.getClientInfo = getClientInfo;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/room/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAoC;AACpC,4DAAqE;AACrE,wCAAsD;AAEtD,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAND,wCAMC;AAED,SAAsB,KAAK,CAAC,QAAgB;;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;CAAA;AAFD,sBAEC;AAED,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,SAAS,kBAAkB,CAAC,OAA8B;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoC;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACzE;AACH,CAAC;AAED,IAAI,cAAc,GAA0B,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,CAAC,cAAc;QAAE,cAAc,GAAG,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,IAAI,oBAAoB,GAAgC,IAAI,CAAC;AACtD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB;QAAE,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC/F,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC;AAOF,SAAgB,aAAa;IAC3B,MAAM,EAAE,GAAG,sBAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,2BAAU,CAAC,WAAW,CAAC;QAClC,GAAG,EAAE,+BAAc,CAAC,EAAE;QACtB,QAAQ,EAAE,yBAAe;QACzB,OAAO,EAAP,iBAAO;QACP,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI;QACd,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO;QACxB,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI;QACxB,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO;KACnC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACpB,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;KAC3B;IACD,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,IAAI,KAAK;YAAE,KAAK,IAAI,GAAG,CAAC;QACxB,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;KAC1B;IACD,IAAI,KAAK;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAtBD,sCAsBC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/room/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAAqE;AACrE,wCAAsD;AAEtD,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,SAAgB,cAAc,CAAC,MAAc;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC;AAND,wCAMC;AAED,SAAsB,KAAK,CAAC,QAAgB;;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;CAAA;AAFD,sBAEC;AAED,SAAgB,SAAS;IACvB,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,8BAEC;AAED,SAAS,kBAAkB,CAAC,OAA8B;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC9D;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoC;IAC9D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC1B,KAAK,CAAC,MAAiC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;KACzE;AACH,CAAC;AAED,IAAI,cAAc,GAA0B,IAAI,CAAC;AAC1C,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAI,CAAC,cAAc;QAAE,cAAc,GAAG,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC7E,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAHW,QAAA,iBAAiB,qBAG5B;AAEF,IAAI,oBAAoB,GAAgC,IAAI,CAAC;AACtD,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAI,CAAC,oBAAoB;QAAE,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC/F,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAHW,QAAA,uBAAuB,2BAGlC;AAOF,SAAgB,aAAa;IAC3B,MAAM,IAAI,GAAG,2BAAU,CAAC,WAAW,CAAC;QAClC,GAAG,EAAE,+BAAc,CAAC,EAAE;QACtB,QAAQ,EAAE,yBAAe;QACzB,OAAO,EAAP,iBAAO;KACR,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAPD,sCAOC"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "0.16.0";
1
+ export declare const version = "0.16.1";
2
2
  export declare const protocolVersion = 6;
package/dist/version.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.protocolVersion = exports.version = void 0;
4
- exports.version = '0.16.0';
4
+ exports.version = '0.16.1';
5
5
  exports.protocolVersion = 6;
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livekit-client",
3
- "version": "0.16.0",
3
+ "version": "0.16.1",
4
4
  "description": "JavaScript/TypeScript client SDK for LiveKit",
5
5
  "main": "dist/index.js",
6
6
  "source": "src/index.ts",
@@ -23,12 +23,10 @@
23
23
  "loglevel": "^1.8.0",
24
24
  "protobufjs": "^6.11.2",
25
25
  "ts-debounce": "^3.0.0",
26
- "ua-parser-js": "^1.0.2",
27
26
  "webrtc-adapter": "^8.1.1"
28
27
  },
29
28
  "devDependencies": {
30
29
  "@types/jest": "^27.0.3",
31
- "@types/ua-parser-js": "^0.7.36",
32
30
  "@types/ws": "^7.4.0",
33
31
  "@typescript-eslint/eslint-plugin": "^4.31.2",
34
32
  "@webpack-cli/serve": "^1.5.2",
@@ -58,7 +58,11 @@ export default class RemoteVideoTrack extends RemoteTrack {
58
58
  super.attach(element);
59
59
  }
60
60
 
61
- if (this.adaptiveStream) {
61
+ // It's possible attach is called multiple times on an element. When that's
62
+ // the case, we'd want to avoid adding duplicate elementInfos
63
+ if (this.adaptiveStream
64
+ && this.elementInfos.find((info) => info.element === element) === undefined
65
+ ) {
62
66
  this.elementInfos.push({
63
67
  element,
64
68
  visible: true, // default visible
@@ -174,7 +178,7 @@ export default class RemoteVideoTrack extends RemoteTrack {
174
178
  // delay hidden events
175
179
  setTimeout(() => {
176
180
  this.updateVisibility();
177
- }, Date.now() - lastVisibilityChange);
181
+ }, REACTION_DELAY);
178
182
  return;
179
183
  }
180
184
 
@@ -186,11 +190,9 @@ export default class RemoteVideoTrack extends RemoteTrack {
186
190
  let maxWidth = 0;
187
191
  let maxHeight = 0;
188
192
  for (const info of this.elementInfos) {
189
- if (info.visible) {
190
- if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
191
- maxWidth = info.element.clientWidth;
192
- maxHeight = info.element.clientHeight;
193
- }
193
+ if (info.element.clientWidth + info.element.clientHeight > maxWidth + maxHeight) {
194
+ maxWidth = info.element.clientWidth;
195
+ maxHeight = info.element.clientHeight;
194
196
  }
195
197
  }
196
198
 
package/src/room/utils.ts CHANGED
@@ -1,4 +1,3 @@
1
- import uaparser from 'ua-parser-js';
2
1
  import { ClientInfo, ClientInfo_SDK } from '../proto/livekit_models';
3
2
  import { protocolVersion, version } from '../version';
4
3
 
@@ -50,25 +49,10 @@ export interface ObservableMediaElement extends HTMLMediaElement {
50
49
  }
51
50
 
52
51
  export function getClientInfo(): ClientInfo {
53
- const ua = uaparser(navigator.userAgent);
54
52
  const info = ClientInfo.fromPartial({
55
53
  sdk: ClientInfo_SDK.JS,
56
54
  protocol: protocolVersion,
57
55
  version,
58
- os: ua.os.name,
59
- osVersion: ua.os.version,
60
- browser: ua.browser.name,
61
- browserVersion: ua.browser.version,
62
56
  });
63
-
64
- let model = '';
65
- if (ua.device.vendor) {
66
- model += ua.device.vendor;
67
- }
68
- if (ua.device.model) {
69
- if (model) model += ' ';
70
- model += ua.device.model;
71
- }
72
- if (model) info.deviceModel = model;
73
57
  return info;
74
58
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '0.16.0';
1
+ export const version = '0.16.1';
2
2
  export const protocolVersion = 6;