@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,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { isUUIDv7 } from "@hot-updater/core";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
import { FetchJSONResponseError } from "./fetchJSON.js";
|
|
4
6
|
import { createHttpClient } from "./httpClient.js";
|
|
5
7
|
const mocks = vi.hoisted(() => {
|
|
6
8
|
Reflect.set(globalThis, "HotUpdater", {
|
|
@@ -15,11 +17,27 @@ vi.mock("./releaseCatalogCache", () => ({
|
|
|
15
17
|
fetchReleaseCatalogWithCache: mocks.fetchCatalog
|
|
16
18
|
}));
|
|
17
19
|
vi.mock("./fetchJSON", () => ({
|
|
20
|
+
FetchJSONResponseError: class FetchJSONResponseError extends Error {
|
|
21
|
+
constructor(status, statusText) {
|
|
22
|
+
super(statusText);
|
|
23
|
+
this.status = status;
|
|
24
|
+
}
|
|
25
|
+
},
|
|
18
26
|
fetchJSON: mocks.fetchJSON
|
|
19
27
|
}));
|
|
20
28
|
const artifact = {
|
|
21
|
-
|
|
22
|
-
|
|
29
|
+
artifactProtocolVersion: 1,
|
|
30
|
+
assets: {
|
|
31
|
+
"index.ios.bundle": {
|
|
32
|
+
file: {
|
|
33
|
+
url: "/storage/index.bundle.br"
|
|
34
|
+
},
|
|
35
|
+
fileHash: "bundle-hash"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
manifestFileHash: "manifest-hash",
|
|
39
|
+
manifestUrl: "/storage/manifest.json",
|
|
40
|
+
archiveUrl: "/storage/bundle.tar.br"
|
|
23
41
|
};
|
|
24
42
|
const catalog = {
|
|
25
43
|
catalogId: "server-owned-project",
|
|
@@ -73,13 +91,22 @@ describe("private HotUpdater HTTP client", () => {
|
|
|
73
91
|
targetBundleId: "target"
|
|
74
92
|
})).resolves.toEqual({
|
|
75
93
|
...artifact,
|
|
76
|
-
|
|
94
|
+
assets: {
|
|
95
|
+
"index.ios.bundle": {
|
|
96
|
+
file: {
|
|
97
|
+
url: "https://first.example.com/hot-updater/storage/index.bundle.br"
|
|
98
|
+
},
|
|
99
|
+
fileHash: "bundle-hash"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
manifestUrl: "https://first.example.com/hot-updater/storage/manifest.json",
|
|
103
|
+
archiveUrl: "https://first.example.com/hot-updater/storage/bundle.tar.br"
|
|
77
104
|
});
|
|
78
105
|
expect(resolveBaseURL).toHaveBeenCalledOnce();
|
|
79
106
|
expect(mocks.fetchJSON).toHaveBeenCalledWith({
|
|
80
107
|
requestHeaders: undefined,
|
|
81
108
|
requestTimeout: undefined,
|
|
82
|
-
url: "https://first.example.com/hot-updater/artifacts/target/from/current"
|
|
109
|
+
url: "https://first.example.com/hot-updater/artifacts/v1/target/from/current"
|
|
83
110
|
});
|
|
84
111
|
await client.createSession();
|
|
85
112
|
expect(resolveBaseURL).toHaveBeenCalledTimes(2);
|
|
@@ -87,7 +114,14 @@ describe("private HotUpdater HTTP client", () => {
|
|
|
87
114
|
it("rejects non-storage relative artifact URLs", async () => {
|
|
88
115
|
mocks.fetchJSON.mockResolvedValue({
|
|
89
116
|
...artifact,
|
|
90
|
-
|
|
117
|
+
assets: {
|
|
118
|
+
"index.ios.bundle": {
|
|
119
|
+
file: {
|
|
120
|
+
url: "/private/index.bundle.br"
|
|
121
|
+
},
|
|
122
|
+
fileHash: "bundle-hash"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
91
125
|
});
|
|
92
126
|
const session = await createHttpClient("https://updates.example.com").createSession();
|
|
93
127
|
await expect(session.resolveArtifact({
|
|
@@ -95,8 +129,216 @@ describe("private HotUpdater HTTP client", () => {
|
|
|
95
129
|
targetBundleId: "target"
|
|
96
130
|
})).rejects.toThrow("client-relative storage paths");
|
|
97
131
|
});
|
|
132
|
+
it("rejects a legacy artifact response", async () => {
|
|
133
|
+
mocks.fetchJSON.mockResolvedValue({
|
|
134
|
+
fileHash: "archive-hash",
|
|
135
|
+
fileUrl: "/storage/bundle.zip"
|
|
136
|
+
});
|
|
137
|
+
const session = await createHttpClient("https://updates.example.com").createSession();
|
|
138
|
+
await expect(session.resolveArtifact({
|
|
139
|
+
currentBundleId: "current",
|
|
140
|
+
targetBundleId: "target"
|
|
141
|
+
})).rejects.toThrow("does not support artifact protocol 1");
|
|
142
|
+
});
|
|
143
|
+
it("reports an old server without the v1 endpoint explicitly", async () => {
|
|
144
|
+
mocks.fetchJSON.mockRejectedValue(new FetchJSONResponseError(404, "Not Found"));
|
|
145
|
+
const session = await createHttpClient("https://updates.example.com").createSession();
|
|
146
|
+
await expect(session.resolveArtifact({
|
|
147
|
+
currentBundleId: "current",
|
|
148
|
+
targetBundleId: "target"
|
|
149
|
+
})).rejects.toThrow("does not support artifact protocol 1");
|
|
150
|
+
});
|
|
98
151
|
it("requires a functional baseURL to resolve to a non-empty string", async () => {
|
|
99
152
|
await expect(createHttpClient(() => "").createSession()).rejects.toThrow("baseURL function must return a non-empty string");
|
|
100
153
|
});
|
|
101
154
|
});
|
|
155
|
+
const unchangedEvent = {
|
|
156
|
+
appVersion: "1.0.0",
|
|
157
|
+
channel: "production",
|
|
158
|
+
cohort: "123",
|
|
159
|
+
fingerprintHash: null,
|
|
160
|
+
fromBundleId: null,
|
|
161
|
+
installId: "install-id",
|
|
162
|
+
platform: "ios",
|
|
163
|
+
toBundleId: "bundle-id",
|
|
164
|
+
type: "UNCHANGED",
|
|
165
|
+
updateStrategy: null
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
/** Answers each POST /events with the next response, then 204. */
|
|
169
|
+
const stubEventsEndpoint = (...responses) => {
|
|
170
|
+
const fetchMock = vi.fn(async () => {
|
|
171
|
+
const next = responses.shift() ?? 204;
|
|
172
|
+
if (next instanceof Error) throw next;
|
|
173
|
+
return typeof next === "number" ? new Response(null, {
|
|
174
|
+
status: next
|
|
175
|
+
}) : next;
|
|
176
|
+
});
|
|
177
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
178
|
+
const sentEvents = () => fetchMock.mock.calls.map(([, request]) => JSON.parse(String(request?.body)));
|
|
179
|
+
return {
|
|
180
|
+
fetchMock,
|
|
181
|
+
sentEvents
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
describe("Insights event delivery", () => {
|
|
185
|
+
beforeEach(() => {
|
|
186
|
+
vi.useFakeTimers();
|
|
187
|
+
// No jitter: the first retry waits exactly 1 s and the second 2 s.
|
|
188
|
+
vi.spyOn(Math, "random").mockReturnValue(0.5);
|
|
189
|
+
});
|
|
190
|
+
afterEach(() => {
|
|
191
|
+
vi.useRealTimers();
|
|
192
|
+
vi.unstubAllGlobals();
|
|
193
|
+
vi.restoreAllMocks();
|
|
194
|
+
});
|
|
195
|
+
const createSession = () => createHttpClient("https://updates.example.com").createSession();
|
|
196
|
+
it("retries a 503 in the background under the same UUIDv7 eventId", async () => {
|
|
197
|
+
const {
|
|
198
|
+
fetchMock,
|
|
199
|
+
sentEvents
|
|
200
|
+
} = stubEventsEndpoint(503, 204);
|
|
201
|
+
const session = await createSession();
|
|
202
|
+
|
|
203
|
+
// Settles after the failed first attempt, without waiting for the retry.
|
|
204
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
205
|
+
expect(fetchMock).toHaveBeenCalledOnce();
|
|
206
|
+
await vi.advanceTimersByTimeAsync(1_000);
|
|
207
|
+
expect(fetchMock).toHaveBeenCalledTimes(2);
|
|
208
|
+
const [first, second] = sentEvents();
|
|
209
|
+
expect(isUUIDv7(first?.eventId)).toBe(true);
|
|
210
|
+
expect(second?.eventId).toBe(first?.eventId);
|
|
211
|
+
});
|
|
212
|
+
it("waits for a 429's Retry-After before the next attempt", async () => {
|
|
213
|
+
const {
|
|
214
|
+
fetchMock
|
|
215
|
+
} = stubEventsEndpoint(new Response(null, {
|
|
216
|
+
headers: {
|
|
217
|
+
"Retry-After": "7"
|
|
218
|
+
},
|
|
219
|
+
status: 429
|
|
220
|
+
}));
|
|
221
|
+
const session = await createSession();
|
|
222
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
223
|
+
await vi.advanceTimersByTimeAsync(6_999);
|
|
224
|
+
expect(fetchMock).toHaveBeenCalledOnce();
|
|
225
|
+
await vi.advanceTimersByTimeAsync(1);
|
|
226
|
+
expect(fetchMock).toHaveBeenCalledTimes(2);
|
|
227
|
+
});
|
|
228
|
+
it("caps a server's Retry-After at 30 seconds", async () => {
|
|
229
|
+
const {
|
|
230
|
+
fetchMock
|
|
231
|
+
} = stubEventsEndpoint(new Response(null, {
|
|
232
|
+
headers: {
|
|
233
|
+
"Retry-After": "3600"
|
|
234
|
+
},
|
|
235
|
+
status: 503
|
|
236
|
+
}));
|
|
237
|
+
const session = await createSession();
|
|
238
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
239
|
+
await vi.advanceTimersByTimeAsync(29_999);
|
|
240
|
+
expect(fetchMock).toHaveBeenCalledOnce();
|
|
241
|
+
await vi.advanceTimersByTimeAsync(1);
|
|
242
|
+
expect(fetchMock).toHaveBeenCalledTimes(2);
|
|
243
|
+
});
|
|
244
|
+
it("does not retry a 400", async () => {
|
|
245
|
+
const {
|
|
246
|
+
fetchMock
|
|
247
|
+
} = stubEventsEndpoint(400);
|
|
248
|
+
const session = await createSession();
|
|
249
|
+
await expect(session.sendInsightsEvent(unchangedEvent)).rejects.toThrow("Expected HTTP 204 from /events, received 400");
|
|
250
|
+
await vi.runAllTimersAsync();
|
|
251
|
+
expect(fetchMock).toHaveBeenCalledOnce();
|
|
252
|
+
});
|
|
253
|
+
it("stops after three attempts and warns once", async () => {
|
|
254
|
+
const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
|
|
255
|
+
const {
|
|
256
|
+
fetchMock
|
|
257
|
+
} = stubEventsEndpoint(500, new Error("network unavailable"), 503);
|
|
258
|
+
const session = await createSession();
|
|
259
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
260
|
+
await vi.runAllTimersAsync();
|
|
261
|
+
expect(fetchMock).toHaveBeenCalledTimes(3);
|
|
262
|
+
expect(warn).toHaveBeenCalledExactlyOnceWith("[HotUpdater] Insights UNCHANGED event was not delivered:", expect.objectContaining({
|
|
263
|
+
message: "Expected HTTP 204 from /events, received 503"
|
|
264
|
+
}));
|
|
265
|
+
});
|
|
266
|
+
it("gives each attempt its own timeout", async () => {
|
|
267
|
+
const warn = vi.spyOn(console, "warn").mockImplementation(() => {});
|
|
268
|
+
const fetchMock = vi.fn((_input, request) => new Promise((_resolve, reject) => {
|
|
269
|
+
request?.signal?.addEventListener("abort", () => {
|
|
270
|
+
reject(Object.assign(new Error("aborted"), {
|
|
271
|
+
name: "AbortError"
|
|
272
|
+
}));
|
|
273
|
+
});
|
|
274
|
+
}));
|
|
275
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
276
|
+
const session = await createSession();
|
|
277
|
+
const sent = session.sendInsightsEvent({
|
|
278
|
+
...unchangedEvent,
|
|
279
|
+
requestTimeout: 2_000
|
|
280
|
+
});
|
|
281
|
+
await vi.advanceTimersByTimeAsync(2_000);
|
|
282
|
+
await sent;
|
|
283
|
+
// The second attempt starts after a 1 s backoff and gets a full 2 s.
|
|
284
|
+
await vi.advanceTimersByTimeAsync(1_000);
|
|
285
|
+
expect(fetchMock).toHaveBeenCalledTimes(2);
|
|
286
|
+
const secondSignal = fetchMock.mock.calls[1]?.[1]?.signal;
|
|
287
|
+
await vi.advanceTimersByTimeAsync(1_999);
|
|
288
|
+
expect(secondSignal?.aborted).toBe(false);
|
|
289
|
+
await vi.advanceTimersByTimeAsync(1);
|
|
290
|
+
expect(secondSignal?.aborted).toBe(true);
|
|
291
|
+
await vi.runAllTimersAsync();
|
|
292
|
+
expect(fetchMock).toHaveBeenCalledTimes(3);
|
|
293
|
+
expect(warn).toHaveBeenCalledExactlyOnceWith("[HotUpdater] Insights UNCHANGED event was not delivered:", expect.objectContaining({
|
|
294
|
+
message: "Request timed out"
|
|
295
|
+
}));
|
|
296
|
+
});
|
|
297
|
+
it("sends a later event after an earlier event's retries without holding its caller", async () => {
|
|
298
|
+
const {
|
|
299
|
+
fetchMock,
|
|
300
|
+
sentEvents
|
|
301
|
+
} = stubEventsEndpoint(503);
|
|
302
|
+
const session = await createSession();
|
|
303
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
304
|
+
await session.sendInsightsEvent({
|
|
305
|
+
...unchangedEvent,
|
|
306
|
+
fromBundleId: "bundle-id",
|
|
307
|
+
toBundleId: "next-bundle-id",
|
|
308
|
+
type: "UPDATE_DOWNLOADED",
|
|
309
|
+
updateStrategy: "appVersion"
|
|
310
|
+
});
|
|
311
|
+
expect(fetchMock).toHaveBeenCalledOnce();
|
|
312
|
+
await vi.runAllTimersAsync();
|
|
313
|
+
const [first, retry, later] = sentEvents();
|
|
314
|
+
expect([first?.type, retry?.type, later?.type]).toEqual(["UNCHANGED", "UNCHANGED", "UPDATE_DOWNLOADED"]);
|
|
315
|
+
expect(retry?.eventId).toBe(first?.eventId);
|
|
316
|
+
expect(later?.eventId).not.toBe(first?.eventId);
|
|
317
|
+
});
|
|
318
|
+
it("keeps sending events after one fails outside its requests", async () => {
|
|
319
|
+
vi.spyOn(console, "warn").mockImplementation(() => {
|
|
320
|
+
throw new Error("console unavailable");
|
|
321
|
+
});
|
|
322
|
+
const {
|
|
323
|
+
fetchMock,
|
|
324
|
+
sentEvents
|
|
325
|
+
} = stubEventsEndpoint(500, 500, 500);
|
|
326
|
+
const session = await createSession();
|
|
327
|
+
await session.sendInsightsEvent(unchangedEvent);
|
|
328
|
+
await vi.runAllTimersAsync();
|
|
329
|
+
expect(fetchMock).toHaveBeenCalledTimes(3);
|
|
330
|
+
|
|
331
|
+
// A queue left rejected would never send this event or settle its caller.
|
|
332
|
+
await session.sendInsightsEvent({
|
|
333
|
+
...unchangedEvent,
|
|
334
|
+
fromBundleId: "bundle-id",
|
|
335
|
+
toBundleId: "next-bundle-id",
|
|
336
|
+
type: "UPDATE_DOWNLOADED",
|
|
337
|
+
updateStrategy: "appVersion"
|
|
338
|
+
});
|
|
339
|
+
expect(sentEvents().map(({
|
|
340
|
+
type
|
|
341
|
+
}) => type)).toEqual(["UNCHANGED", "UNCHANGED", "UNCHANGED", "UPDATE_DOWNLOADED"]);
|
|
342
|
+
});
|
|
343
|
+
});
|
|
102
344
|
//# sourceMappingURL=httpClient.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","createHttpClient","mocks","hoisted","Reflect","set","globalThis","SDK_VERSION","fetchCatalog","fn","fetchJSON","mock","fetchReleaseCatalogWithCache","artifact","fileHash","fileUrl","catalog","catalogId","catalogHash","repeat","fallbackPolicy","generation","releases","schemaVersion","scopeKey","clearAllMocks","mockResolvedValue","session","createSession","fetchReleaseCatalog","appVersion","channel","fingerprintHash","platform","updateStrategy","resolves","toBe","toHaveBeenCalledWith","baseURL","expectedScope","channelKey","strategy","requestHeaders","undefined","requestTimeout","url","resolveBaseURL","mockResolvedValueOnce","client","firstSession","resolveArtifact","currentBundleId","targetBundleId","toEqual","toHaveBeenCalledOnce","toHaveBeenCalledTimes","rejects","toThrow"],"sourceRoot":"../../src","sources":["httpClient.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["isUUIDv7","afterEach","beforeEach","describe","expect","it","vi","FetchJSONResponseError","createHttpClient","mocks","hoisted","Reflect","set","globalThis","SDK_VERSION","fetchCatalog","fn","fetchJSON","mock","fetchReleaseCatalogWithCache","Error","constructor","status","statusText","artifact","artifactProtocolVersion","assets","file","url","fileHash","manifestFileHash","manifestUrl","archiveUrl","catalog","catalogId","catalogHash","repeat","fallbackPolicy","generation","releases","schemaVersion","scopeKey","clearAllMocks","mockResolvedValue","session","createSession","fetchReleaseCatalog","appVersion","channel","fingerprintHash","platform","updateStrategy","resolves","toBe","toHaveBeenCalledWith","baseURL","expectedScope","channelKey","strategy","requestHeaders","undefined","requestTimeout","resolveBaseURL","mockResolvedValueOnce","client","firstSession","resolveArtifact","currentBundleId","targetBundleId","toEqual","toHaveBeenCalledOnce","toHaveBeenCalledTimes","rejects","toThrow","fileUrl","mockRejectedValue","unchangedEvent","cohort","fromBundleId","installId","toBundleId","type","stubEventsEndpoint","responses","fetchMock","next","shift","Response","stubGlobal","sentEvents","calls","map","request","JSON","parse","String","body","useFakeTimers","spyOn","Math","mockReturnValue","useRealTimers","unstubAllGlobals","restoreAllMocks","sendInsightsEvent","advanceTimersByTimeAsync","first","second","eventId","headers","runAllTimersAsync","warn","console","mockImplementation","toHaveBeenCalledExactlyOnceWith","objectContaining","message","_input","Promise","_resolve","reject","signal","addEventListener","Object","assign","name","sent","secondSignal","aborted","retry","later","not"],"sourceRoot":"../../src","sources":["httpClient.spec.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -25,6 +25,17 @@ const registerGlobalGetBaseURL = () => {
|
|
|
25
25
|
|
|
26
26
|
// Call registration immediately on module load
|
|
27
27
|
registerGlobalGetBaseURL();
|
|
28
|
+
/**
|
|
29
|
+
* Debug builds report only with `insights: { debug: true }`, so development
|
|
30
|
+
* sessions do not mix into production Insights. `__DEV__` is defined only in
|
|
31
|
+
* a React Native bundle; anywhere else, such as unit tests, counts as release.
|
|
32
|
+
*/
|
|
33
|
+
const resolveInsights = insights => {
|
|
34
|
+
if (insights === false) return false;
|
|
35
|
+
const isDebugBuild = typeof __DEV__ !== "undefined" && __DEV__;
|
|
36
|
+
return !isDebugBuild || typeof insights === "object" && insights?.debug === true;
|
|
37
|
+
};
|
|
38
|
+
|
|
28
39
|
/**
|
|
29
40
|
* Creates a HotUpdater client instance with all update management methods.
|
|
30
41
|
* This function is called once on module initialization to create a singleton instance.
|
|
@@ -58,7 +69,7 @@ function createHotUpdaterClient() {
|
|
|
58
69
|
} = autoOptions;
|
|
59
70
|
return {
|
|
60
71
|
...rest,
|
|
61
|
-
insights: rest.insights
|
|
72
|
+
insights: resolveInsights(rest.insights),
|
|
62
73
|
client: createHttpClient(baseURL)
|
|
63
74
|
};
|
|
64
75
|
}
|
|
@@ -76,7 +87,7 @@ function createHotUpdaterClient() {
|
|
|
76
87
|
} = rest;
|
|
77
88
|
return {
|
|
78
89
|
...baseURLRest,
|
|
79
|
-
insights: baseURLRest.insights
|
|
90
|
+
insights: resolveInsights(baseURLRest.insights),
|
|
80
91
|
client: createHttpClient(baseURL)
|
|
81
92
|
};
|
|
82
93
|
}
|
|
@@ -312,8 +323,6 @@ function createHotUpdaterClient() {
|
|
|
312
323
|
*
|
|
313
324
|
* @param {UpdateBundleParams} params - Parameters object required for bundle update
|
|
314
325
|
* @param {string} params.bundleId - The bundle ID of the app
|
|
315
|
-
* @param {string|null} params.fileUrl - The URL of the zip file
|
|
316
|
-
*
|
|
317
326
|
* @returns {Promise<boolean>} Whether the update was successful
|
|
318
327
|
*
|
|
319
328
|
* @example
|
|
@@ -343,7 +352,7 @@ function createHotUpdaterClient() {
|
|
|
343
352
|
const state = getActiveUpdateState();
|
|
344
353
|
const active = state.activeSelection;
|
|
345
354
|
const downloaded = await updateBundle(params);
|
|
346
|
-
if (downloaded
|
|
355
|
+
if (downloaded) {
|
|
347
356
|
const selection = getActiveUpdateState().activeSelection;
|
|
348
357
|
await reportBundleDownloaded({
|
|
349
358
|
...globalConfig,
|
|
@@ -370,10 +379,8 @@ function createHotUpdaterClient() {
|
|
|
370
379
|
hotUpdaterStore.setState({
|
|
371
380
|
artifactType: null,
|
|
372
381
|
details: null,
|
|
373
|
-
downloadedBytes: undefined,
|
|
374
382
|
isUpdateDownloaded: false,
|
|
375
|
-
progress: 0
|
|
376
|
-
totalBytes: undefined
|
|
383
|
+
progress: 0
|
|
377
384
|
});
|
|
378
385
|
}
|
|
379
386
|
return ok;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkForUpdate","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","setUser","updateBundle","reportBundleDownloaded","hotUpdaterStore","init","wrap","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","
|
|
1
|
+
{"version":3,"names":["checkForUpdate","createHttpClient","addListener","getPublicActiveUpdateState","getActiveUpdateState","getBundleId","clearCrashHistory","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","isChannelSwitched","notifyAppReady","reload","resetChannel","setCohort","setReloadBehavior","setUser","updateBundle","reportBundleDownloaded","hotUpdaterStore","init","wrap","extractSignatureFailure","isSignatureVerificationError","registerGlobalGetBaseURL","fn","globalThis","HotUpdaterGetBaseURL","resolveInsights","insights","isDebugBuild","__DEV__","debug","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","rest","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","isUpdateDownloaded","getSnapshot","config","mergedConfig","params","fromBundleId","state","active","activeSelection","downloaded","selection","fromReleaseId","bundleId","releaseId","stableSelection","toBundleId","toReleaseId","channel","updateStrategy","scopeKey","startsWith","ok","setState","artifactType","details","progress","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIjC,IAAI,EAAGuB,OAA8B,IAAW;MAC9C,MAAMU,iBAAiB,GAAGJ,oBAAoB,CAACN,OAAO,CAAC;MAEvDc,wBAAwB,CAAC,MAAM,CAAC;MAChCL,eAAe,CAACC,iBAAiB,EAAEV,OAAO,CAAC;MAE3CvB,IAAI,CAACiC,iBAAiB,CAAC;IACzB,CAAC;IAED;AACJ;AACA;IACIzC,MAAM;IAEN;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIgD,kBAAkB,EAAEA,CAAA,KAAM5C,eAAe,CAAC6C,WAAW,CAAC,CAAC,CAACD,kBAAkB;IAE1E;AACJ;AACA;IACIhE,aAAa;IAEb;IACAH,oBAAoB,EAAE,MAAAA,CAAA,KAAYD,0BAA0B,CAAC,CAAC;IAE9D;AACJ;AACA;AACA;IACIE,WAAW,EAAEI,WAAW;IAExB;IACAQ,cAAc;IAEd;AACJ;AACA;IACID,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN,UAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,iBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIK,iBAAiB;IAEjB;AACJ;AACA;AACA;IACII,SAAS;IAET;AACJ;AACA;IACIX,SAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIT,WAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIF,cAAc,EAAGyE,MAA6B,IAAK;MACjD,MAAM5B,MAAM,GAAGwB,kBAAkB,CAAC,gBAAgB,CAAC;MAEnD,MAAMK,YAA2C,GAAG;QAClD,GAAGD,MAAM;QACTpC,QAAQ,EAAEO,YAAY,CAACP,QAAQ;QAC/BQ,MAAM;QACNiB,cAAc,EAAE;UACd,GAAGlB,YAAY,CAACkB,cAAc;UAC9B,GAAGW,MAAM,CAACX;QACZ,CAAC;QACDC,cAAc,EAAEU,MAAM,CAACV,cAAc,IAAInB,YAAY,CAACmB,cAAc;QACpEC,OAAO,EAAES,MAAM,CAACT,OAAO,IAAIpB,YAAY,CAACoB;MAC1C,CAAC;MAED,OAAOhE,cAAc,CAAC0E,YAAY,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIjD,YAAY,EAAE,MAAOkD,MAAoB,IAAK;MAC5C,MAAM9B,MAAM,GAAGwB,kBAAkB,CAAC,cAAc,CAAC;MACjD,MAAMO,YAAY,GAAGvE,WAAW,CAAC,CAAC;MAClC,MAAMwE,KAAK,GAAGzE,oBAAoB,CAAC,CAAC;MACpC,MAAM0E,MAAM,GAAGD,KAAK,CAACE,eAAe;MACpC,MAAMC,UAAU,GAAG,MAAMvD,YAAY,CAACkD,MAAM,CAAC;MAC7C,IAAIK,UAAU,EAAE;QACd,MAAMC,SAAS,GAAG7E,oBAAoB,CAAC,CAAC,CAAC2E,eAAe;QACxD,MAAMrD,sBAAsB,CAC1B;UAAE,GAAGkB,YAAY;UAAEC;QAAO,CAAC,EAC3B;UACE+B,YAAY;UACZM,aAAa,EACXJ,MAAM,EAAEK,QAAQ,KAAKP,YAAY,GAC7BE,MAAM,CAACM,SAAS,GAChBP,KAAK,CAACQ,eAAe,EAAEF,QAAQ,KAAKP,YAAY,GAC9CC,KAAK,CAACQ,eAAe,CAACD,SAAS,GAC/B,IAAI;UACZE,UAAU,EAAEX,MAAM,CAACQ,QAAQ;UAC3BI,WAAW,EAAEN,SAAS,EAAEG,SAAS,IAAI,IAAI;UACzCI,OAAO,EAAEb,MAAM,CAACa,OAAO,IAAI9E,UAAU,CAAC,CAAC;UACvC+E,cAAc,EAAER,SAAS,EAAES,QAAQ,EAAEC,UAAU,CAAC,iBAAiB,CAAC,GAC9D,aAAa,GACb;QACN,CACF,CAAC;MACH;MACA,OAAOX,UAAU;IACnB,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI3D,YAAY,EAAE,MAAAA,CAAA,KAAY;MACxB,MAAMuE,EAAE,GAAG,MAAMvE,YAAY,CAAC,CAAC;MAC/B,IAAIuE,EAAE,EAAE;QACNjE,eAAe,CAACkE,QAAQ,CAAC;UACvBC,YAAY,EAAE,IAAI;UAClBC,OAAO,EAAE,IAAI;UACbxB,kBAAkB,EAAE,KAAK;UACzByB,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;MACA,OAAOJ,EAAE;IACX,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI9E,kBAAkB;IAElB;AACJ;AACA;IACIC,YAAY;IAEZ;AACJ;AACA;IACIS,OAAO;IAEP;AACJ;AACA;IACIL,cAAc;IAEd;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIP,eAAe;IAEf;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIN;EACF,CAAC;AACH;AASA,OAAO,MAAM2F,UAA4B,GAAGxD,sBAAsB,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/index.spec.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
4
4
|
const mocks = vi.hoisted(() => {
|
|
5
5
|
globalThis.HotUpdater = {
|
|
6
6
|
SDK_VERSION: "test-sdk-version"
|
|
@@ -29,6 +29,7 @@ const mocks = vi.hoisted(() => {
|
|
|
29
29
|
getInstallId: vi.fn(() => "install-id"),
|
|
30
30
|
getManifest: vi.fn(() => null),
|
|
31
31
|
getMinBundleId: vi.fn(() => "min-bundle-id"),
|
|
32
|
+
getPersistedUserIdentity: vi.fn(() => ({})),
|
|
32
33
|
init: vi.fn(),
|
|
33
34
|
isChannelSwitched: vi.fn(() => false),
|
|
34
35
|
notifyAppReady: vi.fn(() => ({
|
|
@@ -71,6 +72,7 @@ vi.mock("./native", () => ({
|
|
|
71
72
|
getInstallId: mocks.getInstallId,
|
|
72
73
|
getManifest: mocks.getManifest,
|
|
73
74
|
getMinBundleId: mocks.getMinBundleId,
|
|
75
|
+
getPersistedUserIdentity: mocks.getPersistedUserIdentity,
|
|
74
76
|
isChannelSwitched: mocks.isChannelSwitched,
|
|
75
77
|
notifyAppReady: mocks.notifyAppReady,
|
|
76
78
|
reload: mocks.reload,
|
|
@@ -95,6 +97,10 @@ describe("HotUpdater client initialization", () => {
|
|
|
95
97
|
mocks.checkForUpdate.mockResolvedValue(null);
|
|
96
98
|
mocks.wrap.mockImplementation(Component => Component);
|
|
97
99
|
});
|
|
100
|
+
afterEach(() => {
|
|
101
|
+
vi.unstubAllGlobals();
|
|
102
|
+
vi.restoreAllMocks();
|
|
103
|
+
});
|
|
98
104
|
it("exposes the console ID through the existing getter only", async () => {
|
|
99
105
|
const HotUpdater = await importHotUpdater();
|
|
100
106
|
expect(HotUpdater.getBundleId()).toBe("release-id");
|
|
@@ -168,6 +174,101 @@ describe("HotUpdater client initialization", () => {
|
|
|
168
174
|
insights: false
|
|
169
175
|
}));
|
|
170
176
|
});
|
|
177
|
+
it.each([{
|
|
178
|
+
dev: true,
|
|
179
|
+
insights: undefined,
|
|
180
|
+
expected: false
|
|
181
|
+
}, {
|
|
182
|
+
dev: true,
|
|
183
|
+
insights: true,
|
|
184
|
+
expected: false
|
|
185
|
+
}, {
|
|
186
|
+
dev: true,
|
|
187
|
+
insights: false,
|
|
188
|
+
expected: false
|
|
189
|
+
}, {
|
|
190
|
+
dev: true,
|
|
191
|
+
insights: {
|
|
192
|
+
debug: true
|
|
193
|
+
},
|
|
194
|
+
expected: true
|
|
195
|
+
}, {
|
|
196
|
+
dev: false,
|
|
197
|
+
insights: {
|
|
198
|
+
debug: true
|
|
199
|
+
},
|
|
200
|
+
expected: true
|
|
201
|
+
}, {
|
|
202
|
+
dev: false,
|
|
203
|
+
insights: {
|
|
204
|
+
debug: false
|
|
205
|
+
},
|
|
206
|
+
expected: true
|
|
207
|
+
}, {
|
|
208
|
+
dev: false,
|
|
209
|
+
insights: false,
|
|
210
|
+
expected: false
|
|
211
|
+
}])("resolves insights $insights to $expected when __DEV__ is $dev", async ({
|
|
212
|
+
dev,
|
|
213
|
+
insights,
|
|
214
|
+
expected
|
|
215
|
+
}) => {
|
|
216
|
+
vi.stubGlobal("__DEV__", dev);
|
|
217
|
+
vi.spyOn(console, "error").mockImplementation(() => undefined);
|
|
218
|
+
const HotUpdater = await importHotUpdater();
|
|
219
|
+
HotUpdater.init({
|
|
220
|
+
baseURL: "https://updates.example.com",
|
|
221
|
+
insights
|
|
222
|
+
});
|
|
223
|
+
HotUpdater.wrap({
|
|
224
|
+
baseURL: "https://updates.example.com",
|
|
225
|
+
insights,
|
|
226
|
+
updateStrategy: "appVersion"
|
|
227
|
+
});
|
|
228
|
+
expect(mocks.init).toHaveBeenCalledWith(expect.objectContaining({
|
|
229
|
+
insights: expected
|
|
230
|
+
}));
|
|
231
|
+
expect(mocks.wrap).toHaveBeenCalledWith(expect.objectContaining({
|
|
232
|
+
insights: expected
|
|
233
|
+
}));
|
|
234
|
+
});
|
|
235
|
+
it.each([{
|
|
236
|
+
dev: true,
|
|
237
|
+
reports: false
|
|
238
|
+
}, {
|
|
239
|
+
dev: false,
|
|
240
|
+
reports: true
|
|
241
|
+
}])("gates manual checks and downloads on the build type (__DEV__: $dev)", async ({
|
|
242
|
+
dev,
|
|
243
|
+
reports
|
|
244
|
+
}) => {
|
|
245
|
+
vi.stubGlobal("__DEV__", dev);
|
|
246
|
+
const sendInsightsEvent = vi.fn(async () => undefined);
|
|
247
|
+
mocks.createHttpClient.mockReturnValue({
|
|
248
|
+
createSession: vi.fn(async () => ({
|
|
249
|
+
sendInsightsEvent
|
|
250
|
+
}))
|
|
251
|
+
});
|
|
252
|
+
mocks.updateBundle.mockResolvedValueOnce(true);
|
|
253
|
+
const HotUpdater = await importHotUpdater();
|
|
254
|
+
HotUpdater.init({
|
|
255
|
+
baseURL: "https://updates.example.com"
|
|
256
|
+
});
|
|
257
|
+
await HotUpdater.checkForUpdate({
|
|
258
|
+
updateStrategy: "appVersion"
|
|
259
|
+
});
|
|
260
|
+
await HotUpdater.updateBundle({
|
|
261
|
+
assets: {},
|
|
262
|
+
bundleId: "next-bundle-id",
|
|
263
|
+
manifestFileHash: "manifest-hash",
|
|
264
|
+
manifestUrl: "https://updates.example.com/manifest.json",
|
|
265
|
+
status: "UPDATE"
|
|
266
|
+
});
|
|
267
|
+
expect(mocks.checkForUpdate).toHaveBeenCalledWith(expect.objectContaining({
|
|
268
|
+
insights: reports
|
|
269
|
+
}));
|
|
270
|
+
expect(sendInsightsEvent).toHaveBeenCalledTimes(reports ? 1 : 0);
|
|
271
|
+
});
|
|
171
272
|
it("requires baseURL and rejects the removed resolver shape", async () => {
|
|
172
273
|
const HotUpdater = await importHotUpdater();
|
|
173
274
|
expect(() => HotUpdater.init({})).toThrow("baseURL must be provided");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["beforeEach","describe","expect","it","vi","mocks","hoisted","globalThis","HotUpdater","SDK_VERSION","addListener","fn","checkForUpdate","clearCrashHistory","createHttpClient","baseURL","getActiveUpdateState","activeSelection","highestSeenCatalogs","stableSelection","verificationPending","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","init","isChannelSwitched","notifyAppReady","status","reload","resetChannel","setCohort","setReloadBehavior","setUser","updateBundle","wrap","Component","mock","Platform","OS","getPublicActiveUpdateState","getBundleId","importHotUpdater","resetModules","clearAllMocks","mockImplementation","mockResolvedValue","toBe","not","toHaveProperty","client","createSession","mockReturnValue","insights","requestHeaders","Authorization","requestTimeout","toHaveBeenCalledWith","resolveBaseURL","toHaveBeenCalled","updateStrategy","objectContaining","toThrow","resolver","initOptions","wrapOptions","assertRemovedInputsStayRejected","missingBaseURL","customResolver","clientCatalog","catalogId","toBeTypeOf","checkOnError","onError","each","first","second","consoleError","spyOn","console","undefined","configure","api","toHaveBeenCalledOnce","stringContaining","mockRestore","updateMode","userId","username"],"sourceRoot":"../../src","sources":["index.spec.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["afterEach","beforeEach","describe","expect","it","vi","mocks","hoisted","globalThis","HotUpdater","SDK_VERSION","addListener","fn","checkForUpdate","clearCrashHistory","createHttpClient","baseURL","getActiveUpdateState","activeSelection","highestSeenCatalogs","stableSelection","verificationPending","getAppVersion","getBaseURL","getUpdateId","getChannel","getCohort","getCrashHistory","getDefaultChannel","getFingerprintHash","getInstallId","getManifest","getMinBundleId","getPersistedUserIdentity","init","isChannelSwitched","notifyAppReady","status","reload","resetChannel","setCohort","setReloadBehavior","setUser","updateBundle","wrap","Component","mock","Platform","OS","getPublicActiveUpdateState","getBundleId","importHotUpdater","resetModules","clearAllMocks","mockImplementation","mockResolvedValue","unstubAllGlobals","restoreAllMocks","toBe","not","toHaveProperty","client","createSession","mockReturnValue","insights","requestHeaders","Authorization","requestTimeout","toHaveBeenCalledWith","resolveBaseURL","toHaveBeenCalled","updateStrategy","objectContaining","each","dev","undefined","expected","debug","stubGlobal","spyOn","console","reports","sendInsightsEvent","mockResolvedValueOnce","assets","bundleId","manifestFileHash","manifestUrl","toHaveBeenCalledTimes","toThrow","resolver","initOptions","wrapOptions","assertRemovedInputsStayRejected","missingBaseURL","customResolver","clientCatalog","catalogId","toBeTypeOf","checkOnError","onError","first","second","consoleError","configure","api","toHaveBeenCalledOnce","stringContaining","mockRestore","updateMode","userId","username"],"sourceRoot":"../../src","sources":["index.spec.ts"],"mappings":"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","ignoreList":[]}
|