@netless/window-manager 0.4.37 → 0.4.40

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.d.ts CHANGED
@@ -90,7 +90,7 @@ export declare type MountParams = {
90
90
  applianceIcons?: ApplianceIcons;
91
91
  };
92
92
  export declare const reconnectRefresher: ReconnectRefresher;
93
- export declare class WindowManager extends InvisiblePlugin<WindowMangerAttributes> implements PageController {
93
+ export declare class WindowManager extends InvisiblePlugin<WindowMangerAttributes, any> implements PageController {
94
94
  static kind: string;
95
95
  static displayer: Displayer;
96
96
  static wrapper?: HTMLElement;
package/dist/index.es.js CHANGED
@@ -223,30 +223,36 @@ const executeScript = (text2, appName) => {
223
223
  const loadApp = async (url, key, name) => {
224
224
  const appName = name || Prefix + key;
225
225
  callbacks$1.emit("loadApp", { kind: key, status: "start" });
226
+ let text2;
226
227
  try {
227
- const text2 = await getScript(url);
228
+ text2 = await getScript(url);
228
229
  if (!text2 || text2.length === 0) {
229
230
  callbacks$1.emit("loadApp", { kind: key, status: "failed", reason: "script is empty." });
230
- return;
231
+ throw new Error("[WindowManager]: script is empty.");
231
232
  }
232
- try {
233
+ } catch (error) {
234
+ callbacks$1.emit("loadApp", { kind: key, status: "failed", reason: error.message });
235
+ throw error;
236
+ }
237
+ return getResult(text2, appName, key);
238
+ };
239
+ const getResult = (text2, appName, key) => {
240
+ try {
241
+ const result = executeScript(text2, appName);
242
+ callbacks$1.emit("loadApp", { kind: key, status: "success" });
243
+ return result;
244
+ } catch (error) {
245
+ if (error.message.includes("Can only have one anonymous define call per script file")) {
246
+ const define = window.define;
247
+ if (typeof define == "function" && define.amd) {
248
+ delete define.amd;
249
+ }
233
250
  const result = executeScript(text2, appName);
234
251
  callbacks$1.emit("loadApp", { kind: key, status: "success" });
235
252
  return result;
236
- } catch (error) {
237
- if (error.message.includes("Can only have one anonymous define call per script file")) {
238
- const define = window.define;
239
- if (typeof define == "function" && define.amd) {
240
- delete define.amd;
241
- }
242
- const result = executeScript(text2, appName);
243
- callbacks$1.emit("loadApp", { kind: key, status: "success" });
244
- return result;
245
- }
246
- callbacks$1.emit("loadApp", { kind: key, status: "failed", reason: error.message });
247
253
  }
248
- } catch (error) {
249
254
  callbacks$1.emit("loadApp", { kind: key, status: "failed", reason: error.message });
255
+ throw error;
250
256
  }
251
257
  };
252
258
  async function fetchWithTimeout(resource, options) {
@@ -279,27 +285,35 @@ class AppRegister {
279
285
  async register(params) {
280
286
  this.appClassesCache.delete(params.kind);
281
287
  this.registered.set(params.kind, params);
282
- const srcOrAppOrFunction = params.src;
288
+ const paramSrc = params.src;
283
289
  let downloadApp;
284
- if (typeof srcOrAppOrFunction === "string") {
290
+ if (typeof paramSrc === "string") {
291
+ downloadApp = async () => {
292
+ const result = await loadApp(paramSrc, params.kind, params.name);
293
+ if (result.__esModule) {
294
+ return result.default;
295
+ }
296
+ return result;
297
+ };
298
+ if (this.syncRegisterApp) {
299
+ this.syncRegisterApp({ kind: params.kind, src: paramSrc, name: params.name });
300
+ }
301
+ }
302
+ if (typeof paramSrc === "function") {
285
303
  downloadApp = async () => {
286
- let appClass = await loadApp(srcOrAppOrFunction, params.kind, params.name);
304
+ let appClass = await paramSrc();
287
305
  if (appClass) {
288
306
  if (appClass.__esModule) {
289
307
  appClass = appClass.default;
290
308
  }
291
309
  return appClass;
292
310
  } else {
293
- throw new Error(`[WindowManager]: load remote script failed, ${srcOrAppOrFunction}`);
311
+ throw new Error(`[WindowManager]: load remote script failed, ${paramSrc}`);
294
312
  }
295
313
  };
296
- if (this.syncRegisterApp) {
297
- this.syncRegisterApp({ kind: params.kind, src: srcOrAppOrFunction, name: params.name });
298
- }
299
- } else if (typeof srcOrAppOrFunction === "function") {
300
- downloadApp = srcOrAppOrFunction;
301
- } else {
302
- downloadApp = async () => srcOrAppOrFunction;
314
+ }
315
+ if (typeof paramSrc === "object") {
316
+ downloadApp = async () => paramSrc;
303
317
  }
304
318
  this.appClasses.set(params.kind, async () => {
305
319
  let app = this.appClassesCache.get(params.kind);
@@ -1455,6 +1469,7 @@ class AppProxy {
1455
1469
  this.appAttributesUpdateListener(appId);
1456
1470
  this.setViewFocusScenePath();
1457
1471
  setTimeout(async () => {
1472
+ console.log("setup app", app);
1458
1473
  const result = await app.setup(context);
1459
1474
  this.appResult = result;
1460
1475
  appRegister.notifyApp(this.kind, "created", { appId, result });
@@ -1769,9 +1784,6 @@ class MainViewProxy {
1769
1784
  this.onUpdateContainerSizeRatio = () => {
1770
1785
  const size2 = this.store.getMainViewSize();
1771
1786
  this.sizeChangeHandler(size2);
1772
- if (size2.id === this.manager.uid) {
1773
- this.setCameraAndSize();
1774
- }
1775
1787
  };
1776
1788
  this.onCameraUpdatedByDevice = (camera) => {
1777
1789
  this.store.setMainViewCamera(__spreadProps(__spreadValues({}, camera), { id: this.manager.uid }));
@@ -1807,7 +1819,9 @@ class MainViewProxy {
1807
1819
  });
1808
1820
  this.sideEffectManager.add(() => {
1809
1821
  return emitter.on("startReconnect", () => {
1810
- this.mainView.release();
1822
+ if (!this.didRelease) {
1823
+ this.mainView.release();
1824
+ }
1811
1825
  });
1812
1826
  });
1813
1827
  }
@@ -15104,14 +15118,14 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
15104
15118
  const _WindowManager = class extends InvisiblePlugin {
15105
15119
  constructor(context) {
15106
15120
  super(context);
15107
- this.version = "0.4.37";
15108
- this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.1", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.1", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vitest": "^0.14.1", "white-web-sdk": "2.16.10" } };
15121
+ this.version = "0.4.40";
15122
+ this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.1", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.1", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vitest": "^0.14.1", "white-web-sdk": "2.16.33" } };
15109
15123
  this.emitter = callbacks$1;
15110
15124
  this.viewMode = ViewMode.Broadcaster;
15111
15125
  this.isReplay = isPlayer(this.displayer);
15112
15126
  this.containerSizeRatio = _WindowManager.containerSizeRatio;
15113
15127
  _WindowManager.displayer = context.displayer;
15114
- window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.1", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.1", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vitest": "^0.14.1", "white-web-sdk": "2.16.10" } };
15128
+ window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.3.1", "@netless/telebox-insider": "0.2.26", "emittery": "^0.9.2", "lodash": "^4.17.21", "p-retry": "^4.6.1", "side-effect-manager": "^0.1.5", "uuid": "^7.0.3", "video.js": ">=7" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "^0.2.9", "@netless/app-media-player": "0.1.0-beta.5", "@rollup/plugin-commonjs": "^20.0.0", "@rollup/plugin-node-resolve": "^13.0.4", "@rollup/plugin-url": "^6.1.0", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.22", "@tsconfig/svelte": "^2.0.1", "@types/debug": "^4.1.7", "@types/lodash": "^4.14.182", "@types/lodash-es": "^4.17.4", "@types/uuid": "^8.3.1", "@typescript-eslint/eslint-plugin": "^4.30.0", "@typescript-eslint/parser": "^4.30.0", "@vitest/ui": "^0.14.1", "cypress": "^8.7.0", "dotenv": "^10.0.0", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.0", "jsdom": "^19.0.0", "less": "^4.1.1", "prettier": "^2.3.2", "prettier-plugin-svelte": "^2.4.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^3.14.1", "svelte": "^3.42.4", "typescript": "^4.5.5", "vite": "^2.5.3", "vitest": "^0.14.1", "white-web-sdk": "2.16.33" } };
15115
15129
  }
15116
15130
  static async mount(params) {
15117
15131
  const room = params.room;