@hot-updater/react-native 1.0.0-rc.15 → 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/lib/commonjs/httpClient.js +107 -12
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/httpClient.spec.js +190 -0
- package/lib/commonjs/httpClient.spec.js.map +1 -1
- package/lib/commonjs/index.js +13 -2
- 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/notifyAppReadyInsights.transport.spec.js +48 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +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/module/httpClient.js +107 -12
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/httpClient.spec.js +191 -1
- package/lib/module/httpClient.spec.js.map +1 -1
- package/lib/module/index.js +13 -2
- 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/notifyAppReadyInsights.transport.spec.js +48 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +1 -1
- package/lib/module/sdkVersion.js +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/typescript/commonjs/httpClient.d.ts +6 -0
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +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.types.d.ts +7 -2
- package/lib/typescript/commonjs/wrap.types.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.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +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.types.d.ts +7 -2
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/httpClient.spec.ts +219 -3
- package/src/httpClient.ts +157 -14
- package/src/index.spec.ts +70 -1
- package/src/index.ts +17 -2
- package/src/notifyAppReadyInsights.transport.spec.ts +58 -0
- package/src/sdkVersion.ts +1 -1
- package/src/uuidv7.spec.ts +25 -0
- package/src/uuidv7.ts +38 -0
- package/src/wrap.types.ts +9 -2
|
@@ -9,6 +9,7 @@ var _pluginCore = require("@hot-updater/plugin-core");
|
|
|
9
9
|
var _fetchJSON = require("./fetchJSON.js");
|
|
10
10
|
var _releaseCatalogCache = require("./releaseCatalogCache.js");
|
|
11
11
|
var _sdkVersion = require("./sdkVersion.js");
|
|
12
|
+
var _uuidv = require("./uuidv7.js");
|
|
12
13
|
const resolveBaseURL = async baseURL => {
|
|
13
14
|
const resolvedBaseURL = typeof baseURL === "function" ? await baseURL() : baseURL;
|
|
14
15
|
if (!resolvedBaseURL) {
|
|
@@ -57,7 +58,30 @@ const requireArtifactProtocolV1 = info => {
|
|
|
57
58
|
}
|
|
58
59
|
return info;
|
|
59
60
|
};
|
|
60
|
-
|
|
61
|
+
|
|
62
|
+
/** Attempts per Insights event, the first one included. */
|
|
63
|
+
const INSIGHTS_MAX_ATTEMPTS = 3;
|
|
64
|
+
/** Wait before the second attempt; it doubles for each later attempt. */
|
|
65
|
+
const INSIGHTS_RETRY_BASE_DELAY_MS = 1000;
|
|
66
|
+
/** Longest wait between attempts, a server's `Retry-After` included. */
|
|
67
|
+
const INSIGHTS_RETRY_MAX_DELAY_MS = 30000;
|
|
68
|
+
/**
|
|
69
|
+
* Reads `Retry-After` as delay-seconds, the form a server under load sends;
|
|
70
|
+
* an HTTP-date falls back to the backoff.
|
|
71
|
+
*/
|
|
72
|
+
const parseRetryAfterMs = value => {
|
|
73
|
+
const seconds = value?.trim();
|
|
74
|
+
return seconds && /^\d+$/.test(seconds) ? Number(seconds) * 1000 : null;
|
|
75
|
+
};
|
|
76
|
+
const getRetryDelayMs = (failedAttempt, retryAfterMs) => Math.min(retryAfterMs ??
|
|
77
|
+
// Jitter spreads the retries of installations that failed together.
|
|
78
|
+
INSIGHTS_RETRY_BASE_DELAY_MS * 2 ** (failedAttempt - 1) * (0.5 + Math.random()), INSIGHTS_RETRY_MAX_DELAY_MS);
|
|
79
|
+
const wait = ms => new Promise(resolve => {
|
|
80
|
+
setTimeout(resolve, ms);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
/** Makes one POST, with its own timeout, and settles with its failure. */
|
|
84
|
+
const postInsightsEvent = async (baseURL, params, eventId) => {
|
|
61
85
|
const controller = new AbortController();
|
|
62
86
|
const timeoutId = setTimeout(() => {
|
|
63
87
|
controller.abort();
|
|
@@ -68,6 +92,7 @@ const sendInsightsEvent = async (baseURL, params) => {
|
|
|
68
92
|
appVersion: params.appVersion,
|
|
69
93
|
channel: params.channel,
|
|
70
94
|
cohort: params.cohort,
|
|
95
|
+
eventId,
|
|
71
96
|
fingerprintHash: params.fingerprintHash,
|
|
72
97
|
fromBundleId: params.fromBundleId,
|
|
73
98
|
...(params.fromReleaseId === undefined ? {} : {
|
|
@@ -96,19 +121,85 @@ const sendInsightsEvent = async (baseURL, params) => {
|
|
|
96
121
|
method: "POST",
|
|
97
122
|
signal: controller.signal
|
|
98
123
|
});
|
|
99
|
-
if (response.status
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
if (response.status === 204) return null;
|
|
125
|
+
return {
|
|
126
|
+
error: new Error(`Expected HTTP 204 from /events, received ${response.status}`),
|
|
127
|
+
retryable: response.status === 429 || response.status >= 500,
|
|
128
|
+
retryAfterMs: parseRetryAfterMs(response.headers.get("Retry-After"))
|
|
129
|
+
};
|
|
102
130
|
} catch (error) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
131
|
+
// fetch rejects only when no response arrived (a timeout or a network
|
|
132
|
+
// error), so a later attempt may still get through.
|
|
133
|
+
return {
|
|
134
|
+
error: error instanceof Error && error.name === "AbortError" ? new Error("Request timed out") : error instanceof Error ? error : new Error(String(error)),
|
|
135
|
+
retryable: true,
|
|
136
|
+
retryAfterMs: null
|
|
137
|
+
};
|
|
107
138
|
} finally {
|
|
108
139
|
clearTimeout(timeoutId);
|
|
109
140
|
}
|
|
110
141
|
};
|
|
111
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Sends Insights events one at a time and retries each in the background.
|
|
144
|
+
*
|
|
145
|
+
* The server keeps an installation's latest report by arrival, so a later
|
|
146
|
+
* event waits behind an earlier one's retries; otherwise a retried
|
|
147
|
+
* UPDATE_APPLIED could land after the UPDATE_DOWNLOADED that followed it.
|
|
148
|
+
* Callers still wait only for first attempts, as they did before retries, so
|
|
149
|
+
* startup, readiness and `updateBundle()` never wait out a backoff: once an
|
|
150
|
+
* event backs off, every waiting caller is released, and a failure after that
|
|
151
|
+
* only warns.
|
|
152
|
+
*/
|
|
153
|
+
const createInsightsEventSender = () => {
|
|
154
|
+
let queue = Promise.resolve();
|
|
155
|
+
let retrying = false;
|
|
156
|
+
const waiting = new Set();
|
|
157
|
+
return (baseURL, params) => {
|
|
158
|
+
// One ID for every attempt, so the server counts a retried POST once.
|
|
159
|
+
const eventId = (0, _uuidv.createUUIDv7)();
|
|
160
|
+
return new Promise((resolve, reject) => {
|
|
161
|
+
let released = false;
|
|
162
|
+
const release = () => {
|
|
163
|
+
released = true;
|
|
164
|
+
waiting.delete(release);
|
|
165
|
+
resolve();
|
|
166
|
+
};
|
|
167
|
+
if (retrying) release();else waiting.add(release);
|
|
168
|
+
queue = queue.then(async () => {
|
|
169
|
+
try {
|
|
170
|
+
for (let attempt = 1;; attempt += 1) {
|
|
171
|
+
const failure = await postInsightsEvent(baseURL, params, eventId);
|
|
172
|
+
if (failure === null) {
|
|
173
|
+
release();
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
if (!failure.retryable || attempt === INSIGHTS_MAX_ATTEMPTS) {
|
|
177
|
+
waiting.delete(release);
|
|
178
|
+
if (released) {
|
|
179
|
+
console.warn(`[HotUpdater] Insights ${params.type} event was not delivered:`, failure.error);
|
|
180
|
+
} else {
|
|
181
|
+
reject(failure.error);
|
|
182
|
+
}
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
retrying = true;
|
|
186
|
+
for (const releaseWaiting of waiting) releaseWaiting();
|
|
187
|
+
await wait(getRetryDelayMs(attempt, failure.retryAfterMs));
|
|
188
|
+
}
|
|
189
|
+
} catch (error) {
|
|
190
|
+
// A failed request settles in postInsightsEvent, so only a bug gets
|
|
191
|
+
// here. A rejected queue would leave every later event, and a caller
|
|
192
|
+
// such as `updateBundle()` waiting on one, pending forever.
|
|
193
|
+
waiting.delete(release);
|
|
194
|
+
if (!released) reject(error);
|
|
195
|
+
} finally {
|
|
196
|
+
retrying = false;
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
const createSession = (baseURL, sendInsightsEvent) => ({
|
|
112
203
|
fetchReleaseCatalog: async params => {
|
|
113
204
|
const channelKey = (0, _core.encodeChannelKey)(params.channel);
|
|
114
205
|
let strategyValue;
|
|
@@ -163,8 +254,12 @@ const createSession = baseURL => ({
|
|
|
163
254
|
});
|
|
164
255
|
|
|
165
256
|
/** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
|
|
166
|
-
const createHttpClient = baseURL =>
|
|
167
|
-
|
|
168
|
-
|
|
257
|
+
const createHttpClient = baseURL => {
|
|
258
|
+
// Shared by every session, since each report opens its own session.
|
|
259
|
+
const sendInsightsEvent = createInsightsEventSender();
|
|
260
|
+
return {
|
|
261
|
+
createSession: async () => createSession(await resolveBaseURL(baseURL), sendInsightsEvent)
|
|
262
|
+
};
|
|
263
|
+
};
|
|
169
264
|
exports.createHttpClient = createHttpClient;
|
|
170
265
|
//# sourceMappingURL=httpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_pluginCore","_fetchJSON","_releaseCatalogCache","_sdkVersion","resolveBaseURL","baseURL","resolvedBaseURL","Error","replace","resolveArtifactUrl","value","test","URL","startsWith","slice","resolveArtifactUrls","info","manifestUrl","archiveUrl","assets","Object","fromEntries","entries","map","path","asset","file","url","patch","patchUrl","requireArtifactProtocolV1","artifactProtocolVersion","ARTIFACT_PROTOCOL_VERSION","manifestFileHash","undefined","values","fileHash","sendInsightsEvent","params","controller","AbortController","timeoutId","setTimeout","abort","requestTimeout","response","fetch","body","JSON","stringify","appVersion","channel","cohort","fingerprintHash","fromBundleId","fromReleaseId","installId","platform","sdkVersion","HOT_UPDATER_SDK_VERSION","toBundleId","toReleaseId","type","updateStrategy","userId","username","headers","requestHeaders","method","signal","status","error","name","clearTimeout","createSession","fetchReleaseCatalog","channelKey","encodeChannelKey","strategyValue","canonicalizeAppVersion","strategyPath","encodeURIComponent","fetchReleaseCatalogWithCache","expectedScope","strategy","resolveArtifact","fetchJSON","targetBundleId","currentBundleId","FetchJSONResponseError","cause","createHttpClient","exports"],"sourceRoot":"../../src","sources":["httpClient.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_core","require","_pluginCore","_fetchJSON","_releaseCatalogCache","_sdkVersion","_uuidv","resolveBaseURL","baseURL","resolvedBaseURL","Error","replace","resolveArtifactUrl","value","test","URL","startsWith","slice","resolveArtifactUrls","info","manifestUrl","archiveUrl","assets","Object","fromEntries","entries","map","path","asset","file","url","patch","patchUrl","requireArtifactProtocolV1","artifactProtocolVersion","ARTIFACT_PROTOCOL_VERSION","manifestFileHash","undefined","values","fileHash","INSIGHTS_MAX_ATTEMPTS","INSIGHTS_RETRY_BASE_DELAY_MS","INSIGHTS_RETRY_MAX_DELAY_MS","parseRetryAfterMs","seconds","trim","Number","getRetryDelayMs","failedAttempt","retryAfterMs","Math","min","random","wait","ms","Promise","resolve","setTimeout","postInsightsEvent","params","eventId","controller","AbortController","timeoutId","abort","requestTimeout","response","fetch","body","JSON","stringify","appVersion","channel","cohort","fingerprintHash","fromBundleId","fromReleaseId","installId","platform","sdkVersion","HOT_UPDATER_SDK_VERSION","toBundleId","toReleaseId","type","updateStrategy","userId","username","headers","requestHeaders","method","signal","status","error","retryable","get","name","String","clearTimeout","createInsightsEventSender","queue","retrying","waiting","Set","createUUIDv7","reject","released","release","delete","add","then","attempt","failure","console","warn","releaseWaiting","createSession","sendInsightsEvent","fetchReleaseCatalog","channelKey","encodeChannelKey","strategyValue","canonicalizeAppVersion","strategyPath","encodeURIComponent","fetchReleaseCatalogWithCache","expectedScope","strategy","resolveArtifact","fetchJSON","targetBundleId","currentBundleId","FetchJSONResponseError","cause","createHttpClient","exports"],"sourceRoot":"../../src","sources":["httpClient.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _core = require("@hot-updater/core");
|
|
3
4
|
var _vitest = require("vitest");
|
|
4
5
|
var _fetchJSON = require("./fetchJSON.js");
|
|
5
6
|
var _httpClient = require("./httpClient.js");
|
|
@@ -151,4 +152,193 @@ const catalog = {
|
|
|
151
152
|
await (0, _vitest.expect)((0, _httpClient.createHttpClient)(() => "").createSession()).rejects.toThrow("baseURL function must return a non-empty string");
|
|
152
153
|
});
|
|
153
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 = _vitest.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
|
+
_vitest.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
|
+
(0, _vitest.describe)("Insights event delivery", () => {
|
|
185
|
+
(0, _vitest.beforeEach)(() => {
|
|
186
|
+
_vitest.vi.useFakeTimers();
|
|
187
|
+
// No jitter: the first retry waits exactly 1 s and the second 2 s.
|
|
188
|
+
_vitest.vi.spyOn(Math, "random").mockReturnValue(0.5);
|
|
189
|
+
});
|
|
190
|
+
(0, _vitest.afterEach)(() => {
|
|
191
|
+
_vitest.vi.useRealTimers();
|
|
192
|
+
_vitest.vi.unstubAllGlobals();
|
|
193
|
+
_vitest.vi.restoreAllMocks();
|
|
194
|
+
});
|
|
195
|
+
const createSession = () => (0, _httpClient.createHttpClient)("https://updates.example.com").createSession();
|
|
196
|
+
(0, _vitest.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
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledOnce();
|
|
206
|
+
await _vitest.vi.advanceTimersByTimeAsync(1_000);
|
|
207
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(2);
|
|
208
|
+
const [first, second] = sentEvents();
|
|
209
|
+
(0, _vitest.expect)((0, _core.isUUIDv7)(first?.eventId)).toBe(true);
|
|
210
|
+
(0, _vitest.expect)(second?.eventId).toBe(first?.eventId);
|
|
211
|
+
});
|
|
212
|
+
(0, _vitest.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 _vitest.vi.advanceTimersByTimeAsync(6_999);
|
|
224
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledOnce();
|
|
225
|
+
await _vitest.vi.advanceTimersByTimeAsync(1);
|
|
226
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(2);
|
|
227
|
+
});
|
|
228
|
+
(0, _vitest.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 _vitest.vi.advanceTimersByTimeAsync(29_999);
|
|
240
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledOnce();
|
|
241
|
+
await _vitest.vi.advanceTimersByTimeAsync(1);
|
|
242
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(2);
|
|
243
|
+
});
|
|
244
|
+
(0, _vitest.it)("does not retry a 400", async () => {
|
|
245
|
+
const {
|
|
246
|
+
fetchMock
|
|
247
|
+
} = stubEventsEndpoint(400);
|
|
248
|
+
const session = await createSession();
|
|
249
|
+
await (0, _vitest.expect)(session.sendInsightsEvent(unchangedEvent)).rejects.toThrow("Expected HTTP 204 from /events, received 400");
|
|
250
|
+
await _vitest.vi.runAllTimersAsync();
|
|
251
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledOnce();
|
|
252
|
+
});
|
|
253
|
+
(0, _vitest.it)("stops after three attempts and warns once", async () => {
|
|
254
|
+
const warn = _vitest.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 _vitest.vi.runAllTimersAsync();
|
|
261
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(3);
|
|
262
|
+
(0, _vitest.expect)(warn).toHaveBeenCalledExactlyOnceWith("[HotUpdater] Insights UNCHANGED event was not delivered:", _vitest.expect.objectContaining({
|
|
263
|
+
message: "Expected HTTP 204 from /events, received 503"
|
|
264
|
+
}));
|
|
265
|
+
});
|
|
266
|
+
(0, _vitest.it)("gives each attempt its own timeout", async () => {
|
|
267
|
+
const warn = _vitest.vi.spyOn(console, "warn").mockImplementation(() => {});
|
|
268
|
+
const fetchMock = _vitest.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
|
+
_vitest.vi.stubGlobal("fetch", fetchMock);
|
|
276
|
+
const session = await createSession();
|
|
277
|
+
const sent = session.sendInsightsEvent({
|
|
278
|
+
...unchangedEvent,
|
|
279
|
+
requestTimeout: 2_000
|
|
280
|
+
});
|
|
281
|
+
await _vitest.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 _vitest.vi.advanceTimersByTimeAsync(1_000);
|
|
285
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(2);
|
|
286
|
+
const secondSignal = fetchMock.mock.calls[1]?.[1]?.signal;
|
|
287
|
+
await _vitest.vi.advanceTimersByTimeAsync(1_999);
|
|
288
|
+
(0, _vitest.expect)(secondSignal?.aborted).toBe(false);
|
|
289
|
+
await _vitest.vi.advanceTimersByTimeAsync(1);
|
|
290
|
+
(0, _vitest.expect)(secondSignal?.aborted).toBe(true);
|
|
291
|
+
await _vitest.vi.runAllTimersAsync();
|
|
292
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledTimes(3);
|
|
293
|
+
(0, _vitest.expect)(warn).toHaveBeenCalledExactlyOnceWith("[HotUpdater] Insights UNCHANGED event was not delivered:", _vitest.expect.objectContaining({
|
|
294
|
+
message: "Request timed out"
|
|
295
|
+
}));
|
|
296
|
+
});
|
|
297
|
+
(0, _vitest.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
|
+
(0, _vitest.expect)(fetchMock).toHaveBeenCalledOnce();
|
|
312
|
+
await _vitest.vi.runAllTimersAsync();
|
|
313
|
+
const [first, retry, later] = sentEvents();
|
|
314
|
+
(0, _vitest.expect)([first?.type, retry?.type, later?.type]).toEqual(["UNCHANGED", "UNCHANGED", "UPDATE_DOWNLOADED"]);
|
|
315
|
+
(0, _vitest.expect)(retry?.eventId).toBe(first?.eventId);
|
|
316
|
+
(0, _vitest.expect)(later?.eventId).not.toBe(first?.eventId);
|
|
317
|
+
});
|
|
318
|
+
(0, _vitest.it)("keeps sending events after one fails outside its requests", async () => {
|
|
319
|
+
_vitest.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 _vitest.vi.runAllTimersAsync();
|
|
329
|
+
(0, _vitest.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
|
+
(0, _vitest.expect)(sentEvents().map(({
|
|
340
|
+
type
|
|
341
|
+
}) => type)).toEqual(["UNCHANGED", "UNCHANGED", "UNCHANGED", "UPDATE_DOWNLOADED"]);
|
|
342
|
+
});
|
|
343
|
+
});
|
|
154
344
|
//# sourceMappingURL=httpClient.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_vitest","require","_fetchJSON","_httpClient","mocks","vi","hoisted","Reflect","set","globalThis","SDK_VERSION","fetchCatalog","fn","fetchJSON","mock","fetchReleaseCatalogWithCache","FetchJSONResponseError","Error","constructor","status","statusText","artifact","artifactProtocolVersion","assets","file","url","fileHash","manifestFileHash","manifestUrl","archiveUrl","catalog","catalogId","catalogHash","repeat","fallbackPolicy","generation","releases","schemaVersion","scopeKey","describe","beforeEach","clearAllMocks","mockResolvedValue","it","session","createHttpClient","createSession","expect","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"],"sourceRoot":"../../src","sources":["httpClient.spec.ts"],"mappings":";;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,MAAMG,KAAK,GAAGC,UAAE,CAACC,OAAO,CAAC,MAAM;EAC7BC,OAAO,CAACC,GAAG,CAACC,UAAU,EAAE,YAAY,EAAE;IACpCC,WAAW,EAAE;EACf,CAAC,CAAC;EACF,OAAO;IACLC,YAAY,EAAEN,UAAE,CAACO,EAAE,CAAC,CAAC;IACrBC,SAAS,EAAER,UAAE,CAACO,EAAE,CAAC;EACnB,CAAC;AACH,CAAC,CAAC;AAEFP,UAAE,CAACS,IAAI,CAAC,uBAAuB,EAAE,OAAO;EACtCC,4BAA4B,EAAEX,KAAK,CAACO;AACtC,CAAC,CAAC,CAAC;AAEHN,UAAE,CAACS,IAAI,CAAC,aAAa,EAAE,OAAO;EAC5BE,sBAAsB,EAAE,MAAMA,sBAAsB,SAASC,KAAK,CAAC;IACjEC,WAAWA,CACAC,MAAc,EACvBC,UAAkB,EAClB;MACA,KAAK,CAACA,UAAU,CAAC;MAAC,KAHTD,MAAc,GAAdA,MAAc;IAIzB;EACF,CAAC;EACDN,SAAS,EAAET,KAAK,CAACS;AACnB,CAAC,CAAC,CAAC;AAEH,MAAMQ,QAAsB,GAAG;EAC7BC,uBAAuB,EAAE,CAAC;EAC1BC,MAAM,EAAE;IACN,kBAAkB,EAAE;MAClBC,IAAI,EAAE;QAAEC,GAAG,EAAE;MAA2B,CAAC;MACzCC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,gBAAgB,EAAE,eAAe;EACjCC,WAAW,EAAE,wBAAwB;EACrCC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,OAAuB,GAAG;EAC9BC,SAAS,EAAE,sBAAsB;EACjCC,WAAW,EAAE,UAAU,GAAG,CAACC,MAAM,CAAC,EAAE,CAAC,EAAE;EACvCC,cAAc,EAAE,8BAA8B;EAC9CC,UAAU,EAAE,CAAC;EACbC,QAAQ,EAAE,EAAE;EACZC,aAAa,EAAE,CAAC;EAChBC,QAAQ,EAAE;AACZ,CAAC;AAED,IAAAC,gBAAQ,EAAC,gCAAgC,EAAE,MAAM;EAC/C,IAAAC,kBAAU,EAAC,MAAM;IACfnC,UAAE,CAACoC,aAAa,CAAC,CAAC;IAClBrC,KAAK,CAACO,YAAY,CAAC+B,iBAAiB,CAACZ,OAAO,CAAC;IAC7C1B,KAAK,CAACS,SAAS,CAAC6B,iBAAiB,CAACrB,QAAQ,CAAC;EAC7C,CAAC,CAAC;EAEF,IAAAsB,UAAE,EAAC,sEAAsE,EAAE,YAAY;IACrF,MAAMC,OAAO,GAAG,MAAM,IAAAC,4BAAgB,EACpC,0CACF,CAAC,CAACC,aAAa,CAAC,CAAC;IAEjB,MAAM,IAAAC,cAAM,EACVH,OAAO,CAACI,mBAAmB,CAAC;MAC1BC,UAAU,EAAE,OAAO;MACnBC,OAAO,EAAE,YAAY;MACrBC,eAAe,EAAE,IAAI;MACrBC,QAAQ,EAAE,KAAK;MACfC,cAAc,EAAE;IAClB,CAAC,CACH,CAAC,CAACC,QAAQ,CAACC,IAAI,CAACzB,OAAO,CAAC;IAExB,IAAAiB,cAAM,EAAC3C,KAAK,CAACO,YAAY,CAAC,CAAC6C,oBAAoB,CAAC;MAC9CC,OAAO,EAAE,yCAAyC;MAClDC,aAAa,EAAE;QACbC,UAAU,EAAE,gBAAgB;QAC5BP,QAAQ,EAAE,KAAK;QACfQ,QAAQ,EAAE;MACZ,CAAC;MACDC,cAAc,EAAEC,SAAS;MACzBC,cAAc,EAAED,SAAS;MACzBrC,GAAG,EAAE;IACP,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,IAAAkB,UAAE,EAAC,wFAAwF,EAAE,YAAY;IACvG,MAAMqB,cAAc,GAAG3D,UAAE,CACtBO,EAAE,CAAC,CAAC,CACJqD,qBAAqB,CAAC,uCAAuC,CAAC,CAC9DA,qBAAqB,CAAC,wCAAwC,CAAC;IAClE,MAAMC,MAAM,GAAG,IAAArB,4BAAgB,EAACmB,cAAc,CAAC;IAC/C,MAAMG,YAAY,GAAG,MAAMD,MAAM,CAACpB,aAAa,CAAC,CAAC;IAEjD,MAAMqB,YAAY,CAACnB,mBAAmB,CAAC;MACrCC,UAAU,EAAE,OAAO;MACnBC,OAAO,EAAE,YAAY;MACrBC,eAAe,EAAE,IAAI;MACrBC,QAAQ,EAAE,KAAK;MACfC,cAAc,EAAE;IAClB,CAAC,CAAC;IACF,MAAM,IAAAN,cAAM,EACVoB,YAAY,CAACC,eAAe,CAAC;MAC3BC,eAAe,EAAE,SAAS;MAC1BC,cAAc,EAAE;IAClB,CAAC,CACH,CAAC,CAAChB,QAAQ,CAACiB,OAAO,CAAC;MACjB,GAAGlD,QAAQ;MACXE,MAAM,EAAE;QACN,kBAAkB,EAAE;UAClBC,IAAI,EAAE;YACJC,GAAG,EAAE;UACP,CAAC;UACDC,QAAQ,EAAE;QACZ;MACF,CAAC;MACDE,WAAW,EACT,6DAA6D;MAC/DC,UAAU,EAAE;IACd,CAAC,CAAC;IAEF,IAAAkB,cAAM,EAACiB,cAAc,CAAC,CAACQ,oBAAoB,CAAC,CAAC;IAC7C,IAAAzB,cAAM,EAAC3C,KAAK,CAACS,SAAS,CAAC,CAAC2C,oBAAoB,CAAC;MAC3CK,cAAc,EAAEC,SAAS;MACzBC,cAAc,EAAED,SAAS;MACzBrC,GAAG,EAAE;IACP,CAAC,CAAC;IAEF,MAAMyC,MAAM,CAACpB,aAAa,CAAC,CAAC;IAC5B,IAAAC,cAAM,EAACiB,cAAc,CAAC,CAACS,qBAAqB,CAAC,CAAC,CAAC;EACjD,CAAC,CAAC;EAEF,IAAA9B,UAAE,EAAC,4CAA4C,EAAE,YAAY;IAC3DvC,KAAK,CAACS,SAAS,CAAC6B,iBAAiB,CAAC;MAChC,GAAGrB,QAAQ;MACXE,MAAM,EAAE;QACN,kBAAkB,EAAE;UAClBC,IAAI,EAAE;YAAEC,GAAG,EAAE;UAA2B,CAAC;UACzCC,QAAQ,EAAE;QACZ;MACF;IACF,CAAC,CAAC;IACF,MAAMkB,OAAO,GAAG,MAAM,IAAAC,4BAAgB,EACpC,6BACF,CAAC,CAACC,aAAa,CAAC,CAAC;IAEjB,MAAM,IAAAC,cAAM,EACVH,OAAO,CAACwB,eAAe,CAAC;MACtBC,eAAe,EAAE,SAAS;MAC1BC,cAAc,EAAE;IAClB,CAAC,CACH,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,+BAA+B,CAAC;EACpD,CAAC,CAAC;EAEF,IAAAhC,UAAE,EAAC,oCAAoC,EAAE,YAAY;IACnDvC,KAAK,CAACS,SAAS,CAAC6B,iBAAiB,CAAC;MAChChB,QAAQ,EAAE,cAAc;MACxBkD,OAAO,EAAE;IACX,CAAC,CAAC;IACF,MAAMhC,OAAO,GAAG,MAAM,IAAAC,4BAAgB,EACpC,6BACF,CAAC,CAACC,aAAa,CAAC,CAAC;IAEjB,MAAM,IAAAC,cAAM,EACVH,OAAO,CAACwB,eAAe,CAAC;MACtBC,eAAe,EAAE,SAAS;MAC1BC,cAAc,EAAE;IAClB,CAAC,CACH,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,sCAAsC,CAAC;EAC3D,CAAC,CAAC;EAEF,IAAAhC,UAAE,EAAC,0DAA0D,EAAE,YAAY;IACzEvC,KAAK,CAACS,SAAS,CAACgE,iBAAiB,CAC/B,IAAI7D,iCAAsB,CAAC,GAAG,EAAE,WAAW,CAC7C,CAAC;IACD,MAAM4B,OAAO,GAAG,MAAM,IAAAC,4BAAgB,EACpC,6BACF,CAAC,CAACC,aAAa,CAAC,CAAC;IAEjB,MAAM,IAAAC,cAAM,EACVH,OAAO,CAACwB,eAAe,CAAC;MACtBC,eAAe,EAAE,SAAS;MAC1BC,cAAc,EAAE;IAClB,CAAC,CACH,CAAC,CAACI,OAAO,CAACC,OAAO,CAAC,sCAAsC,CAAC;EAC3D,CAAC,CAAC;EAEF,IAAAhC,UAAE,EAAC,gEAAgE,EAAE,YAAY;IAC/E,MAAM,IAAAI,cAAM,EAAC,IAAAF,4BAAgB,EAAC,MAAM,EAAE,CAAC,CAACC,aAAa,CAAC,CAAC,CAAC,CAAC4B,OAAO,CAACC,OAAO,CACtE,iDACF,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_core","require","_vitest","_fetchJSON","_httpClient","mocks","vi","hoisted","Reflect","set","globalThis","SDK_VERSION","fetchCatalog","fn","fetchJSON","mock","fetchReleaseCatalogWithCache","FetchJSONResponseError","Error","constructor","status","statusText","artifact","artifactProtocolVersion","assets","file","url","fileHash","manifestFileHash","manifestUrl","archiveUrl","catalog","catalogId","catalogHash","repeat","fallbackPolicy","generation","releases","schemaVersion","scopeKey","describe","beforeEach","clearAllMocks","mockResolvedValue","it","session","createHttpClient","createSession","expect","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","afterEach","useRealTimers","unstubAllGlobals","restoreAllMocks","sendInsightsEvent","advanceTimersByTimeAsync","first","second","isUUIDv7","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/commonjs/index.js
CHANGED
|
@@ -56,6 +56,17 @@ const registerGlobalGetBaseURL = () => {
|
|
|
56
56
|
|
|
57
57
|
// Call registration immediately on module load
|
|
58
58
|
registerGlobalGetBaseURL();
|
|
59
|
+
/**
|
|
60
|
+
* Debug builds report only with `insights: { debug: true }`, so development
|
|
61
|
+
* sessions do not mix into production Insights. `__DEV__` is defined only in
|
|
62
|
+
* a React Native bundle; anywhere else, such as unit tests, counts as release.
|
|
63
|
+
*/
|
|
64
|
+
const resolveInsights = insights => {
|
|
65
|
+
if (insights === false) return false;
|
|
66
|
+
const isDebugBuild = typeof __DEV__ !== "undefined" && __DEV__;
|
|
67
|
+
return !isDebugBuild || typeof insights === "object" && insights?.debug === true;
|
|
68
|
+
};
|
|
69
|
+
|
|
59
70
|
/**
|
|
60
71
|
* Creates a HotUpdater client instance with all update management methods.
|
|
61
72
|
* This function is called once on module initialization to create a singleton instance.
|
|
@@ -89,7 +100,7 @@ function createHotUpdaterClient() {
|
|
|
89
100
|
} = autoOptions;
|
|
90
101
|
return {
|
|
91
102
|
...rest,
|
|
92
|
-
insights: rest.insights
|
|
103
|
+
insights: resolveInsights(rest.insights),
|
|
93
104
|
client: (0, _httpClient.createHttpClient)(baseURL)
|
|
94
105
|
};
|
|
95
106
|
}
|
|
@@ -107,7 +118,7 @@ function createHotUpdaterClient() {
|
|
|
107
118
|
} = rest;
|
|
108
119
|
return {
|
|
109
120
|
...baseURLRest,
|
|
110
|
-
insights: baseURLRest.insights
|
|
121
|
+
insights: resolveInsights(baseURLRest.insights),
|
|
111
122
|
client: (0, _httpClient.createHttpClient)(baseURL)
|
|
112
123
|
};
|
|
113
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_checkForUpdate","require","_httpClient","_native","_notifyAppReadyInsights","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","
|
|
1
|
+
{"version":3,"names":["_checkForUpdate","require","_httpClient","_native","_notifyAppReadyInsights","_store","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_wrap","_types","registerGlobalGetBaseURL","fn","getBaseURL","globalThis","HotUpdaterGetBaseURL","resolveInsights","insights","isDebugBuild","__DEV__","debug","createHotUpdaterClient","configurationAPI","mixedConfigurationReported","globalConfig","client","createMissingNetworkConfigError","apiName","Error","baseURLExample","normalizeOptions","options","incoming","updateMode","autoOptions","baseURL","rest","createHttpClient","normalizeInitOptions","_updateMode","baseURLRest","configureGlobal","normalizedOptions","requestHeaders","requestTimeout","onError","reportMixedConfiguration","nextAPI","console","error","ensureGlobalClient","methodName","wrap","init","reload","setReloadBehavior","isUpdateDownloaded","hotUpdaterStore","getSnapshot","getAppVersion","getActiveUpdateState","getPublicActiveUpdateState","getBundleId","getUpdateId","getMinBundleId","getManifest","getChannel","getDefaultChannel","isChannelSwitched","setCohort","getCohort","addListener","checkForUpdate","config","mergedConfig","updateBundle","params","fromBundleId","state","active","activeSelection","downloaded","selection","reportBundleDownloaded","fromReleaseId","bundleId","releaseId","stableSelection","toBundleId","toReleaseId","channel","updateStrategy","scopeKey","startsWith","resetChannel","ok","setState","artifactType","details","progress","getFingerprintHash","getInstallId","setUser","notifyAppReady","getCrashHistory","clearCrashHistory","HotUpdater"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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CAAC;MAE3C,OAAO,IAAAqB,UAAI,EAACV,iBAAiB,CAAC;IAChC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIW,IAAI,EAAGtB,OAA8B,IAAW;MAC9C,MAAMW,iBAAiB,GAAGJ,oBAAoB,CAACP,OAAO,CAAC;MAEvDe,wBAAwB,CAAC,MAAM,CAAC;MAChCL,eAAe,CAACC,iBAAiB,EAAEX,OAAO,CAAC;MAE3C,IAAAsB,UAAI,EAACX,iBAAiB,CAAC;IACzB,CAAC;IAED;AACJ;AACA;IACIY,MAAM,EAANA,cAAM;IAEN;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,kBAAkB,EAAEA,CAAA,KAAMC,sBAAe,CAACC,WAAW,CAAC,CAAC,CAACF,kBAAkB;IAE1E;AACJ;AACA;IACIG,aAAa,EAAbA,qBAAa;IAEb;IACAC,oBAAoB,EAAE,MAAAA,CAAA,KAAY,IAAAC,kCAA0B,EAAC,CAAC;IAE9D;AACJ;AACA;AACA;IACIC,WAAW,EAAEC,mBAAW;IAExB;IACAC,cAAc,EAAdA,sBAAc;IAEd;AACJ;AACA;IACIC,WAAW,EAAXA,mBAAW;IAEX;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,UAAU,EAAVA,kBAAU;IAEV;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;AACA;IACIC,iBAAiB,EAAjBA,yBAAiB;IAEjB;AACJ;AACA;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;IACIC,SAAS,EAATA,iBAAS;IAET;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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","ignoreList":[]}
|