@hot-updater/react-native 0.27.1 → 0.29.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 (87) hide show
  1. package/android/build.gradle +12 -0
  2. package/android/src/main/AndroidManifest.xml +3 -0
  3. package/android/src/main/AndroidManifestNew.xml +3 -0
  4. package/android/src/main/cpp/CMakeLists.txt +9 -0
  5. package/android/src/main/cpp/HotUpdaterRecovery.cpp +143 -0
  6. package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +325 -210
  7. package/android/src/main/java/com/hotupdater/BundleMetadata.kt +73 -16
  8. package/android/src/main/java/com/hotupdater/CohortService.kt +73 -0
  9. package/android/src/main/java/com/hotupdater/DecompressService.kt +28 -22
  10. package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +1 -1
  11. package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +51 -13
  12. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +533 -0
  13. package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryReceiver.kt +14 -0
  14. package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +55 -0
  15. package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +19 -7
  16. package/android/src/newarch/HotUpdaterModule.kt +16 -25
  17. package/android/src/oldarch/HotUpdaterModule.kt +20 -26
  18. package/android/src/oldarch/HotUpdaterSpec.kt +12 -2
  19. package/ios/HotUpdater/Internal/BundleFileStorageService.swift +340 -232
  20. package/ios/HotUpdater/Internal/BundleMetadata.swift +61 -8
  21. package/ios/HotUpdater/Internal/CohortService.swift +63 -0
  22. package/ios/HotUpdater/Internal/DecompressService.swift +53 -30
  23. package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +9 -1
  24. package/ios/HotUpdater/Internal/HotUpdater.mm +376 -70
  25. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.h +7 -0
  26. package/ios/HotUpdater/Internal/HotUpdaterCrashHandler.mm +4 -0
  27. package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +321 -9
  28. package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +24 -8
  29. package/lib/commonjs/DefaultResolver.js +3 -5
  30. package/lib/commonjs/DefaultResolver.js.map +1 -1
  31. package/lib/commonjs/checkForUpdate.js +2 -0
  32. package/lib/commonjs/checkForUpdate.js.map +1 -1
  33. package/lib/commonjs/index.js +13 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/native.js +211 -39
  36. package/lib/commonjs/native.js.map +1 -1
  37. package/lib/commonjs/native.spec.js +443 -0
  38. package/lib/commonjs/native.spec.js.map +1 -0
  39. package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
  40. package/lib/commonjs/types.js.map +1 -1
  41. package/lib/commonjs/wrap.js +4 -5
  42. package/lib/commonjs/wrap.js.map +1 -1
  43. package/lib/module/DefaultResolver.js +3 -5
  44. package/lib/module/DefaultResolver.js.map +1 -1
  45. package/lib/module/checkForUpdate.js +3 -1
  46. package/lib/module/checkForUpdate.js.map +1 -1
  47. package/lib/module/index.js +14 -1
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/native.js +204 -34
  50. package/lib/module/native.js.map +1 -1
  51. package/lib/module/native.spec.js +442 -0
  52. package/lib/module/native.spec.js.map +1 -0
  53. package/lib/module/specs/NativeHotUpdater.js.map +1 -1
  54. package/lib/module/types.js.map +1 -1
  55. package/lib/module/wrap.js +5 -6
  56. package/lib/module/wrap.js.map +1 -1
  57. package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/index.d.ts +14 -1
  59. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/native.d.ts +43 -23
  61. package/lib/typescript/commonjs/native.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +32 -8
  63. package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/types.d.ts +6 -3
  65. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/wrap.d.ts +3 -6
  67. package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
  68. package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
  69. package/lib/typescript/module/index.d.ts +14 -1
  70. package/lib/typescript/module/index.d.ts.map +1 -1
  71. package/lib/typescript/module/native.d.ts +43 -23
  72. package/lib/typescript/module/native.d.ts.map +1 -1
  73. package/lib/typescript/module/specs/NativeHotUpdater.d.ts +32 -8
  74. package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
  75. package/lib/typescript/module/types.d.ts +6 -3
  76. package/lib/typescript/module/types.d.ts.map +1 -1
  77. package/lib/typescript/module/wrap.d.ts +3 -6
  78. package/lib/typescript/module/wrap.d.ts.map +1 -1
  79. package/package.json +6 -6
  80. package/src/DefaultResolver.ts +4 -4
  81. package/src/checkForUpdate.ts +4 -0
  82. package/src/index.ts +21 -0
  83. package/src/native.spec.ts +480 -0
  84. package/src/native.ts +285 -39
  85. package/src/specs/NativeHotUpdater.ts +36 -6
  86. package/src/types.ts +7 -3
  87. package/src/wrap.tsx +8 -12
