@hot-updater/react-native 1.0.0-rc.14 → 1.0.0-rc.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/proguard-rules.pro +2 -2
- package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
- package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +650 -636
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +3 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +0 -13
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +10 -14
- package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +19 -0
- package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
- package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
- package/android/src/newarch/HotUpdater.kt +7 -9
- package/android/src/newarch/HotUpdaterModule.kt +40 -20
- package/android/src/oldarch/HotUpdater.kt +7 -9
- package/android/src/oldarch/HotUpdaterModule.kt +40 -20
- package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +1126 -74
- package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +4 -5
- package/android/src/test/java/com/hotupdater/TarBrArchiveExtractorTest.kt +206 -0
- package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
- package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +773 -1016
- package/ios/HotUpdater/Internal/BundleMetadata.swift +5 -0
- package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
- package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
- package/ios/HotUpdater/Internal/HotUpdater.mm +5 -27
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +47 -31
- package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
- package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
- package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +13 -72
- package/lib/commonjs/checkForUpdate.js +7 -10
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +9 -4
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/commonjs/error.js +4 -13
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/fetchJSON.js +9 -2
- package/lib/commonjs/fetchJSON.js.map +1 -1
- package/lib/commonjs/httpClient.js +151 -39
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/httpClient.spec.js +247 -5
- package/lib/commonjs/httpClient.spec.js.map +1 -1
- package/lib/commonjs/index.js +15 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.spec.js +101 -0
- package/lib/commonjs/index.spec.js.map +1 -1
- package/lib/commonjs/native.js +7 -8
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.spec.js +21 -16
- package/lib/commonjs/native.spec.js.map +1 -1
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +7 -0
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +1 -1
- package/lib/commonjs/notifyAppReadyInsights.js +4 -1
- package/lib/commonjs/notifyAppReadyInsights.js.map +1 -1
- package/lib/commonjs/notifyAppReadyInsights.spec.js +59 -0
- package/lib/commonjs/notifyAppReadyInsights.spec.js.map +1 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +55 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/store.js +3 -10
- package/lib/commonjs/store.js.map +1 -1
- package/lib/commonjs/store.notification.spec.js +12 -4
- package/lib/commonjs/store.notification.spec.js.map +1 -1
- package/lib/commonjs/store.spec.js +2 -136
- package/lib/commonjs/store.spec.js.map +1 -1
- package/lib/commonjs/uuidv7.js +41 -0
- package/lib/commonjs/uuidv7.js.map +1 -0
- package/lib/commonjs/uuidv7.spec.js +30 -0
- package/lib/commonjs/uuidv7.spec.js.map +1 -0
- package/lib/commonjs/wrap.js +1 -3
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/commonjs/wrap.spec.js +7 -0
- package/lib/commonjs/wrap.spec.js.map +1 -1
- package/lib/module/checkForUpdate.js +7 -10
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +9 -4
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/module/error.js +4 -13
- package/lib/module/error.js.map +1 -1
- package/lib/module/fetchJSON.js +7 -1
- package/lib/module/fetchJSON.js.map +1 -1
- package/lib/module/httpClient.js +153 -41
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/httpClient.spec.js +248 -6
- package/lib/module/httpClient.spec.js.map +1 -1
- package/lib/module/index.js +15 -8
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.spec.js +102 -1
- package/lib/module/index.spec.js.map +1 -1
- package/lib/module/native.js +7 -8
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.spec.js +21 -16
- package/lib/module/native.spec.js.map +1 -1
- package/lib/module/notifyAppReadyInsights.boundary.spec.js +7 -0
- package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +1 -1
- package/lib/module/notifyAppReadyInsights.js +5 -2
- package/lib/module/notifyAppReadyInsights.js.map +1 -1
- package/lib/module/notifyAppReadyInsights.spec.js +59 -0
- package/lib/module/notifyAppReadyInsights.spec.js.map +1 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js +55 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +1 -1
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/store.js +3 -10
- package/lib/module/store.js.map +1 -1
- package/lib/module/store.notification.spec.js +12 -4
- package/lib/module/store.notification.spec.js.map +1 -1
- package/lib/module/store.spec.js +2 -136
- package/lib/module/store.spec.js.map +1 -1
- package/lib/module/uuidv7.js +36 -0
- package/lib/module/uuidv7.js.map +1 -0
- package/lib/module/uuidv7.spec.js +30 -0
- package/lib/module/uuidv7.spec.js.map +1 -0
- package/lib/module/wrap.js +1 -3
- package/lib/module/wrap.js.map +1 -1
- package/lib/module/wrap.spec.js +7 -0
- package/lib/module/wrap.spec.js.map +1 -1
- package/lib/typescript/commonjs/checkForUpdate.d.ts +1 -2
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/error.d.ts +4 -13
- package/lib/typescript/commonjs/error.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchJSON.d.ts +4 -0
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/commonjs/httpClient.d.ts +6 -0
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +0 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +1 -6
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +1 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +8 -35
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/commonjs/store.d.ts +1 -3
- package/lib/typescript/commonjs/store.d.ts.map +1 -1
- package/lib/typescript/commonjs/uuidv7.d.ts +10 -0
- package/lib/typescript/commonjs/uuidv7.d.ts.map +1 -0
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +7 -4
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
- package/lib/typescript/module/checkForUpdate.d.ts +1 -2
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/error.d.ts +4 -13
- package/lib/typescript/module/error.d.ts.map +1 -1
- package/lib/typescript/module/fetchJSON.d.ts +4 -0
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/module/httpClient.d.ts +6 -0
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +0 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +1 -6
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/notifyAppReadyInsights.d.ts +1 -1
- package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +8 -35
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/store.d.ts +1 -3
- package/lib/typescript/module/store.d.ts.map +1 -1
- package/lib/typescript/module/uuidv7.d.ts +10 -0
- package/lib/typescript/module/uuidv7.d.ts.map +1 -0
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/lib/typescript/module/wrap.types.d.ts +7 -4
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/checkForUpdate.releaseCatalog.spec.ts +10 -4
- package/src/checkForUpdate.ts +5 -11
- package/src/error.ts +4 -14
- package/src/fetchJSON.ts +12 -1
- package/src/httpClient.spec.ts +289 -8
- package/src/httpClient.ts +224 -67
- package/src/index.spec.ts +70 -1
- package/src/index.ts +18 -7
- package/src/native.spec.ts +23 -16
- package/src/native.ts +12 -24
- package/src/notifyAppReadyInsights.boundary.spec.ts +8 -0
- package/src/notifyAppReadyInsights.spec.ts +60 -0
- package/src/notifyAppReadyInsights.transport.spec.ts +66 -0
- package/src/notifyAppReadyInsights.ts +13 -1
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +8 -36
- package/src/store.notification.spec.ts +13 -3
- package/src/store.spec.ts +0 -157
- package/src/store.ts +2 -23
- package/src/uuidv7.spec.ts +25 -0
- package/src/uuidv7.ts +38 -0
- package/src/wrap.spec.ts +8 -0
- package/src/wrap.tsx +0 -2
- package/src/wrap.types.ts +9 -4
- package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
- package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
- package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
- package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
- package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
- package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
- package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
- package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
- package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
- package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
- package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
- package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendInsightsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockReturnValue","handleNotifyAppReady","reportBundleDownloaded","reportNoChange","finishStartup","mockImplementationOnce","Promise","resolve","options","insights","startup","waitFor","toHaveBeenCalledOnce","download","fromBundleId","fromReleaseId","toBundleId","toReleaseId","channel","updateStrategy","all","calls","map","params","type","toEqual","transition","userId","username","status","onNotifyAppReady","init","requestHeaders","Authorization","requestTimeout","runOnlyPendingTimersAsync","toHaveBeenCalledWith","appVersion","cohort","fingerprintHash","installId","platform","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","not","toHaveBeenCalled"],"sourceRoot":"../../src","sources":["notifyAppReadyInsights.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getActiveUpdateState","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","createClient","sendInsightsEvent","mockResolvedValue","undefined","client","createSession","fetchReleaseCatalog","resolveArtifact","resetModules","unstubAllGlobals","useRealTimers","Object","values","mockReset","mockReturnValue","activeSelection","stableSelection","verificationPending","each","label","pending","channel","expected","running","kind","releaseId","bundleId","reportNoChange","insights","toHaveBeenCalledWith","objectContaining","type","toBundleId","toReleaseId","handleNotifyAppReady","reportBundleDownloaded","finishStartup","mockImplementationOnce","Promise","resolve","options","startup","waitFor","toHaveBeenCalledOnce","download","fromBundleId","fromReleaseId","updateStrategy","all","calls","map","params","toEqual","transition","userId","username","status","onNotifyAppReady","init","requestHeaders","Authorization","requestTimeout","runOnlyPendingTimersAsync","appVersion","cohort","fingerprintHash","installId","platform","toHaveBeenCalledTimes","toHaveBeenNthCalledWith","not","toHaveBeenCalled"],"sourceRoot":"../../src","sources":["notifyAppReadyInsights.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,8 @@ const failureCases = [{
|
|
|
13
13
|
}, {
|
|
14
14
|
label: "404",
|
|
15
15
|
responseStatus: 404
|
|
16
|
-
}
|
|
16
|
+
}];
|
|
17
|
+
const retryableFailureCases = [{
|
|
17
18
|
label: "500",
|
|
18
19
|
responseStatus: 500
|
|
19
20
|
}, {
|
|
@@ -31,6 +32,7 @@ const mocks = vi.hoisted(() => ({
|
|
|
31
32
|
getAppVersion: vi.fn(() => "1.0.0"),
|
|
32
33
|
getBundleId: vi.fn(() => "bundle-id"),
|
|
33
34
|
getChannel: vi.fn(() => "production"),
|
|
35
|
+
getActiveUpdateState: vi.fn(),
|
|
34
36
|
getCohort: vi.fn(() => "123"),
|
|
35
37
|
getFingerprintHash: vi.fn(() => "fingerprint-hash"),
|
|
36
38
|
getInstallId: vi.fn(() => "install-id"),
|
|
@@ -46,6 +48,7 @@ vi.mock("./native", () => ({
|
|
|
46
48
|
getAppVersion: mocks.getAppVersion,
|
|
47
49
|
getBundleId: mocks.getBundleId,
|
|
48
50
|
getChannel: mocks.getChannel,
|
|
51
|
+
getActiveUpdateState: mocks.getActiveUpdateState,
|
|
49
52
|
getCohort: mocks.getCohort,
|
|
50
53
|
getFingerprintHash: mocks.getFingerprintHash,
|
|
51
54
|
getInstallId: mocks.getInstallId,
|
|
@@ -65,6 +68,11 @@ describe("automatic notifyAppReady transport failures", () => {
|
|
|
65
68
|
mocks.getAppVersion.mockReturnValue("1.0.0");
|
|
66
69
|
mocks.getBundleId.mockReturnValue("bundle-id");
|
|
67
70
|
mocks.getChannel.mockReturnValue("production");
|
|
71
|
+
mocks.getActiveUpdateState.mockReturnValue({
|
|
72
|
+
activeSelection: null,
|
|
73
|
+
stableSelection: null,
|
|
74
|
+
verificationPending: false
|
|
75
|
+
});
|
|
68
76
|
mocks.getCohort.mockReturnValue("123");
|
|
69
77
|
mocks.getFingerprintHash.mockReturnValue("fingerprint-hash");
|
|
70
78
|
mocks.getInstallId.mockReturnValue("install-id");
|
|
@@ -112,5 +120,51 @@ describe("automatic notifyAppReady transport failures", () => {
|
|
|
112
120
|
warn.mockRestore();
|
|
113
121
|
}
|
|
114
122
|
});
|
|
123
|
+
it.each(retryableFailureCases)("retries a $label failure in the background without delaying UNCHANGED readiness", async failureCase => {
|
|
124
|
+
stubNotifyFrame();
|
|
125
|
+
const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
|
|
126
|
+
const onError = vi.fn();
|
|
127
|
+
const onNotifyAppReady = vi.fn();
|
|
128
|
+
const fetchMock = vi.fn(async () => {
|
|
129
|
+
if ("error" in failureCase) {
|
|
130
|
+
throw failureCase.error;
|
|
131
|
+
}
|
|
132
|
+
return new Response(null, {
|
|
133
|
+
status: failureCase.responseStatus
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
137
|
+
Reflect.set(globalThis, "HotUpdater", {
|
|
138
|
+
SDK_VERSION: "test-sdk-version"
|
|
139
|
+
});
|
|
140
|
+
try {
|
|
141
|
+
const [{
|
|
142
|
+
createHttpClient
|
|
143
|
+
}, {
|
|
144
|
+
init
|
|
145
|
+
}] = await Promise.all([import("./httpClient"), import("./wrap")]);
|
|
146
|
+
const client = createHttpClient("https://updates.example.test/hot-updater");
|
|
147
|
+
init({
|
|
148
|
+
insights: true,
|
|
149
|
+
client,
|
|
150
|
+
onError,
|
|
151
|
+
onNotifyAppReady
|
|
152
|
+
});
|
|
153
|
+
await vi.runOnlyPendingTimersAsync();
|
|
154
|
+
expect(fetchMock).toHaveBeenCalledTimes(1);
|
|
155
|
+
expect(onNotifyAppReady).toHaveBeenCalledWith({
|
|
156
|
+
status: "UNCHANGED"
|
|
157
|
+
});
|
|
158
|
+
expect(warn).not.toHaveBeenCalled();
|
|
159
|
+
await vi.runAllTimersAsync();
|
|
160
|
+
const eventIds = fetchMock.mock.calls.map(([, request]) => JSON.parse(String(request?.body)).eventId);
|
|
161
|
+
expect(eventIds).toHaveLength(3);
|
|
162
|
+
expect(new Set(eventIds).size).toBe(1);
|
|
163
|
+
expect(onError).not.toHaveBeenCalled();
|
|
164
|
+
expect(warn).toHaveBeenCalledExactlyOnceWith("[HotUpdater] Insights UNCHANGED event was not delivered:", expect.any(Error));
|
|
165
|
+
} finally {
|
|
166
|
+
warn.mockRestore();
|
|
167
|
+
}
|
|
168
|
+
});
|
|
115
169
|
});
|
|
116
170
|
//# sourceMappingURL=notifyAppReadyInsights.transport.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","failureCases","label","responseStatus","error","Object","assign","Error","name","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","resetModules","unstubAllGlobals","useRealTimers","values","mockReset","mockReturnValue","each","failureCase","warn","spyOn","console","mockImplementation","onError","onNotifyAppReady","fetchMock","Response","status","stubGlobal","Reflect","set","globalThis","SDK_VERSION","createHttpClient","init","Promise","all","client","insights","runOnlyPendingTimersAsync","toHaveBeenCalledTimes","not","toHaveBeenCalled","toHaveBeenCalledWith","any","mockRestore"],"sourceRoot":"../../src","sources":["notifyAppReadyInsights.transport.spec.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","createNotifyReadResult","stubNotifyFrame","mock","Platform","OS","failureCases","label","responseStatus","retryableFailureCases","error","Object","assign","Error","name","mocks","hoisted","addListener","fn","checkForUpdate","getAppVersion","getBundleId","getChannel","getActiveUpdateState","getCohort","getFingerprintHash","getInstallId","getPersistedUserIdentity","readNotifyAppReady","reload","resetModules","unstubAllGlobals","useRealTimers","values","mockReset","mockReturnValue","activeSelection","stableSelection","verificationPending","each","failureCase","warn","spyOn","console","mockImplementation","onError","onNotifyAppReady","fetchMock","Response","status","stubGlobal","Reflect","set","globalThis","SDK_VERSION","createHttpClient","init","Promise","all","client","insights","runOnlyPendingTimersAsync","toHaveBeenCalledTimes","not","toHaveBeenCalled","toHaveBeenCalledWith","any","mockRestore","runAllTimersAsync","eventIds","calls","map","request","JSON","parse","String","body","eventId","toHaveLength","Set","size","toBe","toHaveBeenCalledExactlyOnceWith"],"sourceRoot":"../../src","sources":["notifyAppReadyInsights.transport.spec.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAO7D,SACEC,sBAAsB,EACtBC,eAAe,QACV,wCAAqC;AAE5CF,EAAE,CAACG,IAAI,CAAC,cAAc,EAAE,OAAO;EAC7BC,QAAQ,EAAE;IAAEC,EAAE,EAAE;EAAM;AACxB,CAAC,CAAC,CAAC;AAEH,MAAMC,YAAY,GAAG,CACnB;EAAEC,KAAK,EAAE,KAAK;EAAEC,cAAc,EAAE;AAAI,CAAC,EACrC;EAAED,KAAK,EAAE,KAAK;EAAEC,cAAc,EAAE;AAAI,CAAC,CAC7B;AAEV,MAAMC,qBAAqB,GAAG,CAC5B;EAAEF,KAAK,EAAE,KAAK;EAAEC,cAAc,EAAE;AAAI,CAAC,EACrC;EACEE,KAAK,EAAEC,MAAM,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,iBAAiB,CAAC,EAAE;IAAEC,IAAI,EAAE;EAAa,CAAC,CAAC;EAC1EP,KAAK,EAAE;AACT,CAAC,EACD;EAAEG,KAAK,EAAE,IAAIG,KAAK,CAAC,qBAAqB,CAAC;EAAEN,KAAK,EAAE;AAAU,CAAC,CACrD;AAEV,MAAMQ,KAAK,GAAGf,EAAE,CAACgB,OAAO,CAAC,OAAO;EAC9BC,WAAW,EAAEjB,EAAE,CAACkB,EAAE,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;EAClCC,cAAc,EAAEnB,EAAE,CAACkB,EAAE,CAAC,CAAC;EACvBE,aAAa,EAAEpB,EAAE,CAACkB,EAAE,CAAC,MAAM,OAAO,CAAC;EACnCG,WAAW,EAAErB,EAAE,CAACkB,EAAE,CAAC,MAAM,WAAW,CAAC;EACrCI,UAAU,EAAEtB,EAAE,CAACkB,EAAE,CAAC,MAAM,YAAY,CAAC;EACrCK,oBAAoB,EAAEvB,EAAE,CAACkB,EAAE,CAA0B,CAAC;EACtDM,SAAS,EAAExB,EAAE,CAACkB,EAAE,CAAC,MAAM,KAAK,CAAC;EAC7BO,kBAAkB,EAAEzB,EAAE,CAACkB,EAAE,CAAC,MAAM,kBAAkB,CAAC;EACnDQ,YAAY,EAAE1B,EAAE,CAACkB,EAAE,CAAC,MAAM,YAAY,CAAC;EACvCS,wBAAwB,EAAE3B,EAAE,CAACkB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAC3CU,kBAAkB,EAAE5B,EAAE,CAACkB,EAAE,CAMvB,MAAMjB,sBAAsB,CAAC,CAAC,CAAC;EACjC4B,MAAM,EAAE7B,EAAE,CAACkB,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEHlB,EAAE,CAACG,IAAI,CAAC,kBAAkB,EAAE,OAAO;EACjCgB,cAAc,EAAEJ,KAAK,CAACI;AACxB,CAAC,CAAC,CAAC;AAEHnB,EAAE,CAACG,IAAI,CAAC,UAAU,EAAE,OAAO;EACzBc,WAAW,EAAEF,KAAK,CAACE,WAAW;EAC9BG,aAAa,EAAEL,KAAK,CAACK,aAAa;EAClCC,WAAW,EAAEN,KAAK,CAACM,WAAW;EAC9BC,UAAU,EAAEP,KAAK,CAACO,UAAU;EAC5BC,oBAAoB,EAAER,KAAK,CAACQ,oBAAoB;EAChDC,SAAS,EAAET,KAAK,CAACS,SAAS;EAC1BC,kBAAkB,EAAEV,KAAK,CAACU,kBAAkB;EAC5CC,YAAY,EAAEX,KAAK,CAACW,YAAY;EAChCC,wBAAwB,EAAEZ,KAAK,CAACY,wBAAwB;EACxDC,kBAAkB,EAAEb,KAAK,CAACa,kBAAkB;EAC5CC,MAAM,EAAEd,KAAK,CAACc;AAChB,CAAC,CAAC,CAAC;AAEHhC,QAAQ,CAAC,6CAA6C,EAAE,MAAM;EAC5DD,UAAU,CAAC,MAAM;IACfI,EAAE,CAAC8B,YAAY,CAAC,CAAC;IACjB9B,EAAE,CAAC+B,gBAAgB,CAAC,CAAC;IACrB/B,EAAE,CAACgC,aAAa,CAAC,CAAC;IAElB,KAAK,MAAM7B,IAAI,IAAIQ,MAAM,CAACsB,MAAM,CAAClB,KAAK,CAAC,EAAE;MACvCZ,IAAI,CAAC+B,SAAS,CAAC,CAAC;IAClB;IAEAnB,KAAK,CAACE,WAAW,CAACkB,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3CpB,KAAK,CAACK,aAAa,CAACe,eAAe,CAAC,OAAO,CAAC;IAC5CpB,KAAK,CAACM,WAAW,CAACc,eAAe,CAAC,WAAW,CAAC;IAC9CpB,KAAK,CAACO,UAAU,CAACa,eAAe,CAAC,YAAY,CAAC;IAC9CpB,KAAK,CAACQ,oBAAoB,CAACY,eAAe,CAAC;MACzCC,eAAe,EAAE,IAAI;MACrBC,eAAe,EAAE,IAAI;MACrBC,mBAAmB,EAAE;IACvB,CAAC,CAAC;IACFvB,KAAK,CAACS,SAAS,CAACW,eAAe,CAAC,KAAK,CAAC;IACtCpB,KAAK,CAACU,kBAAkB,CAACU,eAAe,CAAC,kBAAkB,CAAC;IAC5DpB,KAAK,CAACW,YAAY,CAACS,eAAe,CAAC,YAAY,CAAC;IAChDpB,KAAK,CAACY,wBAAwB,CAACQ,eAAe,CAAC,CAAC,CAAC,CAAC;IAClDpB,KAAK,CAACa,kBAAkB,CAACO,eAAe,CAAClC,sBAAsB,CAAC,CAAC,CAAC;EACpE,CAAC,CAAC;EAEFF,EAAE,CAACwC,IAAI,CAACjC,YAAY,CAAC,CACnB,+EAA+E,EAC/E,MAAOkC,WAAW,IAAK;IACrBtC,eAAe,CAAC,CAAC;IACjB,MAAMuC,IAAI,GAAGzC,EAAE,CAAC0C,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAMC,OAAO,GAAG7C,EAAE,CAACkB,EAAE,CAAC,CAAC;IACvB,MAAM4B,gBAAgB,GAAG9C,EAAE,CAACkB,EAAE,CAAC,CAAC;IAChC,MAAM6B,SAAS,GAAG/C,EAAE,CAACkB,EAAE,CAAC,YAAY;MAClC,IAAI,OAAO,IAAIsB,WAAW,EAAE;QAC1B,MAAMA,WAAW,CAAC9B,KAAK;MACzB;MAEA,OAAO,IAAIsC,QAAQ,CAAC,IAAI,EAAE;QAAEC,MAAM,EAAET,WAAW,CAAChC;MAAe,CAAC,CAAC;IACnE,CAAC,CAAC;IACFR,EAAE,CAACkD,UAAU,CAAC,OAAO,EAAEH,SAAS,CAAC;IACjCI,OAAO,CAACC,GAAG,CAACC,UAAU,EAAE,YAAY,EAAE;MACpCC,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,IAAI;MACF,MAAM,CAAC;QAAEC;MAAiB,CAAC,EAAE;QAAEC;MAAK,CAAC,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACzD,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAC;MACF,MAAMC,MAAM,GAAGJ,gBAAgB,CAC7B,0CACF,CAAC;MAEDC,IAAI,CAAC;QAAEI,QAAQ,EAAE,IAAI;QAAED,MAAM;QAAEd,OAAO;QAAEC;MAAiB,CAAC,CAAC;MAC3D,MAAM9C,EAAE,CAAC6D,yBAAyB,CAAC,CAAC;MAEpC/D,MAAM,CAACiD,SAAS,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAC1ChE,MAAM,CAAC+C,OAAO,CAAC,CAACkB,GAAG,CAACC,gBAAgB,CAAC,CAAC;MACtClE,MAAM,CAACgD,gBAAgB,CAAC,CAACmB,oBAAoB,CAAC;QAC5ChB,MAAM,EAAE;MACV,CAAC,CAAC;MACFnD,MAAM,CAAC2C,IAAI,CAAC,CAACwB,oBAAoB,CAC/B,wDAAwD,EACxDnE,MAAM,CAACoE,GAAG,CAACrD,KAAK,CAClB,CAAC;IACH,CAAC,SAAS;MACR4B,IAAI,CAAC0B,WAAW,CAAC,CAAC;IACpB;EACF,CACF,CAAC;EAEDpE,EAAE,CAACwC,IAAI,CAAC9B,qBAAqB,CAAC,CAC5B,iFAAiF,EACjF,MAAO+B,WAAW,IAAK;IACrBtC,eAAe,CAAC,CAAC;IACjB,MAAMuC,IAAI,GAAGzC,EAAE,CAAC0C,KAAK,CAACC,OAAO,EAAE,MAAM,CAAC,CAACC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,MAAMC,OAAO,GAAG7C,EAAE,CAACkB,EAAE,CAAC,CAAC;IACvB,MAAM4B,gBAAgB,GAAG9C,EAAE,CAACkB,EAAE,CAAC,CAAC;IAChC,MAAM6B,SAAS,GAAG/C,EAAE,CAACkB,EAAE,CAAe,YAAY;MAChD,IAAI,OAAO,IAAIsB,WAAW,EAAE;QAC1B,MAAMA,WAAW,CAAC9B,KAAK;MACzB;MAEA,OAAO,IAAIsC,QAAQ,CAAC,IAAI,EAAE;QAAEC,MAAM,EAAET,WAAW,CAAChC;MAAe,CAAC,CAAC;IACnE,CAAC,CAAC;IACFR,EAAE,CAACkD,UAAU,CAAC,OAAO,EAAEH,SAAS,CAAC;IACjCI,OAAO,CAACC,GAAG,CAACC,UAAU,EAAE,YAAY,EAAE;MACpCC,WAAW,EAAE;IACf,CAAC,CAAC;IAEF,IAAI;MACF,MAAM,CAAC;QAAEC;MAAiB,CAAC,EAAE;QAAEC;MAAK,CAAC,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACzD,MAAM,CAAC,cAAc,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAC;MACF,MAAMC,MAAM,GAAGJ,gBAAgB,CAC7B,0CACF,CAAC;MAEDC,IAAI,CAAC;QAAEI,QAAQ,EAAE,IAAI;QAAED,MAAM;QAAEd,OAAO;QAAEC;MAAiB,CAAC,CAAC;MAC3D,MAAM9C,EAAE,CAAC6D,yBAAyB,CAAC,CAAC;MAEpC/D,MAAM,CAACiD,SAAS,CAAC,CAACe,qBAAqB,CAAC,CAAC,CAAC;MAC1ChE,MAAM,CAACgD,gBAAgB,CAAC,CAACmB,oBAAoB,CAAC;QAC5ChB,MAAM,EAAE;MACV,CAAC,CAAC;MACFnD,MAAM,CAAC2C,IAAI,CAAC,CAACsB,GAAG,CAACC,gBAAgB,CAAC,CAAC;MAEnC,MAAMhE,EAAE,CAACoE,iBAAiB,CAAC,CAAC;MAE5B,MAAMC,QAAQ,GAAGtB,SAAS,CAAC5C,IAAI,CAACmE,KAAK,CAACC,GAAG,CACvC,CAAC,GAAGC,OAAO,CAAC,KAAKC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACH,OAAO,EAAEI,IAAI,CAAC,CAAC,CAACC,OACrD,CAAC;MACD/E,MAAM,CAACuE,QAAQ,CAAC,CAACS,YAAY,CAAC,CAAC,CAAC;MAChChF,MAAM,CAAC,IAAIiF,GAAG,CAACV,QAAQ,CAAC,CAACW,IAAI,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;MACtCnF,MAAM,CAAC+C,OAAO,CAAC,CAACkB,GAAG,CAACC,gBAAgB,CAAC,CAAC;MACtClE,MAAM,CAAC2C,IAAI,CAAC,CAACyC,+BAA+B,CAC1C,0DAA0D,EAC1DpF,MAAM,CAACoE,GAAG,CAACrD,KAAK,CAClB,CAAC;IACH,CAAC,SAAS;MACR4B,IAAI,CAAC0B,WAAW,CAAC,CAAC;IACpB;EACF,CACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/sdkVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAoMlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
|
package/lib/module/store.js
CHANGED
|
@@ -21,7 +21,7 @@ const areDiffDetailsEqual = (left, right) => {
|
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
const areStatesEqual = (left, right) => {
|
|
24
|
-
return left.progress === right.progress && left.
|
|
24
|
+
return left.progress === right.progress && left.isUpdateDownloaded === right.isUpdateDownloaded && left.artifactType === right.artifactType && areDiffDetailsEqual(left.details, right.details);
|
|
25
25
|
};
|
|
26
26
|
const normalizeByteCount = value => {
|
|
27
27
|
if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
|
|
@@ -35,8 +35,6 @@ const normalizeDownloadPath = value => {
|
|
|
35
35
|
const createHotUpdaterStore = () => {
|
|
36
36
|
let state = {
|
|
37
37
|
progress: 0,
|
|
38
|
-
downloadedBytes: undefined,
|
|
39
|
-
totalBytes: undefined,
|
|
40
38
|
isUpdateDownloaded: false,
|
|
41
39
|
artifactType: null,
|
|
42
40
|
details: null
|
|
@@ -98,9 +96,6 @@ const createHotUpdaterStore = () => {
|
|
|
98
96
|
if (newState.details === undefined) {
|
|
99
97
|
nextState.details = state.details;
|
|
100
98
|
}
|
|
101
|
-
if (nextState.artifactType !== "diff") {
|
|
102
|
-
nextState.details = null;
|
|
103
|
-
}
|
|
104
99
|
if (areStatesEqual(state, nextState)) {
|
|
105
100
|
return;
|
|
106
101
|
}
|
|
@@ -110,10 +105,8 @@ const createHotUpdaterStore = () => {
|
|
|
110
105
|
const applyProgressEvent = event => {
|
|
111
106
|
setState({
|
|
112
107
|
artifactType: event.artifactType,
|
|
113
|
-
details:
|
|
114
|
-
|
|
115
|
-
progress: event.progress,
|
|
116
|
-
totalBytes: event.artifactType === "archive" ? normalizeByteCount(event.totalBytes) : undefined
|
|
108
|
+
details: normalizeDiffDetails(event.details),
|
|
109
|
+
progress: event.progress
|
|
117
110
|
});
|
|
118
111
|
};
|
|
119
112
|
const subscribe = listener => {
|
package/lib/module/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSyncExternalStoreExports","addListener","useSyncExternalStoreWithSelector","areDiffDetailsEqual","left","right","totalFilesCount","completedFilesCount","files","length","every","leftFile","index","rightFile","undefined","order","path","downloadPath","downloadedBytes","progress","status","totalBytes","areStatesEqual","isUpdateDownloaded","artifactType","details","normalizeByteCount","value","Number","isFinite","Math","round","normalizeDownloadPath","createHotUpdaterStore","state","getSnapshot","listeners","Set","isEmitScheduled","emitChange","scheduleFrame","requestAnimationFrame","callback","listener","normalizeDiffDetails","max","normalizedFiles","map","file","min","sort","setState","newState","nextState","applyProgressEvent","event","subscribe","add","delete","hotUpdaterStore","useHotUpdaterStore","selector","snapshot"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,4CAA4C;AAOpF,SAASC,WAAW,QAAQ,aAAU;
|
|
1
|
+
{"version":3,"names":["useSyncExternalStoreExports","addListener","useSyncExternalStoreWithSelector","areDiffDetailsEqual","left","right","totalFilesCount","completedFilesCount","files","length","every","leftFile","index","rightFile","undefined","order","path","downloadPath","downloadedBytes","progress","status","totalBytes","areStatesEqual","isUpdateDownloaded","artifactType","details","normalizeByteCount","value","Number","isFinite","Math","round","normalizeDownloadPath","createHotUpdaterStore","state","getSnapshot","listeners","Set","isEmitScheduled","emitChange","scheduleFrame","requestAnimationFrame","callback","listener","normalizeDiffDetails","max","normalizedFiles","map","file","min","sort","setState","newState","nextState","applyProgressEvent","event","subscribe","add","delete","hotUpdaterStore","useHotUpdaterStore","selector","snapshot"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -50,10 +50,18 @@ describe("hotUpdaterStore notification scheduling", () => {
|
|
|
50
50
|
}
|
|
51
51
|
const nextProgress = Math.min(1, progress + 0.01);
|
|
52
52
|
emitProgress?.({
|
|
53
|
-
artifactType: "
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
artifactType: "diff",
|
|
54
|
+
details: {
|
|
55
|
+
completedFilesCount: nextProgress === 1 ? 1 : 0,
|
|
56
|
+
files: [{
|
|
57
|
+
order: 0,
|
|
58
|
+
path: "index.ios.bundle",
|
|
59
|
+
progress: nextProgress,
|
|
60
|
+
status: nextProgress === 1 ? "downloaded" : "downloading"
|
|
61
|
+
}],
|
|
62
|
+
totalFilesCount: 1
|
|
63
|
+
},
|
|
64
|
+
progress: nextProgress
|
|
57
65
|
});
|
|
58
66
|
}, [progress]);
|
|
59
67
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cleanup","render","act","createElement","useLayoutEffect","useState","afterEach","beforeEach","describe","expect","it","vi","listeners","hoisted","Map","mock","addListener","fn","eventName","listener","set","delete","clear","resetModules","unstubAllGlobals","frameCallbacks","stubGlobal","callback","push","length","hotUpdaterStore","emitProgress","get","Consumer","progress","setProgress","unsubscribe","subscribe","getSnapshot","nextProgress","Math","min","artifactType","
|
|
1
|
+
{"version":3,"names":["cleanup","render","act","createElement","useLayoutEffect","useState","afterEach","beforeEach","describe","expect","it","vi","listeners","hoisted","Map","mock","addListener","fn","eventName","listener","set","delete","clear","resetModules","unstubAllGlobals","frameCallbacks","stubGlobal","callback","push","length","hotUpdaterStore","emitProgress","get","Consumer","progress","setProgress","unsubscribe","subscribe","getSnapshot","nextProgress","Math","min","artifactType","details","completedFilesCount","files","order","path","status","totalFilesCount","frame","frameCallback","shift","toBeTypeOf","Promise","resolve","setImmediate","toBe"],"sourceRoot":"../../src","sources":["store.notification.spec.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/store.spec.js
CHANGED
|
@@ -35,66 +35,6 @@ describe("hotUpdaterStore", () => {
|
|
|
35
35
|
expect(listener).not.toHaveBeenCalled();
|
|
36
36
|
unsubscribe();
|
|
37
37
|
});
|
|
38
|
-
it("notifies subscribers only when progress events change the snapshot", async () => {
|
|
39
|
-
const store = await importStore();
|
|
40
|
-
const listener = vi.fn();
|
|
41
|
-
const emitProgress = listeners.get("onProgress");
|
|
42
|
-
expect(emitProgress).toBeTypeOf("function");
|
|
43
|
-
const unsubscribe = store.subscribe(listener);
|
|
44
|
-
emitProgress?.({
|
|
45
|
-
artifactType: "archive",
|
|
46
|
-
progress: 0.5
|
|
47
|
-
});
|
|
48
|
-
emitProgress?.({
|
|
49
|
-
artifactType: "archive",
|
|
50
|
-
progress: 0.5
|
|
51
|
-
});
|
|
52
|
-
emitProgress?.({
|
|
53
|
-
artifactType: "archive",
|
|
54
|
-
progress: 1
|
|
55
|
-
});
|
|
56
|
-
store.setState({
|
|
57
|
-
isUpdateDownloaded: true
|
|
58
|
-
});
|
|
59
|
-
expect(listener).toHaveBeenCalledTimes(2);
|
|
60
|
-
expect(store.getSnapshot()).toEqual({
|
|
61
|
-
artifactType: "archive",
|
|
62
|
-
details: null,
|
|
63
|
-
downloadedBytes: undefined,
|
|
64
|
-
isUpdateDownloaded: true,
|
|
65
|
-
progress: 1,
|
|
66
|
-
totalBytes: undefined
|
|
67
|
-
});
|
|
68
|
-
unsubscribe();
|
|
69
|
-
});
|
|
70
|
-
it("stores archive byte metadata and notifies when only bytes change", async () => {
|
|
71
|
-
const store = await importStore();
|
|
72
|
-
const listener = vi.fn();
|
|
73
|
-
const emitProgress = listeners.get("onProgress");
|
|
74
|
-
const unsubscribe = store.subscribe(listener);
|
|
75
|
-
emitProgress?.({
|
|
76
|
-
artifactType: "archive",
|
|
77
|
-
downloadedBytes: 100.4,
|
|
78
|
-
progress: 0.5,
|
|
79
|
-
totalBytes: 1_000
|
|
80
|
-
});
|
|
81
|
-
emitProgress?.({
|
|
82
|
-
artifactType: "archive",
|
|
83
|
-
downloadedBytes: 250,
|
|
84
|
-
progress: 0.5,
|
|
85
|
-
totalBytes: 1_000
|
|
86
|
-
});
|
|
87
|
-
expect(listener).toHaveBeenCalledTimes(2);
|
|
88
|
-
expect(store.getSnapshot()).toEqual({
|
|
89
|
-
artifactType: "archive",
|
|
90
|
-
details: null,
|
|
91
|
-
downloadedBytes: 250,
|
|
92
|
-
isUpdateDownloaded: false,
|
|
93
|
-
progress: 0.5,
|
|
94
|
-
totalBytes: 1_000
|
|
95
|
-
});
|
|
96
|
-
unsubscribe();
|
|
97
|
-
});
|
|
98
38
|
it("stores manifest progress metadata while keeping overall progress", async () => {
|
|
99
39
|
const store = await importStore();
|
|
100
40
|
const emitProgress = listeners.get("onProgress");
|
|
@@ -139,10 +79,8 @@ describe("hotUpdaterStore", () => {
|
|
|
139
79
|
}],
|
|
140
80
|
totalFilesCount: 2
|
|
141
81
|
},
|
|
142
|
-
downloadedBytes: undefined,
|
|
143
82
|
isUpdateDownloaded: false,
|
|
144
|
-
progress: 0.42
|
|
145
|
-
totalBytes: undefined
|
|
83
|
+
progress: 0.42
|
|
146
84
|
});
|
|
147
85
|
});
|
|
148
86
|
it("preserves patch download metadata for manifest diff files", async () => {
|
|
@@ -235,80 +173,8 @@ describe("hotUpdaterStore", () => {
|
|
|
235
173
|
}],
|
|
236
174
|
totalFilesCount: 2
|
|
237
175
|
},
|
|
238
|
-
downloadedBytes: undefined,
|
|
239
|
-
isUpdateDownloaded: false,
|
|
240
|
-
progress: 0.6,
|
|
241
|
-
totalBytes: undefined
|
|
242
|
-
});
|
|
243
|
-
});
|
|
244
|
-
it("clears manifest metadata when archive progress events arrive", async () => {
|
|
245
|
-
const store = await importStore();
|
|
246
|
-
const emitProgress = listeners.get("onProgress");
|
|
247
|
-
emitProgress?.({
|
|
248
|
-
artifactType: "diff",
|
|
249
|
-
details: {
|
|
250
|
-
completedFilesCount: 2,
|
|
251
|
-
files: [{
|
|
252
|
-
order: 0,
|
|
253
|
-
path: "index.ios.bundle",
|
|
254
|
-
progress: 1,
|
|
255
|
-
status: "downloaded"
|
|
256
|
-
}, {
|
|
257
|
-
order: 1,
|
|
258
|
-
path: "assets/logo.png",
|
|
259
|
-
progress: 1,
|
|
260
|
-
status: "downloaded"
|
|
261
|
-
}, {
|
|
262
|
-
order: 2,
|
|
263
|
-
path: "assets/bg.png",
|
|
264
|
-
progress: 0,
|
|
265
|
-
status: "pending"
|
|
266
|
-
}],
|
|
267
|
-
totalFilesCount: 3
|
|
268
|
-
},
|
|
269
|
-
progress: 0.9
|
|
270
|
-
});
|
|
271
|
-
emitProgress?.({
|
|
272
|
-
artifactType: "archive",
|
|
273
|
-
progress: 0.25
|
|
274
|
-
});
|
|
275
|
-
expect(store.getSnapshot()).toEqual({
|
|
276
|
-
artifactType: "archive",
|
|
277
|
-
details: null,
|
|
278
|
-
downloadedBytes: undefined,
|
|
279
176
|
isUpdateDownloaded: false,
|
|
280
|
-
progress: 0.
|
|
281
|
-
totalBytes: undefined
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
it("clears stale manifest metadata even when archive events omit optional fields", async () => {
|
|
285
|
-
const store = await importStore();
|
|
286
|
-
const emitProgress = listeners.get("onProgress");
|
|
287
|
-
emitProgress?.({
|
|
288
|
-
artifactType: "diff",
|
|
289
|
-
details: {
|
|
290
|
-
completedFilesCount: 0,
|
|
291
|
-
files: [{
|
|
292
|
-
order: 0,
|
|
293
|
-
path: "manifest.asset.png",
|
|
294
|
-
progress: 0,
|
|
295
|
-
status: "failed"
|
|
296
|
-
}],
|
|
297
|
-
totalFilesCount: 1
|
|
298
|
-
},
|
|
299
|
-
progress: 0.2
|
|
300
|
-
});
|
|
301
|
-
emitProgress?.({
|
|
302
|
-
artifactType: "archive",
|
|
303
|
-
progress: 0.4
|
|
304
|
-
});
|
|
305
|
-
expect(store.getSnapshot()).toEqual({
|
|
306
|
-
artifactType: "archive",
|
|
307
|
-
details: null,
|
|
308
|
-
downloadedBytes: undefined,
|
|
309
|
-
isUpdateDownloaded: false,
|
|
310
|
-
progress: 0.4,
|
|
311
|
-
totalBytes: undefined
|
|
177
|
+
progress: 0.6
|
|
312
178
|
});
|
|
313
179
|
});
|
|
314
180
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","listeners","hoisted","Map","mock","addListener","fn","eventName","listener","set","delete","importStore","hotUpdaterStore","clear","resetModules","store","unsubscribe","subscribe","setState","progress","isUpdateDownloaded","not","toHaveBeenCalled","emitProgress","get","toBeTypeOf","artifactType","
|
|
1
|
+
{"version":3,"names":["beforeEach","describe","expect","it","vi","listeners","hoisted","Map","mock","addListener","fn","eventName","listener","set","delete","importStore","hotUpdaterStore","clear","resetModules","store","unsubscribe","subscribe","setState","progress","isUpdateDownloaded","not","toHaveBeenCalled","emitProgress","get","toBeTypeOf","artifactType","details","completedFilesCount","files","downloadPath","order","path","status","totalFilesCount","getSnapshot","toEqual","downloadedBytes","undefined","totalBytes"],"sourceRoot":"../../src","sources":["store.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Creates an RFC 9562 UUIDv7: a 48-bit millisecond timestamp, then random bits.
|
|
5
|
+
*
|
|
6
|
+
* `createUUIDv7` from `@hot-updater/plugin-core` calls `crypto.getRandomValues`
|
|
7
|
+
* unconditionally, but React Native has no Web Crypto unless the app installs a
|
|
8
|
+
* polyfill. An Insights event ID only has to tell one event from another so a
|
|
9
|
+
* retried POST is counted once, so `Math.random` is enough without one.
|
|
10
|
+
*/
|
|
11
|
+
export const createUUIDv7 = () => {
|
|
12
|
+
const bytes = new Uint8Array(16);
|
|
13
|
+
const {
|
|
14
|
+
crypto
|
|
15
|
+
} = globalThis;
|
|
16
|
+
if (typeof crypto?.getRandomValues === "function") {
|
|
17
|
+
crypto.getRandomValues(bytes);
|
|
18
|
+
} else {
|
|
19
|
+
for (let index = 0; index < bytes.length; index += 1) {
|
|
20
|
+
bytes[index] = Math.floor(Math.random() * 256);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Division, not bit shifts: shifts truncate to 32 bits, and a millisecond
|
|
25
|
+
// timestamp already needs 41.
|
|
26
|
+
let timestamp = Date.now();
|
|
27
|
+
for (let index = 5; index >= 0; index -= 1) {
|
|
28
|
+
bytes[index] = timestamp % 256;
|
|
29
|
+
timestamp = Math.floor(timestamp / 256);
|
|
30
|
+
}
|
|
31
|
+
bytes[6] = 0x70 | bytes[6] & 0x0f;
|
|
32
|
+
bytes[8] = 0x80 | bytes[8] & 0x3f;
|
|
33
|
+
const hex = Array.from(bytes, byte => byte.toString(16).padStart(2, "0")).join("");
|
|
34
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=uuidv7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createUUIDv7","bytes","Uint8Array","crypto","globalThis","getRandomValues","index","length","Math","floor","random","timestamp","Date","now","hex","Array","from","byte","toString","padStart","join","slice"],"sourceRoot":"../../src","sources":["uuidv7.ts"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,YAAY,GAAGA,CAAA,KAAc;EACxC,MAAMC,KAAK,GAAG,IAAIC,UAAU,CAAC,EAAE,CAAC;EAChC,MAAM;IAAEC;EAAO,CAAC,GAAGC,UAA6C;EAChE,IAAI,OAAOD,MAAM,EAAEE,eAAe,KAAK,UAAU,EAAE;IACjDF,MAAM,CAACE,eAAe,CAACJ,KAAK,CAAC;EAC/B,CAAC,MAAM;IACL,KAAK,IAAIK,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGL,KAAK,CAACM,MAAM,EAAED,KAAK,IAAI,CAAC,EAAE;MACpDL,KAAK,CAACK,KAAK,CAAC,GAAGE,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;IAChD;EACF;;EAEA;EACA;EACA,IAAIC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;EAC1B,KAAK,IAAIP,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAEA,KAAK,IAAI,CAAC,EAAE;IAC1CL,KAAK,CAACK,KAAK,CAAC,GAAGK,SAAS,GAAG,GAAG;IAC9BA,SAAS,GAAGH,IAAI,CAACC,KAAK,CAACE,SAAS,GAAG,GAAG,CAAC;EACzC;EACAV,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAIA,KAAK,CAAC,CAAC,CAAC,GAAI,IAAK;EACpCA,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAIA,KAAK,CAAC,CAAC,CAAC,GAAI,IAAK;EAEpC,MAAMa,GAAG,GAAGC,KAAK,CAACC,IAAI,CAACf,KAAK,EAAGgB,IAAI,IACjCA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CACnC,CAAC,CAACC,IAAI,CAAC,EAAE,CAAC;EACV,OAAO,GAAGN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAIP,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAIP,GAAG,CAACO,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIP,GAAG,CAACO,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAIP,GAAG,CAACO,KAAK,CAAC,EAAE,CAAC,EAAE;AAC5G,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { isUUIDv7 } from "@hot-updater/core";
|
|
4
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { createUUIDv7 } from "./uuidv7.js";
|
|
6
|
+
describe("createUUIDv7", () => {
|
|
7
|
+
afterEach(() => {
|
|
8
|
+
vi.useRealTimers();
|
|
9
|
+
vi.unstubAllGlobals();
|
|
10
|
+
});
|
|
11
|
+
it.each([{
|
|
12
|
+
label: "Web Crypto",
|
|
13
|
+
crypto: globalThis.crypto
|
|
14
|
+
}, {
|
|
15
|
+
label: "no Web Crypto, as in React Native",
|
|
16
|
+
crypto: undefined
|
|
17
|
+
}])("leads with the 48-bit millisecond time using $label", ({
|
|
18
|
+
crypto
|
|
19
|
+
}) => {
|
|
20
|
+
vi.useFakeTimers({
|
|
21
|
+
now: 0x0192_3456_789a
|
|
22
|
+
});
|
|
23
|
+
vi.stubGlobal("crypto", crypto);
|
|
24
|
+
const id = createUUIDv7();
|
|
25
|
+
expect(isUUIDv7(id)).toBe(true);
|
|
26
|
+
expect(id.startsWith("01923456-789a-7")).toBe(true);
|
|
27
|
+
expect(createUUIDv7()).not.toBe(id);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=uuidv7.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isUUIDv7","afterEach","describe","expect","it","vi","createUUIDv7","useRealTimers","unstubAllGlobals","each","label","crypto","globalThis","undefined","useFakeTimers","now","stubGlobal","id","toBe","startsWith","not"],"sourceRoot":"../../src","sources":["uuidv7.spec.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,mBAAmB;AAC5C,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,QAAQ;AAE5D,SAASC,YAAY,QAAQ,aAAU;AAEvCJ,QAAQ,CAAC,cAAc,EAAE,MAAM;EAC7BD,SAAS,CAAC,MAAM;IACdI,EAAE,CAACE,aAAa,CAAC,CAAC;IAClBF,EAAE,CAACG,gBAAgB,CAAC,CAAC;EACvB,CAAC,CAAC;EAEFJ,EAAE,CAACK,IAAI,CAAC,CACN;IAAEC,KAAK,EAAE,YAAY;IAAEC,MAAM,EAAEC,UAAU,CAACD;EAAO,CAAC,EAClD;IAAED,KAAK,EAAE,mCAAmC;IAAEC,MAAM,EAAEE;EAAU,CAAC,CAClE,CAAC,CAAC,qDAAqD,EAAE,CAAC;IAAEF;EAAO,CAAC,KAAK;IACxEN,EAAE,CAACS,aAAa,CAAC;MAAEC,GAAG,EAAE;IAAiB,CAAC,CAAC;IAC3CV,EAAE,CAACW,UAAU,CAAC,QAAQ,EAAEL,MAAM,CAAC;IAE/B,MAAMM,EAAE,GAAGX,YAAY,CAAC,CAAC;IAEzBH,MAAM,CAACH,QAAQ,CAACiB,EAAE,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IAC/Bf,MAAM,CAACc,EAAE,CAACE,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAACD,IAAI,CAAC,IAAI,CAAC;IACnDf,MAAM,CAACG,YAAY,CAAC,CAAC,CAAC,CAACc,GAAG,CAACF,IAAI,CAACD,EAAE,CAAC;EACrC,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/wrap.js
CHANGED
|
@@ -97,11 +97,9 @@ export function wrap(options) {
|
|
|
97
97
|
return /*#__PURE__*/_jsx(Fallback, {
|
|
98
98
|
artifactType: progressState.artifactType,
|
|
99
99
|
details: progressState.details,
|
|
100
|
-
downloadedBytes: progressState.downloadedBytes,
|
|
101
100
|
progress: progress,
|
|
102
101
|
status: updateStatus,
|
|
103
|
-
message: message
|
|
104
|
-
totalBytes: progressState.totalBytes
|
|
102
|
+
message: message
|
|
105
103
|
});
|
|
106
104
|
}
|
|
107
105
|
return /*#__PURE__*/_jsx(WrappedComponent, {
|
package/lib/module/wrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getUpdateId","reload","handleNotifyAppReady","reportNoChange","useHotUpdaterStore","jsx","_jsx","init","options","wrap","reloadOnForceUpdate","restOptions","WrappedComponent","HotUpdaterHOC","props","progressState","state","progress","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","readiness","reportUnchanged","updateInfo","insights","client","updateStrategy","requestHeaders","requestTimeout","onError","launch","status","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","catch","error","isSuccess","Error","normalizedError","String","onProgress","fallbackComponent","Fallback","artifactType","details"
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","checkForUpdate","useEventCallback","getUpdateId","reload","handleNotifyAppReady","reportNoChange","useHotUpdaterStore","jsx","_jsx","init","options","wrap","reloadOnForceUpdate","restOptions","WrappedComponent","HotUpdaterHOC","props","progressState","state","progress","message","setMessage","updateStatus","setUpdateStatus","initHotUpdater","readiness","reportUnchanged","updateInfo","insights","client","updateStrategy","requestHeaders","requestTimeout","onError","launch","status","onUpdateProcessCompleted","shouldForceUpdate","id","updateBundle","catch","error","isSuccess","Error","normalizedError","String","onProgress","fallbackComponent","Fallback","artifactType","details"],"sourceRoot":"../../src","sources":["wrap.tsx"],"mappings":"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","ignoreList":[]}
|