@lynx-js/react 0.109.1 → 0.110.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.
Files changed (143) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/package.json +2 -2
  3. package/refresh/.turbo/turbo-build.log +1 -1
  4. package/refresh/package.json +1 -1
  5. package/runtime/lib/backgroundSnapshot.d.ts +2 -1
  6. package/runtime/lib/backgroundSnapshot.js +65 -42
  7. package/runtime/lib/backgroundSnapshot.js.map +1 -1
  8. package/runtime/lib/hooks/react.js +3 -3
  9. package/runtime/lib/hooks/react.js.map +1 -1
  10. package/runtime/lib/lifecycle/destroy.js +1 -0
  11. package/runtime/lib/lifecycle/destroy.js.map +1 -1
  12. package/runtime/lib/lifecycle/event/delayEvents.js +3 -0
  13. package/runtime/lib/lifecycle/event/delayEvents.js.map +1 -1
  14. package/runtime/lib/lifecycle/event/delayLifecycleEvents.d.ts +3 -2
  15. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js +1 -12
  16. package/runtime/lib/lifecycle/event/delayLifecycleEvents.js.map +1 -1
  17. package/runtime/lib/lifecycle/event/jsReady.d.ts +1 -1
  18. package/runtime/lib/lifecycle/event/jsReady.js +3 -2
  19. package/runtime/lib/lifecycle/event/jsReady.js.map +1 -1
  20. package/runtime/lib/lifecycle/patch/commit.d.ts +0 -2
  21. package/runtime/lib/lifecycle/patch/commit.js +8 -36
  22. package/runtime/lib/lifecycle/patch/commit.js.map +1 -1
  23. package/runtime/lib/lifecycle/patch/error.d.ts +8 -0
  24. package/runtime/lib/lifecycle/patch/error.js +47 -0
  25. package/runtime/lib/lifecycle/patch/error.js.map +1 -0
  26. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js +3 -0
  27. package/runtime/lib/lifecycle/patch/isMainThreadHydrationFinished.js.map +1 -1
  28. package/runtime/lib/lifecycle/patch/snapshotPatch.d.ts +2 -2
  29. package/runtime/lib/lifecycle/patch/snapshotPatch.js.map +1 -1
  30. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js +18 -11
  31. package/runtime/lib/lifecycle/patch/snapshotPatchApply.js.map +1 -1
  32. package/runtime/lib/lifecycle/patch/updateMainThread.d.ts +0 -1
  33. package/runtime/lib/lifecycle/patch/updateMainThread.js +6 -13
  34. package/runtime/lib/lifecycle/patch/updateMainThread.js.map +1 -1
  35. package/runtime/lib/lifecycle/ref/delay.d.ts +31 -0
  36. package/runtime/lib/lifecycle/ref/delay.js +80 -0
  37. package/runtime/lib/lifecycle/ref/delay.js.map +1 -0
  38. package/runtime/lib/lifecycle/reload.d.ts +1 -1
  39. package/runtime/lib/lifecycle/reload.js +7 -4
  40. package/runtime/lib/lifecycle/reload.js.map +1 -1
  41. package/runtime/lib/lifecycle/render.js +3 -2
  42. package/runtime/lib/lifecycle/render.js.map +1 -1
  43. package/runtime/lib/lifecycleConstant.d.ts +10 -7
  44. package/runtime/lib/lifecycleConstant.js +8 -8
  45. package/runtime/lib/lifecycleConstant.js.map +1 -1
  46. package/runtime/lib/list.d.ts +1 -1
  47. package/runtime/lib/list.js +9 -7
  48. package/runtime/lib/list.js.map +1 -1
  49. package/runtime/lib/lynx/calledByNative.js +8 -5
  50. package/runtime/lib/lynx/calledByNative.js.map +1 -1
  51. package/runtime/lib/lynx/component.js +7 -0
  52. package/runtime/lib/lynx/component.js.map +1 -1
  53. package/runtime/lib/lynx/dynamic-js.d.ts +5 -1
  54. package/runtime/lib/lynx/dynamic-js.js +1 -0
  55. package/runtime/lib/lynx/dynamic-js.js.map +1 -1
  56. package/runtime/lib/lynx/env.d.ts +1 -1
  57. package/runtime/lib/lynx/env.js +13 -13
  58. package/runtime/lib/lynx/env.js.map +1 -1
  59. package/runtime/lib/lynx/lazy-bundle.js +7 -5
  60. package/runtime/lib/lynx/lazy-bundle.js.map +1 -1
  61. package/runtime/lib/lynx/performance.js +1 -1
  62. package/runtime/lib/lynx/performance.js.map +1 -1
  63. package/runtime/lib/lynx/runWithForce.js +3 -0
  64. package/runtime/lib/lynx/runWithForce.js.map +1 -1
  65. package/runtime/lib/lynx/tt.js +12 -33
  66. package/runtime/lib/lynx/tt.js.map +1 -1
  67. package/runtime/lib/lynx-api.d.ts +1 -1
  68. package/runtime/lib/lynx.js +5 -6
  69. package/runtime/lib/lynx.js.map +1 -1
  70. package/runtime/lib/snapshot/ref.d.ts +14 -9
  71. package/runtime/lib/snapshot/ref.js +64 -73
  72. package/runtime/lib/snapshot/ref.js.map +1 -1
  73. package/runtime/lib/snapshot/spread.js +9 -8
  74. package/runtime/lib/snapshot/spread.js.map +1 -1
  75. package/runtime/lib/snapshot/workletRef.d.ts +3 -3
  76. package/runtime/lib/snapshot/workletRef.js +27 -8
  77. package/runtime/lib/snapshot/workletRef.js.map +1 -1
  78. package/runtime/lib/snapshot.d.ts +4 -4
  79. package/runtime/lib/snapshot.js +28 -13
  80. package/runtime/lib/snapshot.js.map +1 -1
  81. package/runtime/lib/snapshotInstanceHydrationMap.d.ts +9 -0
  82. package/runtime/lib/snapshotInstanceHydrationMap.js +16 -0
  83. package/runtime/lib/snapshotInstanceHydrationMap.js.map +1 -0
  84. package/runtime/lib/worklet/workletRef.js +1 -2
  85. package/runtime/lib/worklet/workletRef.js.map +1 -1
  86. package/runtime/src/backgroundSnapshot.ts +74 -47
  87. package/runtime/src/hooks/react.ts +3 -3
  88. package/runtime/src/lifecycle/destroy.ts +1 -0
  89. package/runtime/src/lifecycle/event/delayEvents.ts +3 -0
  90. package/runtime/src/lifecycle/event/delayLifecycleEvents.ts +7 -13
  91. package/runtime/src/lifecycle/event/jsReady.ts +4 -3
  92. package/runtime/src/lifecycle/patch/commit.ts +10 -41
  93. package/runtime/src/lifecycle/patch/error.ts +61 -0
  94. package/runtime/src/lifecycle/patch/isMainThreadHydrationFinished.ts +3 -0
  95. package/runtime/src/lifecycle/patch/snapshotPatch.ts +2 -2
  96. package/runtime/src/lifecycle/patch/snapshotPatchApply.ts +35 -28
  97. package/runtime/src/lifecycle/patch/updateMainThread.ts +7 -16
  98. package/runtime/src/lifecycle/ref/delay.ts +99 -0
  99. package/runtime/src/lifecycle/reload.ts +9 -6
  100. package/runtime/src/lifecycle/render.ts +3 -2
  101. package/runtime/src/lifecycleConstant.ts +11 -7
  102. package/runtime/src/list.ts +9 -7
  103. package/runtime/src/lynx/calledByNative.ts +14 -9
  104. package/runtime/src/lynx/component.ts +9 -0
  105. package/runtime/src/lynx/dynamic-js.ts +5 -1
  106. package/runtime/src/lynx/env.ts +17 -17
  107. package/runtime/src/lynx/lazy-bundle.ts +22 -14
  108. package/runtime/src/lynx/performance.ts +1 -1
  109. package/runtime/src/lynx/runWithForce.ts +9 -5
  110. package/runtime/src/lynx/tt.ts +19 -37
  111. package/runtime/src/lynx-api.ts +1 -1
  112. package/runtime/src/lynx.ts +6 -6
  113. package/runtime/src/snapshot/ref.ts +77 -87
  114. package/runtime/src/snapshot/spread.ts +8 -8
  115. package/runtime/src/snapshot/workletRef.ts +35 -9
  116. package/runtime/src/snapshot.ts +39 -20
  117. package/runtime/src/snapshotInstanceHydrationMap.ts +17 -0
  118. package/runtime/src/worklet/workletRef.ts +1 -2
  119. package/testing-library/dist/env/vitest.js +10 -8
  120. package/testing-library/dist/index.js +3 -3
  121. package/testing-library/dist/pure.js +93 -92
  122. package/testing-library/dist/vitest-global-setup.js +41 -41
  123. package/testing-library/dist/vitest.config.js +17 -14
  124. package/transform/dist/wasm.cjs +1 -1
  125. package/worklet-runtime/dist/dev.js +1 -4
  126. package/worklet-runtime/dist/main.js +0 -4
  127. package/worklet-runtime/lib/bindings/bindings.d.ts +1 -1
  128. package/worklet-runtime/lib/bindings/bindings.js +1 -26
  129. package/worklet-runtime/lib/bindings/bindings.js.map +1 -1
  130. package/worklet-runtime/lib/bindings/index.d.ts +2 -1
  131. package/worklet-runtime/lib/bindings/index.js +2 -1
  132. package/worklet-runtime/lib/bindings/index.js.map +1 -1
  133. package/worklet-runtime/lib/bindings/observers.d.ts +14 -0
  134. package/worklet-runtime/lib/bindings/observers.js +31 -0
  135. package/worklet-runtime/lib/bindings/observers.js.map +1 -0
  136. package/worklet-runtime/lib/hydrate.js +0 -5
  137. package/worklet-runtime/lib/hydrate.js.map +1 -1
  138. package/runtime/lib/lifecycle/delayUnmount.d.ts +0 -8
  139. package/runtime/lib/lifecycle/delayUnmount.js +0 -65
  140. package/runtime/lib/lifecycle/delayUnmount.js.map +0 -1
  141. package/runtime/src/lifecycle/delayUnmount.ts +0 -77
  142. package/worklet-runtime/dist/dev.js.map +0 -8
  143. package/worklet-runtime/dist/main.js.map +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/commit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/commit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const ctxNotFoundType = "Lynx.Error.CtxNotFound";