@@ -0,0 +1,442 @@
1
+ "use strict";
2
+
3
+ import { INVALID_COHORT_ERROR_MESSAGE } from "@hot-updater/core";
4
+ import { beforeEach, describe, expect, it, vi } from "vitest";
5
+ const nativeModuleMock = vi.hoisted(() => {
6
+ const getManifest = vi.fn();
7
+ const getCrashHistory = vi.fn(() => []);
8
+ return {
9
+ clearCrashHistory: vi.fn(() => true),
10
+ getBaseURL: vi.fn(() => null),
11
+ getBundleId: vi.fn(() => "bundle-id"),
12
+ getCohort: vi.fn(() => "123"),
13
+ getManifest,
14
+ getCrashHistory,
15
+ getConstants: vi.fn(() => ({
16
+ APP_VERSION: null,
17
+ CHANNEL: "production",
18
+ DEFAULT_CHANNEL: "production",
19
+ FINGERPRINT_HASH: null,
20
+ MIN_BUNDLE_ID: "min-bundle-id"
21
+ })),
22
+ notifyAppReady: vi.fn(),
23
+ reload: vi.fn(),
24
+ resetChannel: vi.fn(),
25
+ setCohort: vi.fn(),
26
+ setBundleURL: vi.fn(),
27
+ switchChannel: vi.fn(),
28
+ updateBundle: vi.fn()
29
+ };
30
+ });
31
+ vi.mock("react-native", () => ({
32
+ NativeEventEmitter: class {
33
+ addListener() {
34
+ return {
35
+ remove: () => {}
36
+ };
37
+ }
38
+ },
39
+ Platform: {
40
+ OS: "ios"
41
+ }
42
+ }));
43
+ vi.mock("./specs/NativeHotUpdater", () => ({
44
+ default: nativeModuleMock
45
+ }));
46
+ describe("notifyAppReady", () => {
47
+ beforeEach(() => {
48
+ vi.resetModules();
49
+ nativeModuleMock.notifyAppReady.mockReset();
50
+ nativeModuleMock.getBaseURL.mockReset();
51
+ nativeModuleMock.getBundleId.mockReset();
52
+ nativeModuleMock.getCrashHistory.mockReset();
53
+ nativeModuleMock.getConstants.mockReturnValue({
54
+ APP_VERSION: null,
55
+ CHANNEL: "production",
56
+ DEFAULT_CHANNEL: "production",
57
+ FINGERPRINT_HASH: null,
58
+ MIN_BUNDLE_ID: "min-bundle-id"
59
+ });
60
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-id");
61
+ nativeModuleMock.getBaseURL.mockReturnValue(null);
62
+ nativeModuleMock.getCrashHistory.mockReturnValue([]);
63
+ nativeModuleMock.getCohort.mockReset();
64
+ nativeModuleMock.getCohort.mockReturnValue("123");
65
+ nativeModuleMock.getManifest.mockReset();
66
+ nativeModuleMock.getManifest.mockReturnValue({
67
+ assets: {
68
+ "index.android.bundle": {
69
+ fileHash: "hash-123"
70
+ }
71
+ },
72
+ bundleId: "bundle-id"
73
+ });
74
+ nativeModuleMock.resetChannel.mockReset();
75
+ nativeModuleMock.setCohort.mockReset();
76
+ nativeModuleMock.updateBundle.mockReset();
77
+ });
78
+ it("normalizes legacy PROMOTED launch reports to STABLE", async () => {
79
+ nativeModuleMock.notifyAppReady.mockReturnValue(JSON.stringify({
80
+ status: "PROMOTED"
81
+ }));
82
+ const {
83
+ notifyAppReady
84
+ } = await import("./native");
85
+ expect(notifyAppReady()).toEqual({
86
+ status: "STABLE"
87
+ });
88
+ expect(nativeModuleMock.notifyAppReady).toHaveBeenCalledWith();
89
+ });
90
+ it("returns RECOVERED launch reports unchanged", async () => {
91
+ nativeModuleMock.notifyAppReady.mockReturnValue({
92
+ crashedBundleId: "bundle-123",
93
+ status: "RECOVERED"
94
+ });
95
+ const {
96
+ notifyAppReady
97
+ } = await import("./native");
98
+ expect(notifyAppReady()).toEqual({
99
+ crashedBundleId: "bundle-123",
100
+ status: "RECOVERED"
101
+ });
102
+ });
103
+ it("falls back to STABLE for malformed old-arch payloads", async () => {
104
+ nativeModuleMock.notifyAppReady.mockReturnValue("{");
105
+ const {
106
+ notifyAppReady
107
+ } = await import("./native");
108
+ expect(notifyAppReady()).toEqual({
109
+ status: "STABLE"
110
+ });
111
+ });
112
+ it("returns the native bundle id when available", async () => {
113
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-123");
114
+ const {
115
+ getBundleId
116
+ } = await import("./native");
117
+ expect(getBundleId()).toBe("bundle-123");
118
+ });
119
+ it("throws when native SDK does not expose getBundleId", async () => {
120
+ const nativeModule = nativeModuleMock;
121
+ const originalGetBundleId = nativeModule.getBundleId;
122
+ nativeModule.getBundleId = null;
123
+ try {
124
+ const {
125
+ getBundleId
126
+ } = await import("./native");
127
+ expect(() => getBundleId()).toThrow("Native module is missing 'getBundleId()'");
128
+ } finally {
129
+ nativeModule.getBundleId = originalGetBundleId;
130
+ }
131
+ });
132
+ it("falls back to MIN_BUNDLE_ID when native reports an empty bundle id", async () => {
133
+ nativeModuleMock.getBundleId.mockReturnValue("");
134
+ const {
135
+ getBundleId
136
+ } = await import("./native");
137
+ expect(getBundleId()).toBe("min-bundle-id");
138
+ });
139
+ it("falls back to MIN_BUNDLE_ID when native bundle id is null", async () => {
140
+ nativeModuleMock.getBundleId.mockReturnValue(null);
141
+ const {
142
+ getBundleId
143
+ } = await import("./native");
144
+ expect(getBundleId()).toBe("min-bundle-id");
145
+ });
146
+ it("falls back to MIN_BUNDLE_ID for legacy NIL_UUID bundle ids", async () => {
147
+ nativeModuleMock.getBundleId.mockReturnValue("00000000-0000-0000-0000-000000000000");
148
+ const {
149
+ getBundleId
150
+ } = await import("./native");
151
+ expect(getBundleId()).toBe("min-bundle-id");
152
+ });
153
+ it("returns manifest from native objects", async () => {
154
+ nativeModuleMock.getManifest.mockReturnValue({
155
+ assets: {
156
+ "assets/logo.png": {
157
+ fileHash: "hash-logo"
158
+ },
159
+ "index.android.bundle": {
160
+ fileHash: "hash-bundle"
161
+ }
162
+ },
163
+ bundleId: "bundle-123"
164
+ });
165
+ const {
166
+ getManifest
167
+ } = await import("./native");
168
+ expect(getManifest()).toEqual({
169
+ assets: {
170
+ "assets/logo.png": {
171
+ fileHash: "hash-logo"
172
+ },
173
+ "index.android.bundle": {
174
+ fileHash: "hash-bundle"
175
+ }
176
+ },
177
+ bundleId: "bundle-123"
178
+ });
179
+ });
180
+ it("normalizes legacy manifest asset entries from native objects", async () => {
181
+ nativeModuleMock.getManifest.mockReturnValue({
182
+ assets: {
183
+ "assets/logo.png": "hash-logo"
184
+ },
185
+ bundleId: "bundle-123"
186
+ });
187
+ const {
188
+ getManifest
189
+ } = await import("./native");
190
+ expect(getManifest()).toEqual({
191
+ assets: {
192
+ "assets/logo.png": {
193
+ fileHash: "hash-logo"
194
+ }
195
+ },
196
+ bundleId: "bundle-123"
197
+ });
198
+ });
199
+ it("parses manifest from old-arch JSON payloads", async () => {
200
+ nativeModuleMock.getManifest.mockReturnValue(JSON.stringify({
201
+ assets: {
202
+ "assets/logo.png": {
203
+ fileHash: "hash-logo"
204
+ }
205
+ },
206
+ bundleId: "bundle-123"
207
+ }));
208
+ const {
209
+ getManifest
210
+ } = await import("./native");
211
+ expect(getManifest()).toEqual({
212
+ assets: {
213
+ "assets/logo.png": {
214
+ fileHash: "hash-logo"
215
+ }
216
+ },
217
+ bundleId: "bundle-123"
218
+ });
219
+ });
220
+ it("normalizes legacy manifest asset entries from old-arch JSON payloads", async () => {
221
+ nativeModuleMock.getManifest.mockReturnValue(JSON.stringify({
222
+ assets: {
223
+ "assets/logo.png": "hash-logo"
224
+ },
225
+ bundleId: "bundle-123"
226
+ }));
227
+ const {
228
+ getManifest
229
+ } = await import("./native");
230
+ expect(getManifest()).toEqual({
231
+ assets: {
232
+ "assets/logo.png": {
233
+ fileHash: "hash-logo"
234
+ }
235
+ },
236
+ bundleId: "bundle-123"
237
+ });
238
+ });
239
+ it("returns an empty-assets manifest for malformed payloads", async () => {
240
+ nativeModuleMock.getManifest.mockReturnValue("{");
241
+ const {
242
+ getManifest
243
+ } = await import("./native");
244
+ expect(getManifest()).toEqual({
245
+ assets: {},
246
+ bundleId: "bundle-id"
247
+ });
248
+ });
249
+ it("caches active bundle getters within a JS runtime", async () => {
250
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-123");
251
+ nativeModuleMock.getManifest.mockReturnValue({
252
+ assets: {
253
+ "assets/logo.png": {
254
+ fileHash: "hash-logo"
255
+ }
256
+ },
257
+ bundleId: "bundle-123"
258
+ });
259
+ nativeModuleMock.getBaseURL.mockReturnValue("file:///bundle-123");
260
+ const {
261
+ getBaseURL,
262
+ getBundleId,
263
+ getManifest
264
+ } = await import("./native");
265
+ expect(getBundleId()).toBe("bundle-123");
266
+ expect(getBundleId()).toBe("bundle-123");
267
+ expect(nativeModuleMock.getBundleId).toHaveBeenCalledTimes(1);
268
+ const firstManifest = getManifest();
269
+ firstManifest.assets["assets/logo.png"] = {
270
+ fileHash: "mutated-hash"
271
+ };
272
+ expect(getManifest()).toEqual({
273
+ assets: {
274
+ "assets/logo.png": {
275
+ fileHash: "hash-logo"
276
+ }
277
+ },
278
+ bundleId: "bundle-123"
279
+ });
280
+ expect(nativeModuleMock.getManifest).toHaveBeenCalledTimes(1);
281
+ expect(getBaseURL()).toBe("file:///bundle-123");
282
+ expect(getBaseURL()).toBe("file:///bundle-123");
283
+ expect(nativeModuleMock.getBaseURL).toHaveBeenCalledTimes(1);
284
+ });
285
+ it("invalidates cached bundle getters after updateBundle succeeds", async () => {
286
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-123");
287
+ nativeModuleMock.getManifest.mockReturnValue({
288
+ assets: {},
289
+ bundleId: "bundle-123"
290
+ });
291
+ nativeModuleMock.getBaseURL.mockReturnValue("file:///bundle-123");
292
+ nativeModuleMock.updateBundle.mockResolvedValue(true);
293
+ const {
294
+ getBaseURL,
295
+ getBundleId,
296
+ getManifest,
297
+ updateBundle
298
+ } = await import("./native");
299
+ expect(getBundleId()).toBe("bundle-123");
300
+ expect(getManifest()).toEqual({
301
+ assets: {},
302
+ bundleId: "bundle-123"
303
+ });
304
+ expect(getBaseURL()).toBe("file:///bundle-123");
305
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-456");
306
+ nativeModuleMock.getManifest.mockReturnValue({
307
+ assets: {},
308
+ bundleId: "bundle-456"
309
+ });
310
+ nativeModuleMock.getBaseURL.mockReturnValue("file:///bundle-456");
311
+ await updateBundle({
312
+ bundleId: "bundle-456",
313
+ fileHash: null,
314
+ fileUrl: "https://example.com/bundle.zip",
315
+ status: "UPDATE"
316
+ });
317
+ expect(getBundleId()).toBe("bundle-456");
318
+ expect(getManifest()).toEqual({
319
+ assets: {},
320
+ bundleId: "bundle-456"
321
+ });
322
+ expect(getBaseURL()).toBe("file:///bundle-456");
323
+ expect(nativeModuleMock.getBundleId).toHaveBeenCalledTimes(2);
324
+ expect(nativeModuleMock.getManifest).toHaveBeenCalledTimes(2);
325
+ expect(nativeModuleMock.getBaseURL).toHaveBeenCalledTimes(2);
326
+ });
327
+ it("invalidates cached bundle getters after resetChannel succeeds", async () => {
328
+ nativeModuleMock.getConstants.mockReturnValue({
329
+ APP_VERSION: null,
330
+ CHANNEL: "beta",
331
+ DEFAULT_CHANNEL: "production",
332
+ FINGERPRINT_HASH: null,
333
+ MIN_BUNDLE_ID: "min-bundle-id"
334
+ });
335
+ nativeModuleMock.getBundleId.mockReturnValue("bundle-beta");
336
+ nativeModuleMock.getManifest.mockReturnValue({
337
+ assets: {},
338
+ bundleId: "bundle-beta"
339
+ });
340
+ nativeModuleMock.getBaseURL.mockReturnValue("file:///bundle-beta");
341
+ nativeModuleMock.resetChannel.mockResolvedValue(true);
342
+ const {
343
+ getBaseURL,
344
+ getBundleId,
345
+ getManifest,
346
+ resetChannel
347
+ } = await import("./native");
348
+ expect(getBundleId()).toBe("bundle-beta");
349
+ expect(getManifest()).toEqual({
350
+ assets: {},
351
+ bundleId: "bundle-beta"
352
+ });
353
+ expect(getBaseURL()).toBe("file:///bundle-beta");
354
+ nativeModuleMock.getBundleId.mockReturnValue(null);
355
+ nativeModuleMock.getManifest.mockReturnValue({});
356
+ nativeModuleMock.getBaseURL.mockReturnValue("");
357
+ await expect(resetChannel()).resolves.toBe(true);
358
+ expect(getBundleId()).toBe("min-bundle-id");
359
+ expect(getManifest()).toEqual({
360
+ assets: {},
361
+ bundleId: "min-bundle-id"
362
+ });
363
+ expect(getBaseURL()).toBeNull();
364
+ expect(nativeModuleMock.getBundleId).toHaveBeenCalledTimes(2);
365
+ expect(nativeModuleMock.getManifest).toHaveBeenCalledTimes(2);
366
+ expect(nativeModuleMock.getBaseURL).toHaveBeenCalledTimes(2);
367
+ });
368
+ it("parses crash history from legacy JSON payloads", async () => {
369
+ nativeModuleMock.getCrashHistory.mockReturnValue(JSON.stringify(["bundle-1", "bundle-2"]));
370
+ const {
371
+ getCrashHistory
372
+ } = await import("./native");
373
+ expect(getCrashHistory()).toEqual(["bundle-1", "bundle-2"]);
374
+ });
375
+ it("falls back to an empty crash history for malformed payloads", async () => {
376
+ nativeModuleMock.getCrashHistory.mockReturnValue("{");
377
+ const {
378
+ getCrashHistory
379
+ } = await import("./native");
380
+ expect(getCrashHistory()).toEqual([]);
381
+ });
382
+ it("passes normalized cohort overrides to native", async () => {
383
+ const {
384
+ setCohort
385
+ } = await import("./native");
386
+ setCohort(" QA-Group ");
387
+ expect(nativeModuleMock.setCohort).toHaveBeenCalledWith("qa-group");
388
+ });
389
+ it("returns the most recently set cohort before native reads catch up", async () => {
390
+ nativeModuleMock.getCohort.mockReturnValue("123");
391
+ const {
392
+ getCohort,
393
+ setCohort
394
+ } = await import("./native");
395
+ setCohort(" QA-Group ");
396
+ expect(getCohort()).toBe("qa-group");
397
+ expect(nativeModuleMock.getCohort).not.toHaveBeenCalled();
398
+ });
399
+ it("throws when attempting to clear the cohort with an empty value", async () => {
400
+ const {
401
+ setCohort
402
+ } = await import("./native");
403
+ expect(() => setCohort("")).toThrow(INVALID_COHORT_ERROR_MESSAGE);
404
+ expect(nativeModuleMock.setCohort).not.toHaveBeenCalled();
405
+ });
406
+ it("throws for invalid cohort overrides", async () => {
407
+ const {
408
+ setCohort
409
+ } = await import("./native");
410
+ expect(() => setCohort("Bad Cohort")).toThrow(INVALID_COHORT_ERROR_MESSAGE);
411
+ expect(nativeModuleMock.setCohort).not.toHaveBeenCalled();
412
+ });
413
+ it("throws for cohort overrides longer than the limit", async () => {
414
+ const {
415
+ setCohort
416
+ } = await import("./native");
417
+ expect(() => setCohort("a".repeat(65))).toThrow(INVALID_COHORT_ERROR_MESSAGE);
418
+ expect(nativeModuleMock.setCohort).not.toHaveBeenCalled();
419
+ });
420
+ it("returns the cohort reported by native", async () => {
421
+ nativeModuleMock.getCohort.mockReturnValue("qa-group");
422
+ const {
423
+ getCohort
424
+ } = await import("./native");
425
+ expect(getCohort()).toBe("qa-group");
426
+ });
427
+ it("normalizes the cohort reported by native", async () => {
428
+ nativeModuleMock.getCohort.mockReturnValue(" QA-GROUP ");
429
+ const {
430
+ getCohort
431
+ } = await import("./native");
432
+ expect(getCohort()).toBe("qa-group");
433
+ });
434
+ it("throws when native reports an invalid cohort", async () => {
435
+ nativeModuleMock.getCohort.mockReturnValue("1001");
436
+ const {
437
+ getCohort
438
+ } = await import("./native");
439
+ expect(() => getCohort()).toThrow(INVALID_COHORT_ERROR_MESSAGE);
440
+ });
441
+ });
442
+ //# sourceMappingURL=native.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","beforeEach","describe","expect","it","vi","nativeModuleMock","hoisted","getManifest","fn","getCrashHistory","clearCrashHistory","getBaseURL","getBundleId","getCohort","getConstants","APP_VERSION","CHANNEL","DEFAULT_CHANNEL","FINGERPRINT_HASH","MIN_BUNDLE_ID","notifyAppReady","reload","resetChannel","setCohort","setBundleURL","switchChannel","updateBundle","mock","NativeEventEmitter","addListener","remove","Platform","OS","default","resetModules","mockReset","mockReturnValue","assets","fileHash","bundleId","JSON","stringify","status","toEqual","toHaveBeenCalledWith","crashedBundleId","toBe","nativeModule","originalGetBundleId","toThrow","toHaveBeenCalledTimes","firstManifest","mockResolvedValue","fileUrl","resolves","toBeNull","not","toHaveBeenCalled","repeat"],"sourceRoot":"../../src","sources":["native.spec.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAwHlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAsJlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAGA;AACA;AACA;;AAgDA;AACA;AACA;;AA0BA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,4BAA4BA,CAACC,KAAc,EAAW;EACpE,IAAI,EAAEA,KAAK,YAAYC,KAAK,CAAC,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACE,OAAO,CAACC,WAAW,CAAC,CAAC;;EAE3C;EACA;EACA,OACED,OAAO,CAACE,QAAQ,CAAC,wBAAwB,CAAC,IAC1CF,OAAO,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAC7CF,OAAO,CAACE,QAAQ,CAAC,8BAA8B,CAAC,IAChDF,OAAO,CAACE,QAAQ,CAAC,6BAA6B,CAAC,IAC/CF,OAAO,CAACE,QAAQ,CAAC,qCAAqC,CAAC;AAE3D;;AAEA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CACrCL,KAAc,EACdM,QAAgB,EACc;EAC9B,MAAMC,eAAe,GACnBP,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACO,MAAM,CAACR,KAAK,CAAC,CAAC;EAE3D,OAAO;IACLM,QAAQ;IACRJ,OAAO,EAAEK,eAAe,CAACL,OAAO;IAChCF,KAAK,EAAEO;EACT,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["isSignatureVerificationError","error","Error","message","toLowerCase","includes","extractSignatureFailure","bundleId","normalizedError","String"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAGA;AACA;AACA;;AAqDA;AACA;AACA;;AAyBA;AACA;AACA;;AAoDA;AACA;AACA;AACA;AACA;;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,4BAA4BA,CAACC,KAAc,EAAW;EACpE,IAAI,EAAEA,KAAK,YAAYC,KAAK,CAAC,EAAE;IAC7B,OAAO,KAAK;EACd;EAEA,MAAMC,OAAO,GAAGF,KAAK,CAACE,OAAO,CAACC,WAAW,CAAC,CAAC;;EAE3C;EACA;EACA,OACED,OAAO,CAACE,QAAQ,CAAC,wBAAwB,CAAC,IAC1CF,OAAO,CAACE,QAAQ,CAAC,2BAA2B,CAAC,IAC7CF,OAAO,CAACE,QAAQ,CAAC,8BAA8B,CAAC,IAChDF,OAAO,CAACE,QAAQ,CAAC,6BAA6B,CAAC,IAC/CF,OAAO,CAACE,QAAQ,CAAC,qCAAqC,CAAC;AAE3D;;AAEA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CACrCL,KAAc,EACdM,QAAgB,EACc;EAC9B,MAAMC,eAAe,GACnBP,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACO,MAAM,CAACR,KAAK,CAAC,CAAC;EAE3D,OAAO;IACLM,QAAQ;IACRJ,OAAO,EAAEK,eAAe,CAACL,OAAO;IAChCF,KAAK,EAAEO;EACT,CAAC;AACH","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useLayoutEffect, useState } from "react";
3
+ import React, { useEffect, useState } from "react";
4
4
  import { checkForUpdate } from "./checkForUpdate.js";
