@netless/window-manager 1.0.0-canary.78 → 1.0.0-canary.79

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.
@@ -11,7 +11,7 @@ import type { View } from "white-web-sdk";
11
11
  import type { CallbacksType } from "./callback";
12
12
  import type { EmitterType } from "./InternalEmitter";
13
13
  import type { AppState } from "./App/type";
14
- import { ReadonlyVal } from "value-enhancer";
14
+ import type { ReadonlyVal } from "value-enhancer";
15
15
  export { TELE_BOX_STATE };
16
16
  export type CreateBoxParams = {
17
17
  appId: string;
@@ -3,7 +3,7 @@ import type { ApplianceIcons, TeleBoxRect } from "../index";
3
3
  import type { PositionType } from "../AttributesDelegate";
4
4
  import type { RoomMember, View } from "white-web-sdk";
5
5
  import type { AppManager } from "../AppManager";
6
- import { Val } from "value-enhancer";
6
+ import type { Val } from "value-enhancer";
7
7
  export type EventType = {
8
8
  type: PositionType;
9
9
  id?: string;
@@ -60,7 +60,9 @@ export declare class MainViewProxy {
60
60
  setMainViewSize: import("lodash").DebouncedFunc<(size: Size) => void>;
61
61
  private addCameraListener;
62
62
  private removeCameraListener;
63
+ private _syncMainViewTimer;
63
64
  private onCameraOrSizeUpdated;
65
+ private syncMainView;
64
66
  stop(): void;
65
67
  destroy(): void;
66
68
  }
@@ -2,7 +2,6 @@ import { SideEffectManager } from "side-effect-manager";
2
2
  import type { ReadonlyVal } from "value-enhancer";
3
3
  import type { AppManager } from "../AppManager";
4
4
  import type { ScrollStorage } from "../storage";
5
- import type { View } from "white-web-sdk";
6
5
  export type ScrollState = {
7
6
  scrollTop: number;
8
7
  page: number;
@@ -21,7 +20,7 @@ export declare class ScrollMode {
21
20
  private baseHeight;
22
21
  readonly scrollStorage: ScrollStorage;
23
22
  readonly scrollState$: ReadonlyVal<ScrollState>;
24
- get mainView(): View;
23
+ get mainView(): import("white-web-sdk").View;
25
24
  setRoot(root: HTMLElement): void;
26
25
  constructor(manager: AppManager);
27
26
  private initScroll;
package/dist/index.js CHANGED
@@ -2349,8 +2349,18 @@ class MainViewProxy {
2349
2349
  this.setMainViewSize = lodash.debounce((size) => {
2350
2350
  this.store.setMainViewSize({ ...size, id: this.manager.uid });
2351
2351
  }, 50);
2352
+ this._syncMainViewTimer = 0;
2352
2353
  this.onCameraOrSizeUpdated = () => {
2353
2354
  callbacks.emit("cameraStateChange", this.cameraState);
2355
+ if (this.manager.room && this.manager.room.syncMainView) {
2356
+ clearTimeout(this._syncMainViewTimer);
2357
+ this._syncMainViewTimer = setTimeout(this.syncMainView, 100, this.manager.room);
2358
+ }
2359
+ };
2360
+ this.syncMainView = (room) => {
2361
+ if (room.isWritable) {
2362
+ room.syncMainView(this.mainView);
2363
+ }
2354
2364
  };
2355
2365
  this.mainView = this.createMainView();
2356
2366
  emitter.once("mainViewMounted").then(() => {
@@ -12651,8 +12661,8 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
12651
12661
  const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12652
12662
  constructor(context) {
12653
12663
  super(context);
12654
- this.version = "1.0.0-canary.78";
12655
- this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12664
+ this.version = "1.0.0-canary.79";
12665
+ this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12656
12666
  this.emitter = callbacks;
12657
12667
  this.viewMode$ = new valueEnhancer.Val(whiteWebSdk.ViewMode.Broadcaster);
12658
12668
  this.playground$ = new valueEnhancer.Val(void 0);
@@ -12668,7 +12678,7 @@ const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12668
12678
  (_b = this.appManager) == null ? void 0 : _b.dispatchInternalEvent(Events.MoveCamera, camera);
12669
12679
  };
12670
12680
  _WindowManager.displayer = context.displayer;
12671
- window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12681
+ window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12672
12682
  }
12673
12683
  static async mount(params) {
12674
12684
  var _a;
@@ -12707,7 +12717,7 @@ const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12707
12717
  throw new Error();
12708
12718
  }
12709
12719
  },
12710
- { retries: 10 }
12720
+ { retries: 10, maxTimeout: 5e3 }
12711
12721
  );
12712
12722
  }
12713
12723
  if (!manager) {
package/dist/index.mjs CHANGED
@@ -2325,8 +2325,18 @@ class MainViewProxy {
2325
2325
  this.setMainViewSize = debounce((size) => {
2326
2326
  this.store.setMainViewSize({ ...size, id: this.manager.uid });
2327
2327
  }, 50);
2328
+ this._syncMainViewTimer = 0;
2328
2329
  this.onCameraOrSizeUpdated = () => {
2329
2330
  callbacks.emit("cameraStateChange", this.cameraState);
2331
+ if (this.manager.room && this.manager.room.syncMainView) {
2332
+ clearTimeout(this._syncMainViewTimer);
2333
+ this._syncMainViewTimer = setTimeout(this.syncMainView, 100, this.manager.room);
2334
+ }
2335
+ };
2336
+ this.syncMainView = (room) => {
2337
+ if (room.isWritable) {
2338
+ room.syncMainView(this.mainView);
2339
+ }
2330
2340
  };
2331
2341
  this.mainView = this.createMainView();
2332
2342
  emitter.once("mainViewMounted").then(() => {
@@ -12627,8 +12637,8 @@ const reconnectRefresher = new ReconnectRefresher({ emitter });
12627
12637
  const _WindowManager = class extends InvisiblePlugin {
12628
12638
  constructor(context) {
12629
12639
  super(context);
12630
- this.version = "1.0.0-canary.78";
12631
- this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12640
+ this.version = "1.0.0-canary.79";
12641
+ this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12632
12642
  this.emitter = callbacks;
12633
12643
  this.viewMode$ = new Val(ViewMode.Broadcaster);
12634
12644
  this.playground$ = new Val(void 0);
@@ -12644,7 +12654,7 @@ const _WindowManager = class extends InvisiblePlugin {
12644
12654
  (_b = this.appManager) == null ? void 0 : _b.dispatchInternalEvent(Events.MoveCamera, camera);
12645
12655
  };
12646
12656
  _WindowManager.displayer = context.displayer;
12647
- window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12657
+ window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12648
12658
  }
12649
12659
  static async mount(params) {
12650
12660
  var _a;
@@ -12683,7 +12693,7 @@ const _WindowManager = class extends InvisiblePlugin {
12683
12693
  throw new Error();
12684
12694
  }
12685
12695
  },
12686
- { retries: 10 }
12696
+ { retries: 10, maxTimeout: 5e3 }
12687
12697
  );
12688
12698
  }
12689
12699
  if (!manager) {
package/dist/index.umd.js CHANGED
@@ -2320,8 +2320,18 @@
2320
2320
  this.setMainViewSize = lodash.debounce((size) => {
2321
2321
  this.store.setMainViewSize({ ...size, id: this.manager.uid });
2322
2322
  }, 50);
2323
+ this._syncMainViewTimer = 0;
2323
2324
  this.onCameraOrSizeUpdated = () => {
2324
2325
  callbacks.emit("cameraStateChange", this.cameraState);
2326
+ if (this.manager.room && this.manager.room.syncMainView) {
2327
+ clearTimeout(this._syncMainViewTimer);
2328
+ this._syncMainViewTimer = setTimeout(this.syncMainView, 100, this.manager.room);
2329
+ }
2330
+ };
2331
+ this.syncMainView = (room) => {
2332
+ if (room.isWritable) {
2333
+ room.syncMainView(this.mainView);
2334
+ }
2325
2335
  };
2326
2336
  this.mainView = this.createMainView();
2327
2337
  emitter.once("mainViewMounted").then(() => {
@@ -12622,8 +12632,8 @@
12622
12632
  const _WindowManager = class extends whiteWebSdk.InvisiblePlugin {
12623
12633
  constructor(context) {
12624
12634
  super(context);
12625
- this.version = "1.0.0-canary.78";
12626
- this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12635
+ this.version = "1.0.0-canary.79";
12636
+ this.dependencies = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12627
12637
  this.emitter = callbacks;
12628
12638
  this.viewMode$ = new valueEnhancer.Val(whiteWebSdk.ViewMode.Broadcaster);
12629
12639
  this.playground$ = new valueEnhancer.Val(void 0);
@@ -12639,7 +12649,7 @@
12639
12649
  (_b = this.appManager) == null ? void 0 : _b.dispatchInternalEvent(Events.MoveCamera, camera);
12640
12650
  };
12641
12651
  _WindowManager.displayer = context.displayer;
12642
- window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.42" } };
12652
+ window.NETLESS_DEPS = { "dependencies": { "@juggle/resize-observer": "^3.4.0", "@netless/synced-store": "^2.0.7", "@netless/telebox-insider": "1.0.0-alpha.37", "emittery": "^0.11.0", "jspdf": "^2.5.1", "lodash": "^4.17.21", "p-retry": "^5.1.2", "side-effect-manager": "^1.2.1", "uuid": "^9.0.0", "value-enhancer": "^1.3.2" }, "peerDependencies": { "white-web-sdk": "^2.16.0" }, "devDependencies": { "@netless/app-docs-viewer": "1.0.0-canary.6", "@netless/app-plyr": "^0.2.4", "@playwright/test": "^1.33.0", "@rollup/plugin-commonjs": "^24.1.0", "@rollup/plugin-node-resolve": "^15.0.2", "@rollup/plugin-url": "^8.0.1", "@sveltejs/vite-plugin-svelte": "^2.2.0", "@tsconfig/svelte": "^4.0.1", "@types/debug": "^4.1.7", "@types/node": "^18.0.3", "@types/lodash": "^4.14.194", "@types/lodash-es": "^4.17.7", "@types/uuid": "^9.0.1", "@typescript-eslint/eslint-plugin": "^5.59.5", "@typescript-eslint/parser": "^5.59.5", "@vitest/ui": "^0.31.0", "cypress": "^12.12.0", "dotenv": "^16.0.3", "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", "jsdom": "^22.0.0", "less": "^4.1.3", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.0", "rollup-plugin-analyzer": "^4.0.0", "rollup-plugin-styles": "^4.0.0", "svelte": "^3.59.1", "typescript": "^5.0.4", "vite": "^4.3.5", "vite-plugin-dts": "^2.3.0", "vitest": "^0.31.0", "white-web-sdk": "^2.16.43" } };
12643
12653
  }
12644
12654
  static async mount(params) {
12645
12655
  var _a;
@@ -12678,7 +12688,7 @@
12678
12688
  throw new Error();
12679
12689
  }
12680
12690
  },
12681
- { retries: 10 }
12691
+ { retries: 10, maxTimeout: 5e3 }
12682
12692
  );
12683
12693
  }
12684
12694
  if (!manager) {
package/package.json CHANGED
@@ -1,22 +1,11 @@
1
1
  {
2
2
  "name": "@netless/window-manager",
3
- "version": "1.0.0-canary.78",
3
+ "version": "1.0.0-canary.79",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
8
8
  "repository": "netless-io/window-manager",
9
- "scripts": {
10
- "prettier": "prettier --write .",
11
- "dev": "vite build --watch",
12
- "build": "vite build",
13
- "type-gen": "tsc --emitDeclarationOnly",
14
- "predev": "yarn type-gen",
15
- "build:lib:types": "tsc --emitDeclarationOnly",
16
- "lint": "eslint --ext .ts,.tsx,.svelte . && prettier --check .",
17
- "test": "vitest",
18
- "e2e": "playwright test"
19
- },
20
9
  "keywords": [],
21
10
  "author": "",
22
11
  "license": "ISC",
@@ -68,6 +57,17 @@
68
57
  "vite": "^4.3.5",
69
58
  "vite-plugin-dts": "^2.3.0",
70
59
  "vitest": "^0.31.0",
71
- "white-web-sdk": "^2.16.42"
60
+ "white-web-sdk": "^2.16.43"
61
+ },
62
+ "scripts": {
63
+ "prettier": "prettier --write .",
64
+ "dev": "vite build --watch",
65
+ "build": "vite build",
66
+ "type-gen": "tsc --emitDeclarationOnly",
67
+ "predev": "yarn type-gen",
68
+ "build:lib:types": "tsc --emitDeclarationOnly",
69
+ "lint": "eslint --ext .ts,.tsx,.svelte . && prettier --check .",
70
+ "test": "vitest",
71
+ "e2e": "playwright test"
72
72
  }
73
- }
73
+ }
package/src/BoxManager.ts CHANGED
@@ -23,7 +23,7 @@ import type { View } from "white-web-sdk";
23
23
  import type { CallbacksType } from "./callback";
24
24
  import type { EmitterType } from "./InternalEmitter";
25
25
  import type { AppState } from "./App/type";
26
- import { ReadonlyVal } from "value-enhancer";
26
+ import type { ReadonlyVal } from "value-enhancer";
27
27
 
28
28
  export { TELE_BOX_STATE };
29
29
 
@@ -11,7 +11,7 @@ import type { Point, RoomMember, View } from "white-web-sdk";
11
11
  import type { AppManager } from "../AppManager";
12
12
  import { ApplianceMap } from "./icons";
13
13
  import { findMemberByUid } from "../Helper";
14
- import { Val } from "value-enhancer";
14
+ import type { Val } from "value-enhancer";
15
15
 
16
16
  export type EventType = {
17
17
  type: PositionType;
@@ -10,7 +10,7 @@ import { SideEffectManager } from "side-effect-manager";
10
10
  import { Val } from "value-enhancer";
11
11
  import { ViewSync } from "./ViewSync";
12
12
  import type { ICamera, ISize } from "../AttributesDelegate";
13
- import type { Size, View } from "white-web-sdk";
13
+ import type { Room, Size, View } from "white-web-sdk";
14
14
  import type { AppManager } from "../AppManager";
15
15
  import type { MoveCameraParams } from "../typings";
16
16
 
@@ -320,10 +320,23 @@ export class MainViewProxy {
320
320
  this.view.callbacks.off("onSizeUpdated", this.onCameraOrSizeUpdated);
321
321
  }
322
322
 
323
+ private _syncMainViewTimer = 0;
323
324
  private onCameraOrSizeUpdated = () => {
324
325
  callbacks.emit("cameraStateChange", this.cameraState);
326
+ // sdk >= 2.16.43 的 syncMainView() 可以写入当前 main view 的 camera, 以修复复制粘贴元素的位置
327
+ // 注意到这个操作会发送信令,应当避免频繁调用
328
+ if (this.manager.room && (this.manager.room as any).syncMainView) {
329
+ clearTimeout(this._syncMainViewTimer);
330
+ this._syncMainViewTimer = setTimeout(this.syncMainView, 100, this.manager.room);
331
+ }
325
332
  };
326
333
 
334
+ private syncMainView = (room: Room) => {
335
+ if (room.isWritable) {
336
+ room.syncMainView(this.mainView);
337
+ }
338
+ }
339
+
327
340
  public stop() {
328
341
  this.manager.refresher.remove(Fields.MainViewCamera);
329
342
  this.manager.refresher.remove(Fields.MainViewSize);
@@ -8,7 +8,7 @@ import { round } from "lodash";
8
8
  import type { ReadonlyVal } from "value-enhancer";
9
9
  import type { AppManager } from "../AppManager";
10
10
  import type { ScrollStorage } from "../storage";
11
- import type { Camera, Size, View } from "white-web-sdk";
11
+ import type { Camera, Size } from "white-web-sdk";
12
12
 
13
13
  function clamp(x: number, min: number, max: number): number {
14
14
  return x < min ? min : x > max ? max : x;
package/src/index.ts CHANGED
@@ -241,7 +241,7 @@ export class WindowManager extends InvisiblePlugin<WindowMangerAttributes, any>
241
241
  throw new Error();
242
242
  }
243
243
  },
244
- { retries: 10 }
244
+ { retries: 10, maxTimeout: 5000 }
245
245
  );
246
246
  }
247
247