2
+ export interface CtxNotFoundData {
3
+ id: number;
4
+ }
5
+ export declare function sendCtxNotFoundEventToBackground(id: number): void;
6
+ export declare function reportCtxNotFound(data: CtxNotFoundData): void;
7
+ export declare function addCtxNotFoundEventListener(): void;
8
+ export declare function removeCtxNotFoundEventListener(): void;
@@ -0,0 +1,47 @@
1
+ // Copyright 2025 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { backgroundSnapshotInstanceManager, snapshotManager } from '../../snapshot.js';
5
+ export const ctxNotFoundType = 'Lynx.Error.CtxNotFound';
6
+ const errorMsg = 'snapshotPatchApply failed: ctx not found';
7
+ let ctxNotFoundEventListener = null;
8
+ export function sendCtxNotFoundEventToBackground(id) {
9
+ /* v8 ignore next 3 */
10
+ if (!lynx.getJSContext) {
11
+ throw new Error(errorMsg);
12
+ }
13
+ lynx.getJSContext().dispatchEvent({
14
+ type: ctxNotFoundType,
15
+ data: {
16
+ id,
17
+ },
18
+ });
19
+ }
20
+ export function reportCtxNotFound(data) {
21
+ const id = data.id;
22
+ const instance = backgroundSnapshotInstanceManager.values.get(id);
23
+ let snapshotType = 'null';
24
+ if (instance && instance.__snapshot_def) {
25
+ for (const [snapshotId, snapshot] of snapshotManager.values.entries()) {
26
+ if (snapshot === instance.__snapshot_def) {
27
+ snapshotType = snapshotId;
28
+ break;
29
+ }
30
+ }
31
+ }
32
+ lynx.reportError(new Error(`${errorMsg}, snapshot type: '${snapshotType}'`));
33
+ }
34
+ export function addCtxNotFoundEventListener() {
35
+ ctxNotFoundEventListener = (e) => {
36
+ reportCtxNotFound(e.data);
37
+ };
38
+ lynx.getCoreContext?.().addEventListener(ctxNotFoundType, ctxNotFoundEventListener);
39
+ }
40
+ export function removeCtxNotFoundEventListener() {
41
+ const coreContext = lynx.getCoreContext?.();
42
+ if (coreContext && ctxNotFoundEventListener) {
43
+ coreContext.removeEventListener(ctxNotFoundType, ctxNotFoundEventListener);
44
+ ctxNotFoundEventListener = null;
45
+ }
46
+ }
47
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/error.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,iCAAiC,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAExD,MAAM,QAAQ,GAAG,0CAA0C,CAAC;AAE5D,IAAI,wBAAwB,GAA6C,IAAI,CAAC;AAM9E,MAAM,UAAU,gCAAgC,CAAC,EAAU;IACzD,sBAAsB;IACtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC;QAChC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE;YACJ,EAAE;SACgB;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,iCAAiC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAElE,IAAI,YAAY,GAAG,MAAM,CAAC;IAE1B,IAAI,QAAQ,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACtE,IAAI,QAAQ,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACzC,YAAY,GAAG,UAAU,CAAC;gBAC1B,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,QAAQ,qBAAqB,YAAY,GAAG,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,wBAAwB,GAAG,CAAC,CAAC,EAAE,EAAE;QAC/B,iBAAiB,CAAC,CAAC,CAAC,IAAuB,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IAC5C,IAAI,WAAW,IAAI,wBAAwB,EAAE,CAAC;QAC5C,WAAW,CAAC,mBAAmB,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;QAC3E,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -1,3 +1,6 @@
1
+ // Copyright 2025 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
1
4
  import { onHydrationFinished } from '@lynx-js/react/worklet-runtime/bindings';