5
5
  import { useEventCallback } from "./hooks/useEventCallback.js";
6
6
  import { getBundleId, notifyAppReady as nativeNotifyAppReady, reload } from "./native.js";
@@ -32,7 +32,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
32
32
  */
33
33
  const handleNotifyAppReady = async options => {
34
34
  try {
35
- // Always call native notifyAppReady for bundle promotion
36
35
  const nativeResult = nativeNotifyAppReady();
37
36
 
38
37
  // If resolver.notifyAppReady exists, call it with simplified params
@@ -55,7 +54,7 @@ export function wrap(options) {
55
54
  if (options.updateMode === "manual") {
56
55
  return WrappedComponent => {
57
56
  const ManualHOC = props => {
58
- useLayoutEffect(() => {
57
+ useEffect(() => {
59
58
  void handleNotifyAppReady(options);
60
59
  }, []);
61
60
  return /*#__PURE__*/_jsx(WrappedComponent, {
@@ -135,13 +134,13 @@ export function wrap(options) {
135
134
  restOptions.onProgress?.(progress);
136
135
  }, [progress]);
137
136
 
138
- // Notify native side that app is ready (JS bundle fully loaded)
139
- useLayoutEffect(() => {
137
+ // Read the native launch report after the first render commit.
138
+ useEffect(() => {
140
139
  void handleNotifyAppReady(restOptions);
141
140
  }, []);
142
141
 
143
142
  // Start update check
144
- useLayoutEffect(() => {
143
+ useEffect(() => {
145
144
  initHotUpdater();
146
145
  }, []);
147
146
  if (restOptions.fallbackComponent && updateStatus !== "UPDATE_PROCESS_COMPLETED") {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useLayoutEffect","useState","checkForUpdate","useEventCallback","getBundleId","notifyAppReady","nativeNotifyAppReady","reload","useHotUpdaterStore","jsx","_jsx","handleNotifyAppReady","options","nativeResult","resolver","status","crashedBundleId","requestHeaders","requestTimeout","catch","e","console","warn","onNotifyAppReady","wrap","updateMode","WrappedComponent","ManualHOC","props","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progress","state","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","updateStrategy","onError","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","error","isSuccess","Error","onProgress","fallbackComponent","Fallback"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getBundleId","notifyAppReady","nativeNotifyAppReady","reload","useHotUpdaterStore","jsx","_jsx","handleNotifyAppReady","options","nativeResult","resolver","status","crashedBundleId","requestHeaders","requestTimeout","catch","e","console","warn","onNotifyAppReady","wrap","updateMode","WrappedComponent","ManualHOC","props","reloadOnForceUpdate","restOptions","HotUpdaterHOC","progress","state","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","updateInfo","updateStrategy","onError","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","error","isSuccess","Error","onProgress","fallbackComponent","Fallback"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAcvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAGF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAUD,wBAAsB,cAAc,CAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA2GtC"}
1
+ {"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAevD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG;IACjD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAGF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAUD,wBAAsB,cAAc,CAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA8GtC"}
@@ -1,7 +1,7 @@
1
1
  import { type CheckForUpdateOptions } from "./checkForUpdate";
2
2
  import { setReloadBehavior, type UpdateParams } from "./native";
3
3
  import { type HotUpdaterOptions } from "./wrap";
4
- export type { CustomReloadHandler, HotUpdaterEvent, NotifyAppReadyResult, ReloadBehavior, ReloadBehaviorSetting, } from "./native";
4
+ export type { CustomReloadHandler, HotUpdaterEvent, Manifest, ManifestAsset, NotifyAppReadyResult, ReloadBehavior, ReloadBehaviorSetting, } from "./native";
5
5
  export * from "./store";
6
6
  export { extractSignatureFailure, type HotUpdaterResolver, isSignatureVerificationError, type ResolverCheckUpdateParams, type ResolverNotifyAppReadyParams, type SignatureVerificationFailure, } from "./types";
7
7
  export type { HotUpdaterOptions, RunUpdateProcessResponse } from "./wrap";
@@ -76,6 +76,10 @@ export declare const HotUpdater: {
76
76
  * Retrieves the initial bundle ID based on the build time of the native app.
77
77
  */
78
78
  getMinBundleId: () => string;
79
+ /**
80
+ * Fetches the current manifest for the active bundle.
81
+ */
82
+ getManifest: () => import("./native").Manifest;
79
83
  /**
80
84
  * Fetches the current channel of the app.
81
85
  *
@@ -109,6 +113,15 @@ export declare const HotUpdater: {
109
113
  * @returns {boolean} true when a non-default channel has been applied
110
114
  */
111
115
  isChannelSwitched: () => boolean;
116
+ /**
117
+ * Sets the persisted cohort used for rollout calculations.
118
+ * Call `getCohort()` first if you need to restore the initial value later.
119
+ */
120
+ setCohort: (cohort: string) => void;
121
+ /**
122
+ * Gets the persisted cohort used for rollout calculations.
123
+ */
124
+ getCohort: () => string;
112
125
  /**
113
126
  * Adds a listener to HotUpdater events.
114
127
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAcL,iBAAiB,EACjB,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,QAAQ,CAAC;AAEhF,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAwX1E,eAAO,MAAM,UAAU;IAxTnB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oBACa,iBAAiB;IAuCjC;;OAEG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;OAIG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;6BACsB,qBAAqB;IAgB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;2BACoB,YAAY;IAKnC;;;;OAIG;;IAYH;;;;;;;;;;OAUG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;CAK2C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAiBL,iBAAiB,EACjB,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,QAAQ,CAAC;AAEhF,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAwY1E,eAAO,MAAM,UAAU;IAxUnB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oBACa,iBAAiB;IAuCjC;;OAEG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;6BACsB,qBAAqB;IAgB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;2BACoB,YAAY;IAKnC;;;;OAIG;;IAYH;;;;;;;;;;OAUG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;CAK2C,CAAC"}