2
5
  export let isMainThreadHydrationFinished = false;
3
6
  export function setMainThreadHydrationFinished(isFinished) {
@@ -1 +1 @@
1
- {"version":3,"file":"isMainThreadHydrationFinished.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/isMainThreadHydrationFinished.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,CAAC,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,UAAU,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjD,mBAAmB,EAAE,CAAC;IACxB,CAAC;IACD,6BAA6B,GAAG,UAAU,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"isMainThreadHydrationFinished.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/isMainThreadHydrationFinished.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,CAAC,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAEjD,MAAM,UAAU,8BAA8B,CAAC,UAAmB;IAChE,IAAI,UAAU,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjD,mBAAmB,EAAE,CAAC;IACxB,CAAC;IACD,6BAA6B,GAAG,UAAU,CAAC;AAC7C,CAAC"}
@@ -12,8 +12,8 @@ export declare const enum SnapshotOperation {
12
12
  DEV_ONLY_AddSnapshot = 100,
13
13
  DEV_ONLY_RegisterWorklet = 101
14
14
  }
15
- export type SnapshotPatch = any[];
16
- export declare let __globalSnapshotPatch: any;
15
+ export type SnapshotPatch = unknown[];
16
+ export declare let __globalSnapshotPatch: SnapshotPatch | undefined;
17
17
  export declare function takeGlobalSnapshotPatch(): SnapshotPatch | undefined;
18
18
  export declare function initGlobalSnapshotPatch(): void;
19
19
  export declare function deinitGlobalSnapshotPatch(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotPatch.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatch.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;GAIG;AAEH,MAAM,CAAN,IAAkB,iBASjB;AATD,WAAkB,iBAAiB;IACjC,2EAAa,CAAA;IACb,yEAAY,CAAA;IACZ,uEAAW,CAAA;IACX,yEAAY,CAAA;IACZ,2EAAa,CAAA;IAEb,2FAA0B,CAAA;IAC1B,mGAA8B,CAAA;AAChC,CAAC,EATiB,iBAAiB,KAAjB,iBAAiB,QASlC;AA2BD,MAAM,CAAC,IAAI,qBAA0B,CAAC;AAEtC,MAAM,UAAU,uBAAuB;IACrC,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,qBAAqB,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"snapshotPatch.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatch.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;GAIG;AAEH,MAAM,CAAN,IAAkB,iBASjB;AATD,WAAkB,iBAAiB;IACjC,2EAAa,CAAA;IACb,yEAAY,CAAA;IACZ,uEAAW,CAAA;IACX,yEAAY,CAAA;IACZ,2EAAa,CAAA;IAEb,2FAA0B,CAAA;IAC1B,mGAA8B,CAAA;AAChC,CAAC,EATiB,iBAAiB,KAAjB,iBAAiB,QASlC;AA2BD,MAAM,CAAC,IAAI,qBAAgD,CAAC;AAE5D,MAAM,UAAU,uBAAuB;IACrC,IAAI,qBAAqB,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,qBAAqB,GAAG,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,qBAAqB,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,qBAAqB,GAAG,SAAS,CAAC;AACpC,CAAC"}
@@ -11,11 +11,9 @@
11
11
  * removal, and attribute updates, ensuring they are applied in the correct
12
12
  * order and with proper error handling.
13
13
  */
14
- import { SnapshotInstance, createSnapshot, entryUniqID, snapshotInstanceManager, snapshotManager, } from '../../snapshot.js';
14
+ import { sendCtxNotFoundEventToBackground } from './error.js';
15
15
  import { SnapshotOperation } from './snapshotPatch.js';
16
- function reportCtxNotFound() {
17
- lynx.reportError(new Error(`snapshotPatchApply failed: ctx not found`));
18
- }
16
+ import { SnapshotInstance, createSnapshot, entryUniqID, snapshotInstanceManager, snapshotManager, } from '../../snapshot.js';
19
17
  /**
20
18
  * Applies a patch of snapshot operations to the main thread.
21
19
  * This is the counterpart to the patch generation in the background thread.
@@ -39,7 +37,7 @@ export function snapshotPatchApply(snapshotPatch) {
39
37
  const child = snapshotInstanceManager.values.get(childId);
40
38
  const existingNode = snapshotInstanceManager.values.get(beforeId);
41
39
  if (!parent || !child) {
42
- reportCtxNotFound();
40
+ sendCtxNotFoundEventToBackground(parent ? childId : parentId);
43
41
  }
44
42
  else {
45
43
  parent.insertBefore(child, existingNode);
@@ -52,7 +50,7 @@ export function snapshotPatchApply(snapshotPatch) {
52
50
  const parent = snapshotInstanceManager.values.get(parentId);
53
51
  const child = snapshotInstanceManager.values.get(childId);
54
52
  if (!parent || !child) {
55
- reportCtxNotFound();
53
+ sendCtxNotFoundEventToBackground(parent ? childId : parentId);
56
54
  }
57
55
  else {
58
56
  parent.removeChild(child);
@@ -68,7 +66,7 @@ export function snapshotPatchApply(snapshotPatch) {
68
66
  si.setAttribute(dynamicPartIndex, value);
69
67
  }
70
68
  else {
71
- reportCtxNotFound();
69
+ sendCtxNotFoundEventToBackground(id);
72
70
  }
73
71
  break;
74
72
  }
@@ -80,7 +78,7 @@ export function snapshotPatchApply(snapshotPatch) {
80
78
  si.setAttribute('values', values);
81
79
  }
82
80
  else {
83
- reportCtxNotFound();
81
+ sendCtxNotFoundEventToBackground(id);
84
82
  }
85
83
  break;
86
84
  }
@@ -90,12 +88,14 @@ export function snapshotPatchApply(snapshotPatch) {
90
88
  const create = snapshotPatch[++i];
91
89
  const update = snapshotPatch[++i];
92
90
  const slot = snapshotPatch[++i];
93
- const cssId = snapshotPatch[++i] ?? 0;
91
+ const cssId = (snapshotPatch[++i] ?? 0);
94
92
  const entryName = snapshotPatch[++i];
95
93
  if (!snapshotManager.values.has(entryUniqID(uniqID, entryName))) {
96
94
  // HMR-related
97
95
  // Update the evaluated snapshots from JS.
98
- createSnapshot(uniqID, evaluate(create), update.map(evaluate), slot, cssId, entryName);
96
+ createSnapshot(uniqID, evaluate(create),
97
+ // eslint-disable-next-line unicorn/no-array-callback-reference
98
+ update.map(evaluate), slot, cssId, entryName, null);
99
99
  }
100
100
  }
101
101
  break;
@@ -113,11 +113,18 @@ export function snapshotPatchApply(snapshotPatch) {
113
113
  }
114
114
  }
115
115
  }
116
+ /* v8 ignore start */
116
117
  /**
117
118
  * Evaluates a string as code with ReactLynx runtime injected.
118
119
  * Used for HMR (Hot Module Replacement) to update snapshot definitions.
119
120
  */
120
121
  function evaluate(code) {
121
- return new Function(`return ${code}`)();
122
+ if (__DEV__) {
123
+ // We are using `eval` here to make the updated snapshot to access variables like `__webpack_require__`.
124
+ // See: https://github.com/lynx-family/lynx-stack/issues/983.
125
+ return eval(`(() => ${code})()`);
126
+ }
127
+ throw new Error('unreachable: evaluate is not supported in production');
122
128
  }
129
+ /* v8 ignore stop */
123
130
  //# sourceMappingURL=snapshotPatchApply.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotPatchApply.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatchApply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshotPatchApply.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/snapshotPatchApply.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;;;;;;;;GASG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,uBAAuB,EACvB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,aAA4B;IAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAChC,QAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC1C,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC/B,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAuB,CAAC;gBAC1D,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,YAAY,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC3C,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC7C,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;oBACtB,gCAAgC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,MAAM,gBAAgB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACtD,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,EAAE,CAAC;oBACP,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACN,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;gBACxC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,EAAE,CAAC;oBACP,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC;qBAAM,CAAC;oBACN,gCAAgC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAW,CAAC;oBAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAa,CAAC;oBAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAgC,CAAC;oBAC/D,MAAM,KAAK,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAW,CAAC;oBAClD,MAAM,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC,CAAuB,CAAC;oBAE3D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;wBAChE,cAAc;wBACd,0CAA0C;wBAC1C,cAAc,CACZ,MAAM,EACN,QAAQ,CAA4C,MAAM,CAAC;wBAC3D,+DAA+D;wBAC/D,MAAM,CAAC,GAAG,CAAgE,QAAQ,CAAC,EACnF,IAAI,EACJ,KAAK,EACL,SAAS,EACT,IAAI,CACL,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACC,qDAAqD;YACrD,mBAAmB;YACnB,mBAAmB;YACnB,+CAA+C;YAC/C,gDAAgD;YAChD,6EAA6E;YAC7E,gDAAgD;YAChD,MAAM;YACN,WAAW;YACX,IAAI;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB;;;GAGG;AACH,SAAS,QAAQ,CAAI,IAAY;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,wGAAwG;QACxG,6DAA6D;QAC7D,OAAO,IAAI,CAAC,UAAU,IAAI,KAAK,CAAM,CAAC;IACxC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;AAC1E,CAAC;AACD,oBAAoB"}
@@ -1,3 +1,2 @@
1
1
  declare function injectUpdateMainThread(): void;
2
- declare function commitMainThreadPatchUpdate(commitTaskId?: number): void;
3
2
  export {};
@@ -2,15 +2,14 @@
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
4
  import { updateWorkletRefInitValueChanges } from '@lynx-js/react/worklet-runtime/bindings';
5
- import { snapshotPatchApply } from './snapshotPatchApply.js';
6
5
  import { LifecycleConstant } from '../../lifecycleConstant.js';
7
6
  import { __pendingListUpdates } from '../../list.js';
8
- import { markTiming, PerformanceTimingKeys, setPipeline } from '../../lynx/performance.js';
9
- import { takeGlobalRefPatchMap } from '../../snapshot/ref.js';
7
+ import { PerformanceTimingKeys, markTiming, setPipeline } from '../../lynx/performance.js';
10
8
  import { __page } from '../../snapshot.js';
11
- import { isEmptyObject } from '../../utils.js';
12
9
  import { getReloadVersion } from '../pass.js';
13
10
  import { setMainThreadHydrationFinished } from './isMainThreadHydrationFinished.js';
11
+ import { snapshotPatchApply } from './snapshotPatchApply.js';
12
+ import { applyRefQueue } from '../../snapshot/workletRef.js';
14
13
  function updateMainThread({ data, patchOptions }) {
15
14
  if ((patchOptions.reloadVersion) < getReloadVersion()) {
16
15
  return;
@@ -21,7 +20,7 @@ function updateMainThread({ data, patchOptions }) {
21
20
  const { patchList, flushOptions = {} } = JSON.parse(data);
22
21
  markTiming(PerformanceTimingKeys.parseChangesEnd);
23
22
  markTiming(PerformanceTimingKeys.patchChangesStart);
24
- for (const { snapshotPatch, workletRefInitValuePatch, id } of patchList) {
23
+ for (const { snapshotPatch, workletRefInitValuePatch } of patchList) {
25
24
  updateWorkletRefInitValueChanges(workletRefInitValuePatch);
26
25
  __pendingListUpdates.clear();
27
26
  if (snapshotPatch) {
@@ -30,13 +29,13 @@ function updateMainThread({ data, patchOptions }) {
30
29
  __pendingListUpdates.flush();
31
30
  // console.debug('********** Lepus updatePatch:');
32
31
  // printSnapshotInstance(snapshotInstanceManager.values.get(-1)!);
33
- commitMainThreadPatchUpdate(id);
34
32
  }
35
33
  markTiming(PerformanceTimingKeys.patchChangesEnd);
36
34
  markTiming(PerformanceTimingKeys.mtsRenderEnd);
37
35
  if (patchOptions.isHydration) {
38
36
  setMainThreadHydrationFinished(true);
39
37
  }
38
+ applyRefQueue();
40
39
  if (patchOptions.pipelineOptions) {
41
40
  flushOptions.pipelineOptions = patchOptions.pipelineOptions;
42
41
  }
@@ -46,14 +45,8 @@ function updateMainThread({ data, patchOptions }) {
46
45
  function injectUpdateMainThread() {
47
46
  Object.assign(globalThis, { [LifecycleConstant.patchUpdate]: updateMainThread });
48
47
  }
49
- function commitMainThreadPatchUpdate(commitTaskId) {
50
- const refPatch = takeGlobalRefPatchMap();
51
- if (!isEmptyObject(refPatch)) {
52
- __OnLifecycleEvent([LifecycleConstant.ref, { commitTaskId, refPatch: JSON.stringify(refPatch) }]);
53
- }
54
- }
55
48
  /**
56
49
  * @internal
57
50
  */
58
- export { commitMainThreadPatchUpdate, injectUpdateMainThread };
51
+ export { injectUpdateMainThread };
59
52
  //# sourceMappingURL=updateMainThread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateMainThread.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/updateMainThread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AAEpF,SAAS,gBAAgB,CACvB,EAAE,IAAI,EAAE,YAAY,EAGnB;IAED,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,gBAAgB,EAAE,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC1C,UAAU,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IAEvE,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEpD,KAAK,MAAM,EAAE,aAAa,EAAE,wBAAwB,EAAE,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;QACxE,gCAAgC,CAAC,wBAAwB,CAAC,CAAC;QAC3D,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,kDAAkD;QAClD,kEAAkE;QAElE,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IAC9D,CAAC;IACD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,2BAA2B,CAAC,YAAqB;IACxD,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"updateMainThread.js","sourceRoot":"","sources":["../../../src/lifecycle/patch/updateMainThread.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAE3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,SAAS,gBAAgB,CACvB,EAAE,IAAI,EAAE,YAAY,EAGnB;IAED,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,gBAAgB,EAAE,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC1C,UAAU,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACjD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;IAEvE,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEpD,KAAK,MAAM,EAAE,aAAa,EAAE,wBAAwB,EAAE,IAAI,SAAS,EAAE,CAAC;QACpE,gCAAgC,CAAC,wBAAwB,CAAC,CAAC;QAC3D,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAC7B,kDAAkD;QAClD,kEAAkE;IACpE,CAAC;IACD,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClD,UAAU,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;QAC7B,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,aAAa,EAAE,CAAC;IAChB,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;QACjC,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC;IAC9D,CAAC;IACD,4BAA4B;IAC5B,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { NodesRef } from '@lynx-js/types';
2
+ /**
3
+ * A flag to indicate whether UI operations should be delayed.
4
+ * When set to true, UI operations will be queued in the `delayedUiOps` array
5
+ * and executed later when `runDelayedUiOps` is called.
6
+ * This is used before hydration to ensure UI operations are batched
7
+ * and executed at the appropriate time.
8
+ */
9
+ declare const shouldDelayUiOps: {
10
+ value: boolean;
11
+ };
12
+ /**
13
+ * Executes all delayed UI operations.
14
+ */
15
+ declare function runDelayedUiOps(): void;
16
+ /**
17
+ * A proxy class designed for managing and executing reference-based tasks.
18
+ * It delays the execution of tasks until hydration is complete.
19
+ */
20
+ declare class RefProxy {
21
+ private readonly refAttr;
22
+ private task;
23
+ constructor(refAttr: [snapshotInstanceId: number, expIndex: number]);
24
+ private setTask;
25
+ invoke(...args: Parameters<NodesRef['invoke']>): RefProxy;
26
+ path(...args: Parameters<NodesRef['path']>): RefProxy;
27
+ fields(...args: Parameters<NodesRef['fields']>): RefProxy;
28
+ setNativeProps(...args: Parameters<NodesRef['setNativeProps']>): RefProxy;
29
+ exec(): void;
30
+ }
31
+ export {};
@@ -0,0 +1,80 @@
1
+ // Copyright 2024 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+ import { hydrationMap } from '../../snapshotInstanceHydrationMap.js';
5
+ /**
6
+ * A flag to indicate whether UI operations should be delayed.
7
+ * When set to true, UI operations will be queued in the `delayedUiOps` array
8
+ * and executed later when `runDelayedUiOps` is called.
9
+ * This is used before hydration to ensure UI operations are batched
10
+ * and executed at the appropriate time.
11
+ */
12
+ const shouldDelayUiOps = { value: true };
13
+ /**
14
+ * An array of functions that will be executed later when `runDelayedUiOps` is called.
15
+ * These functions contain UI operations that need to be delayed.
16
+ */
17
+ const delayedUiOps = [];
18
+ /**
19
+ * Runs a task either immediately or delays it based on the `shouldDelayUiOps` flag.
20
+ * @param task - The function to execute.
21
+ */
22
+ function runOrDelay(task) {
23
+ if (shouldDelayUiOps.value) {
24
+ delayedUiOps.push(task);
25
+ }
26
+ else {
27
+ task();
28
+ }
29
+ }
30
+ /**
31
+ * Executes all delayed UI operations.
32
+ */
33
+ function runDelayedUiOps() {
34
+ for (const task of delayedUiOps) {
35
+ task();
36
+ }
37
+ shouldDelayUiOps.value = false;
38
+ delayedUiOps.length = 0;
39
+ }
40
+ /**
41
+ * A proxy class designed for managing and executing reference-based tasks.
42
+ * It delays the execution of tasks until hydration is complete.
43
+ */
44
+ class RefProxy {
45
+ refAttr;
46
+ task;
47
+ constructor(refAttr) {
48
+ this.refAttr = refAttr;
49
+ }
50
+ setTask(method, args) {
51
+ this.task = (nodesRef) => {
52
+ return nodesRef[method](...args);
53
+ };
54
+ return this;
55
+ }
56
+ invoke(...args) {
57
+ return new RefProxy(this.refAttr).setTask('invoke', args);
58
+ }
59
+ path(...args) {
60
+ return new RefProxy(this.refAttr).setTask('path', args);
61
+ }
62
+ fields(...args) {
63
+ return new RefProxy(this.refAttr).setTask('fields', args);
64
+ }
65
+ setNativeProps(...args) {
66
+ return new RefProxy(this.refAttr).setTask('setNativeProps', args);
67
+ }
68
+ exec() {
69
+ runOrDelay(() => {
70
+ const realRefId = hydrationMap.get(this.refAttr[0]) ?? this.refAttr[0];
71
+ const refSelector = `[react-ref-${realRefId}-${this.refAttr[1]}]`;
72
+ this.task(lynx.createSelectorQuery().select(refSelector)).exec();
73
+ });
74
+ }
75
+ }
76
+ /**
77
+ * @internal
78
+ */
79
+ export { RefProxy, runDelayedUiOps, shouldDelayUiOps };
80
+ //# sourceMappingURL=delay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../src/lifecycle/ref/delay.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,YAAY,GAAmB,EAAE,CAAC;AAExC;;;GAGG;AACH,SAAS,UAAU,CAAC,IAAgB;IAClC,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,IAAI,EAAE,CAAC;IACT,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC;IACT,CAAC;IACD,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,QAAQ;IACK,OAAO,CAAiD;IACjE,IAAI,CAAsB;IAElC,YAAY,OAAuD;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,OAAO,CACb,MAAS,EACT,IAA6B;QAE7B,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE;YACvB,OAAQ,QAAQ,CAAC,MAAM,CAAkD,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,CAAC,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAG,IAAoC;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,GAAG,IAAkC;QACxC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,GAAG,IAAoC;QAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,GAAG,IAA4C;QAC5D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI;QACF,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,cAAc,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAClE,IAAI,CAAC,IAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
- declare function reloadMainThread(data: any, options: UpdatePageOption): void;
1
+ declare function reloadMainThread(data: unknown, options: UpdatePageOption): void;
2
2
  declare function reloadBackground(updateData: Record<string, any>): void;
3
3
  export { reloadBackground, reloadMainThread };
@@ -10,16 +10,17 @@ import { hydrate } from '../hydrate.js';
10
10
  import { LifecycleConstant } from '../lifecycleConstant.js';
11
11
  import { __pendingListUpdates } from '../list.js';
12
12
  import { __root, setRoot } from '../root.js';
13
+ import { destroyBackground } from './destroy.js';
14
+ import { applyRefQueue } from '../snapshot/workletRef.js';
13
15
  import { SnapshotInstance, __page, snapshotInstanceManager } from '../snapshot.js';
14
- import { takeGlobalRefPatchMap } from '../snapshot/ref.js';
15
16
  import { isEmptyObject } from '../utils.js';
16
17
  import { destroyWorklet } from '../worklet/destroy.js';
17
- import { destroyBackground } from './destroy.js';
18
18
  import { clearJSReadyEventIdSwap, isJSReady } from './event/jsReady.js';
19
19
  import { increaseReloadVersion } from './pass.js';
20
+ import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js';
20
21
  import { deinitGlobalSnapshotPatch } from './patch/snapshotPatch.js';
22
+ import { shouldDelayUiOps } from './ref/delay.js';
21
23
  import { renderMainThread } from './render.js';
22
- import { setMainThreadHydrationFinished } from './patch/isMainThreadHydrationFinished.js';
23
24
  function reloadMainThread(data, options) {
24
25
  if (__PROFILE__) {
25
26
  console.profile('reloadTemplate');
@@ -42,12 +43,12 @@ function reloadMainThread(data, options) {
42
43
  });
43
44
  // always call this before `__FlushElementTree`
44
45
  __pendingListUpdates.flush();
46
+ applyRefQueue();
45
47
  if (isJSReady) {
46
48
  __OnLifecycleEvent([
47
49
  LifecycleConstant.firstScreen, /* FIRST_SCREEN */
48
50
  {
49
51
  root: JSON.stringify(__root),
50
- refPatch: JSON.stringify(takeGlobalRefPatchMap()),
51
52
  },
52
53
  ]);
53
54
  }
@@ -66,6 +67,8 @@ function reloadBackground(updateData) {
66
67
  increaseReloadVersion();
67
68
  // COW when modify `lynx.__initData` to make sure Provider & Consumer works
68
69
  lynx.__initData = Object.assign({}, lynx.__initData, updateData);
70
+ shouldDelayUiOps.value = true;
71
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
69
72
  render(__root.__jsx, __root);
70
73
  if (__PROFILE__) {
71
74
  console.profileEnd();
@@ -1 +1 @@
1
- {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/lifecycle/reload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reload.js","sourceRoot":"","sources":["../../src/lifecycle/reload.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ function renderMainThread() {
12
12
  /* v8 ignore start */
13
13
  if (process.env['NODE_ENV'] === 'test' && typeof __TESTING_FORCE_RENDER_TO_OPCODE__ !== 'undefined'
14
14
  && !__TESTING_FORCE_RENDER_TO_OPCODE__) {
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
15
16
  render(__root.__jsx, __root);
16
17
  }
17
18
  else {
@@ -20,8 +21,7 @@ function renderMainThread() {
20
21
  if (__PROFILE__) {
21
22
  console.profile('renderToString');
22
23
  }
23
- // @ts-ignore
24
- opcodes = renderToString(__root.__jsx);
24
+ opcodes = renderToString(__root.__jsx, undefined);
25
25
  }
26
26
  catch (e) {
27
27
  lynx.reportError(e);
@@ -35,6 +35,7 @@ function renderMainThread() {
35
35
  if (__PROFILE__) {
36
36
  console.profile('renderOpcodesInto');
37
37
  }
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
38
39
  renderOpcodesInto(opcodes, __root);
39
40
  if (__ENABLE_SSR__) {
40
41
  __root.__opcodes = opcodes;
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/lifecycle/render.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,gBAAgB;IACvB,qBAAqB;IACrB,IACE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,kCAAkC,KAAK,WAAW;WAC5F,CAAC,kCAAkC,EACtC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,aAAa;YACb,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAU,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,iBAAiB,CAAC,OAAO,EAAE,MAAa,CAAC,CAAC;QAC1C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC7B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/lifecycle/render.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAE1D;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,SAAS,gBAAgB;IACvB,qBAAqB;IACrB,IACE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,OAAO,kCAAkC,KAAK,WAAW;WAC5F,CAAC,kCAAkC,EACtC,CAAC;QACD,iEAAiE;QACjE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAa,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,CAAC,CAAU,CAAC,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,iEAAiE;QACjE,iBAAiB,CAAC,OAAO,EAAE,MAAa,CAAC,CAAC;QAC1C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC7B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IACD,oBAAoB;AACtB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,10 +1,13 @@
1
- export declare class LifecycleConstant {
2
- static readonly firstScreen = "rLynxFirstScreen";
3
- static readonly updateFromRoot = "updateFromRoot";
4
- static readonly globalEventFromLepus = "globalEventFromLepus";
5
- static readonly ref = "rLynxRef";
6
- static readonly jsReady = "rLynxJSReady";
7
- static readonly patchUpdate = "rLynxChange";
1
+ export declare const enum LifecycleConstant {
2
+ firstScreen = "rLynxFirstScreen",
3
+ updateFromRoot = "updateFromRoot",
4
+ globalEventFromLepus = "globalEventFromLepus",
5
+ jsReady = "rLynxJSReady",
6
+ patchUpdate = "rLynxChange"
7
+ }
8
+ export interface FirstScreenData {
9
+ root: string;
10
+ jsReadyEventIdSwap: Record<string | number, number>;
8
11
  }
9
12
  export declare const enum NativeUpdateDataType {
10
13
  UPDATE = 0,
@@ -1,14 +1,14 @@
1
1
  // Copyright 2024 The Lynx Authors. All rights reserved.
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
- export class LifecycleConstant {
5
- static firstScreen = 'rLynxFirstScreen';
6
- static updateFromRoot = 'updateFromRoot';
7
- static globalEventFromLepus = 'globalEventFromLepus';
8
- static ref = 'rLynxRef';
9
- static jsReady = 'rLynxJSReady';
10
- static patchUpdate = 'rLynxChange';
11
- }
4
+ export var LifecycleConstant;
5
+ (function (LifecycleConstant) {
6
+ LifecycleConstant["firstScreen"] = "rLynxFirstScreen";
7
+ LifecycleConstant["updateFromRoot"] = "updateFromRoot";
8
+ LifecycleConstant["globalEventFromLepus"] = "globalEventFromLepus";
9
+ LifecycleConstant["jsReady"] = "rLynxJSReady";
10
+ LifecycleConstant["patchUpdate"] = "rLynxChange";
11
+ })(LifecycleConstant || (LifecycleConstant = {}));
12
12
  export var NativeUpdateDataType;
13
13
  (function (NativeUpdateDataType) {
14
14
  NativeUpdateDataType[NativeUpdateDataType["UPDATE"] = 0] = "UPDATE";
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycleConstant.js","sourceRoot":"","sources":["../src/lifecycleConstant.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,OAAO,iBAAiB;IACrB,MAAM,CAAU,WAAW,GAAG,kBAAkB,CAAC;IACjD,MAAM,CAAU,cAAc,GAAG,gBAAgB,CAAC;IAClD,MAAM,CAAU,oBAAoB,GAAG,sBAAsB,CAAC;IAC9D,MAAM,CAAU,GAAG,GAAG,UAAU,CAAC;IACjC,MAAM,CAAU,OAAO,GAAG,cAAc,CAAC;IACzC,MAAM,CAAU,WAAW,GAAG,aAAa,CAAC;;AAGrD,MAAM,CAAN,IAAkB,oBAGjB;AAHD,WAAkB,oBAAoB;IACpC,mEAAU,CAAA;IACV,iEAAS,CAAA;AACX,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC"}
1
+ {"version":3,"file":"lifecycleConstant.js","sourceRoot":"","sources":["../src/lifecycleConstant.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,yEAAyE;AACzE,0DAA0D;AAC1D,MAAM,CAAN,IAAkB,iBAMjB;AAND,WAAkB,iBAAiB;IACjC,qDAAgC,CAAA;IAChC,sDAAiC,CAAA;IACjC,kEAA6C,CAAA;IAC7C,6CAAwB,CAAA;IACxB,gDAA2B,CAAA;AAC7B,CAAC,EANiB,iBAAiB,KAAjB,iBAAiB,QAMlC;AAOD,MAAM,CAAN,IAAkB,oBAGjB;AAHD,WAAkB,oBAAoB;IACpC,mEAAU,CAAA;IACV,iEAAS,CAAA;AACX,CAAC,EAHiB,oBAAoB,KAApB,oBAAoB,QAGrC"}
@@ -1,4 +1,4 @@
1
- import type { SnapshotInstance } from './snapshot.js';
1
+ import { type SnapshotInstance } from './snapshot.js';
2
2
  export interface ListUpdateInfo {
3
3
  flush(): void;
4
4
  onInsertBefore(newNode: SnapshotInstance, existingNode?: SnapshotInstance): void;