@hot-updater/react-native 1.0.0-rc.1 → 1.0.0-rc.3
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/src/main/java/com/hotupdater/BundleFileStorageService.kt +1 -1
- package/lib/commonjs/checkForUpdate.js +4 -4
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +34 -23
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/commonjs/httpClient.js +2 -2
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/index.js +8 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.spec.js +49 -11
- package/lib/commonjs/index.spec.js.map +1 -1
- package/lib/commonjs/native.js +8 -6
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/native.spec.js +107 -6
- package/lib/commonjs/native.spec.js.map +1 -1
- package/lib/commonjs/{notifyAppReadyAnalytics.boundary.spec.js → notifyAppReadyInsights.boundary.spec.js} +21 -21
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +1 -0
- package/lib/commonjs/{notifyAppReadyAnalytics.js → notifyAppReadyInsights.js} +27 -27
- package/lib/commonjs/notifyAppReadyInsights.js.map +1 -0
- package/lib/commonjs/{notifyAppReadyAnalytics.spec.js → notifyAppReadyInsights.spec.js} +29 -29
- package/lib/commonjs/notifyAppReadyInsights.spec.js.map +1 -0
- package/lib/commonjs/{notifyAppReadyAnalytics.test-utils.js → notifyAppReadyInsights.test-utils.js} +3 -3
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +1 -0
- package/lib/commonjs/{notifyAppReadyAnalytics.transport.spec.js → notifyAppReadyInsights.transport.spec.js} +7 -7
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +1 -0
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/wrap.js +5 -5
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/commonjs/wrap.spec.js +58 -25
- package/lib/commonjs/wrap.spec.js.map +1 -1
- package/lib/module/checkForUpdate.js +4 -4
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +34 -23
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +1 -1
- package/lib/module/httpClient.js +2 -2
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/index.js +9 -7
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.spec.js +49 -11
- package/lib/module/index.spec.js.map +1 -1
- package/lib/module/native.js +6 -4
- package/lib/module/native.js.map +1 -1
- package/lib/module/native.spec.js +107 -6
- package/lib/module/native.spec.js.map +1 -1
- package/lib/module/{notifyAppReadyAnalytics.boundary.spec.js → notifyAppReadyInsights.boundary.spec.js} +16 -16
- package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +1 -0
- package/lib/module/{notifyAppReadyAnalytics.js → notifyAppReadyInsights.js} +27 -27
- package/lib/module/notifyAppReadyInsights.js.map +1 -0
- package/lib/module/{notifyAppReadyAnalytics.spec.js → notifyAppReadyInsights.spec.js} +21 -21
- package/lib/module/notifyAppReadyInsights.spec.js.map +1 -0
- package/lib/module/{notifyAppReadyAnalytics.test-utils.js → notifyAppReadyInsights.test-utils.js} +3 -3
- package/lib/module/notifyAppReadyInsights.test-utils.js.map +1 -0
- package/lib/module/{notifyAppReadyAnalytics.transport.spec.js → notifyAppReadyInsights.transport.spec.js} +4 -4
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +1 -0
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/wrap.js +4 -4
- package/lib/module/wrap.js.map +1 -1
- package/lib/module/wrap.spec.js +60 -25
- package/lib/module/wrap.spec.js.map +1 -1
- package/lib/typescript/commonjs/checkForUpdate.d.ts +1 -1
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/httpClient.d.ts +5 -5
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -5
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +4 -3
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/{module/notifyAppReadyAnalytics.d.ts → commonjs/notifyAppReadyInsights.d.ts} +2 -2
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +1 -0
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +8 -0
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +5 -6
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
- package/lib/typescript/module/checkForUpdate.d.ts +1 -1
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/httpClient.d.ts +5 -5
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -5
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +4 -3
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/{commonjs/notifyAppReadyAnalytics.d.ts → module/notifyAppReadyInsights.d.ts} +2 -2
- package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +1 -0
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +8 -0
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +1 -0
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/wrap.types.d.ts +5 -6
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/checkForUpdate.releaseCatalog.spec.ts +71 -56
- package/src/checkForUpdate.ts +5 -9
- package/src/httpClient.ts +10 -10
- package/src/index.spec.ts +55 -11
- package/src/index.ts +10 -10
- package/src/native.spec.ts +110 -6
- package/src/native.ts +9 -8
- package/src/{notifyAppReadyAnalytics.boundary.spec.ts → notifyAppReadyInsights.boundary.spec.ts} +17 -17
- package/src/{notifyAppReadyAnalytics.spec.ts → notifyAppReadyInsights.spec.ts} +22 -22
- package/src/{notifyAppReadyAnalytics.test-utils.ts → notifyAppReadyInsights.test-utils.ts} +4 -4
- package/src/{notifyAppReadyAnalytics.transport.spec.ts → notifyAppReadyInsights.transport.spec.ts} +5 -5
- package/src/{notifyAppReadyAnalytics.ts → notifyAppReadyInsights.ts} +33 -33
- package/src/sdkVersion.ts +1 -1
- package/src/wrap.spec.ts +70 -31
- package/src/wrap.tsx +4 -4
- package/src/wrap.types.ts +5 -6
- package/lib/commonjs/notifyAppReadyAnalytics.boundary.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyAnalytics.js.map +0 -1
- package/lib/commonjs/notifyAppReadyAnalytics.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyAnalytics.test-utils.js.map +0 -1
- package/lib/commonjs/notifyAppReadyAnalytics.transport.spec.js.map +0 -1
- package/lib/module/notifyAppReadyAnalytics.boundary.spec.js.map +0 -1
- package/lib/module/notifyAppReadyAnalytics.js.map +0 -1
- package/lib/module/notifyAppReadyAnalytics.spec.js.map +0 -1
- package/lib/module/notifyAppReadyAnalytics.test-utils.js.map +0 -1
- package/lib/module/notifyAppReadyAnalytics.transport.spec.js.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.d.ts.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts +0 -8
- package/lib/typescript/commonjs/notifyAppReadyAnalytics.test-utils.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyAnalytics.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts +0 -8
- package/lib/typescript/module/notifyAppReadyAnalytics.test-utils.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type CheckForUpdateOptions } from "./checkForUpdate";
|
|
2
|
-
import { addListener, clearCrashHistory, getAppVersion,
|
|
2
|
+
import { addListener, clearCrashHistory, getAppVersion, getUpdateId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getInstallId, getManifest, getMinBundleId, isChannelSwitched, notifyAppReady, reload, setCohort, setReloadBehavior, setUser, type UpdateParams } from "./native";
|
|
3
3
|
import { type AutoUpdateOptions, type HotUpdaterInitOptions, type HotUpdaterOptions, wrap } from "./wrap";
|
|
4
4
|
export type { CustomReloadHandler, HotUpdaterEvent, HotUpdaterProgressArtifactType, HotUpdaterProgressEvent, Manifest, ManifestAsset, NotifyAppReadyResult, ActiveUpdateState, ReloadBehavior, ReloadBehaviorSetting, SetUserParams, } from "./native";
|
|
5
5
|
export * from "./store";
|
|
@@ -94,13 +94,12 @@ declare function createHotUpdaterClient(): {
|
|
|
94
94
|
/** Reads the active and stable Release/Bundle state. */
|
|
95
95
|
getActiveUpdateState: () => Promise<import("./native").ActiveUpdateState>;
|
|
96
96
|
/**
|
|
97
|
-
*
|
|
97
|
+
* Returns the selected update ID, matching the ID shown in the console.
|
|
98
|
+
* A staged update can change this ID before the app reloads.
|
|
98
99
|
*/
|
|
99
|
-
getBundleId: typeof
|
|
100
|
+
getBundleId: typeof getUpdateId;
|
|
100
101
|
/** Returns the minimum bundle ID based on the native app build time. */
|
|
101
102
|
getMinBundleId: typeof getMinBundleId;
|
|
102
|
-
/** Returns the active Release identity, or null for BUILTIN/legacy state. */
|
|
103
|
-
getReleaseId: typeof getReleaseId;
|
|
104
103
|
/**
|
|
105
104
|
* Fetches the current manifest for the active bundle.
|
|
106
105
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAEX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EAEX,iBAAiB,EACjB,aAAa,EAEb,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,MAAM,EAEN,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,KAAK,YAAY,EAElB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EAItB,IAAI,EACL,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,8BAA8B,EAC9B,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,4BAA4B,EAC5B,KAAK,4BAA4B,GAClC,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gCAAgC,EAChC,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAoBhB,KAAK,cAAc,GAAG;IACpB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;IACtD,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;CACvD,CAAC;AAEF;;;GAGG;AACH,iBAAS,sBAAsB;IA6I3B;;;;;;;;;;;;;;;;;;;;;;OAsBG;oBACa,iBAAiB;IAQjC;;;;;;;;;;;;;;OAcG;oBACa,qBAAqB,KAAG,IAAI;IAS5C;;OAEG;;IAGH;;;;;;;;;OASG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;OAEG;;IAGH,wDAAwD;;IAGxD;;;OAGG;;IAGH,wEAAwE;;IAGxE;;OAEG;;IAGH;;;;;;;;;;;;OAYG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;OAIG;;IAGH;;;OAGG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;;;;;;OAgBG;;IAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;6BACsB,qBAAqB;IAkB9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;2BACoB,YAAY;IAKnC;;;;OAIG;;IAgBH;;;;;;;;;;OAUG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;;;;;;;;;;OAWG;;IAGH;;;;;;;;;;;OAWG;;EAGN;AAED,KAAK,gBAAgB,GAAG,IAAI,CAC1B,UAAU,CAAC,OAAO,sBAAsB,CAAC,EACzC,MAAM,CACP,GAAG;IACF,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,gBAA2C,CAAC"}
|
|
@@ -179,7 +179,8 @@ export declare function setReloadBehavior(...args: [behavior: ReloadBehavior] |
|
|
|
179
179
|
* @returns {string} The minimum bundle id.
|
|
180
180
|
*/
|
|
181
181
|
export declare const getMinBundleId: () => string;
|
|
182
|
-
|
|
182
|
+
/** Returns the selected update ID shown in the console, including staged updates. */
|
|
183
|
+
export declare const getUpdateId: () => string;
|
|
183
184
|
/**
|
|
184
185
|
* Fetches the current bundle version id.
|
|
185
186
|
*
|
|
@@ -248,7 +249,7 @@ export type NotifyAppReadyResult = {
|
|
|
248
249
|
fromReleaseId?: string;
|
|
249
250
|
toReleaseId?: string;
|
|
250
251
|
};
|
|
251
|
-
export type
|
|
252
|
+
export type NotifyAppReadyInsightsEvent = {
|
|
252
253
|
type: "UPDATE_APPLIED" | "RECOVERED";
|
|
253
254
|
fromBundleId: string;
|
|
254
255
|
toBundleId: string;
|
|
@@ -258,7 +259,7 @@ export type NotifyAppReadyAnalyticsEvent = {
|
|
|
258
259
|
};
|
|
259
260
|
export declare const readNotifyAppReady: () => {
|
|
260
261
|
result: NotifyAppReadyResult;
|
|
261
|
-
|
|
262
|
+
insightsEvent: NotifyAppReadyInsightsEvent | null;
|
|
262
263
|
pending: boolean;
|
|
263
264
|
};
|
|
264
265
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"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"}
|
package/lib/typescript/{commonjs/notifyAppReadyAnalytics.d.ts → module/notifyAppReadyInsights.d.ts}
RENAMED
|
@@ -2,7 +2,7 @@ import type { HotUpdaterError } from "./error";
|
|
|
2
2
|
import type { HotUpdaterHttpClient } from "./httpClient";
|
|
3
3
|
import { type NotifyAppReadyResult } from "./native";
|
|
4
4
|
export type NotifyAppReadyOptions = {
|
|
5
|
-
|
|
5
|
+
insights?: boolean;
|
|
6
6
|
client: HotUpdaterHttpClient;
|
|
7
7
|
requestHeaders?: Record<string, string>;
|
|
8
8
|
requestTimeout?: number;
|
|
@@ -10,4 +10,4 @@ export type NotifyAppReadyOptions = {
|
|
|
10
10
|
onError?: (error: HotUpdaterError | Error | unknown) => void;
|
|
11
11
|
};
|
|
12
12
|
export declare const handleNotifyAppReady: (options: NotifyAppReadyOptions) => Promise<void>;
|
|
13
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=notifyAppReadyInsights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyAppReadyInsights.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyInsights.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAuB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EASL,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,GAAG,OAAO,KAAK,IAAI,CAAC;CAC9D,CAAC;AA4IF,eAAO,MAAM,oBAAoB,YACtB,qBAAqB,KAC7B,OAAO,CAAC,IAAI,CA2Bd,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NotifyAppReadyInsightsEvent, NotifyAppReadyResult } from "./native";
|
|
2
|
+
export declare const createNotifyReadResult: (result?: NotifyAppReadyResult, insightsEvent?: NotifyAppReadyInsightsEvent | null, pending?: boolean) => {
|
|
3
|
+
insightsEvent: NotifyAppReadyInsightsEvent | null;
|
|
4
|
+
pending: boolean;
|
|
5
|
+
result: NotifyAppReadyResult;
|
|
6
|
+
};
|
|
7
|
+
export declare const stubNotifyFrame: () => void;
|
|
8
|
+
//# sourceMappingURL=notifyAppReadyInsights.test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notifyAppReadyInsights.test-utils.d.ts","sourceRoot":"","sources":["../../../src/notifyAppReadyInsights.test-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,sBAAsB,YACzB,oBAAoB,kBACb,2BAA2B,GAAG,IAAI,wBAEhD;IACD,aAAa,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,oBAAoB,CAAC;CAK7B,CAAC;AAEH,eAAO,MAAM,eAAe,YAS3B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.0.0-rc.3";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
|
@@ -23,9 +23,10 @@ export type HotUpdaterFallbackComponentProps = {
|
|
|
23
23
|
interface CommonHotUpdaterOptions {
|
|
24
24
|
/**
|
|
25
25
|
* Sends app-ready transitions and same-Bundle Release adoptions to the
|
|
26
|
-
* configured server.
|
|
26
|
+
* configured server. Defaults to `true`; set to `false` to disable client
|
|
27
|
+
* reporting.
|
|
27
28
|
*/
|
|
28
|
-
|
|
29
|
+
insights?: boolean;
|
|
29
30
|
/** Base URL of a server exposing the Hot Updater v1 client HTTP protocol. */
|
|
30
31
|
baseURL: HotUpdaterBaseURL;
|
|
31
32
|
requestHeaders?: Record<string, string>;
|
|
@@ -43,7 +44,7 @@ export type AutoUpdateOptions = CommonHotUpdaterOptions & {
|
|
|
43
44
|
export type HotUpdaterInitOptions = CommonHotUpdaterOptions;
|
|
44
45
|
export type HotUpdaterOptions = AutoUpdateOptions;
|
|
45
46
|
type InternalCommonOptions = {
|
|
46
|
-
|
|
47
|
+
insights?: boolean;
|
|
47
48
|
client: HotUpdaterHttpClient;
|
|
48
49
|
requestHeaders?: Record<string, string>;
|
|
49
50
|
requestTimeout?: number;
|
|
@@ -57,9 +58,7 @@ type InternalAutoUpdateOptions = InternalCommonOptions & {
|
|
|
57
58
|
reloadOnForceUpdate?: boolean;
|
|
58
59
|
onUpdateProcessCompleted?: (response: RunUpdateProcessResponse) => void;
|
|
59
60
|
};
|
|
60
|
-
export type InternalInitOptions = InternalCommonOptions
|
|
61
|
-
analytics?: boolean;
|
|
62
|
-
};
|
|
61
|
+
export type InternalInitOptions = InternalCommonOptions;
|
|
63
62
|
export type InternalWrapOptions = InternalAutoUpdateOptions;
|
|
64
63
|
export {};
|
|
65
64
|
//# sourceMappingURL=wrap.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap.types.d.ts","sourceRoot":"","sources":["../../../src/wrap.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC7C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,UAAU,GACV,0BAA0B,CAAC;AAE/B,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC;AAEF,UAAU,uBAAuB;IAC/B
|
|
1
|
+
{"version":3,"file":"wrap.types.d.ts","sourceRoot":"","sources":["../../../src/wrap.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hot-updater/react-native",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
3
|
+
"version": "1.0.0-rc.3",
|
|
4
4
|
"description": "React Native OTA solution for self-hosted",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"use-sync-external-store": "1.5.0",
|
|
123
123
|
"@hot-updater/core": "1.0.0-rc.0",
|
|
124
|
-
"@hot-updater/plugin-core": "1.0.0-rc.
|
|
124
|
+
"@hot-updater/plugin-core": "1.0.0-rc.2"
|
|
125
125
|
},
|
|
126
126
|
"scripts": {
|
|
127
127
|
"build": "node ./scripts/sync-sdk-version.mjs run -- bob build",
|
|
@@ -81,16 +81,16 @@ const createClient = (catalog = createCatalog()) => {
|
|
|
81
81
|
fileHash: "bundle-hash",
|
|
82
82
|
fileUrl: "https://updates.example.com/bundle.zip",
|
|
83
83
|
}));
|
|
84
|
-
const
|
|
84
|
+
const sendInsightsEvent = vi.fn(async () => undefined);
|
|
85
85
|
const session = {
|
|
86
86
|
fetchReleaseCatalog,
|
|
87
87
|
resolveArtifact,
|
|
88
|
-
|
|
88
|
+
sendInsightsEvent,
|
|
89
89
|
};
|
|
90
90
|
const client: HotUpdaterHttpClient = {
|
|
91
91
|
createSession: vi.fn(async () => session),
|
|
92
92
|
};
|
|
93
|
-
return { client, fetchReleaseCatalog, resolveArtifact,
|
|
93
|
+
return { client, fetchReleaseCatalog, resolveArtifact, sendInsightsEvent };
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
describe("checkForUpdate Release catalog protocol", () => {
|
|
@@ -119,7 +119,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
119
119
|
});
|
|
120
120
|
|
|
121
121
|
expect(result).toMatchObject({
|
|
122
|
-
id:
|
|
122
|
+
id: RELEASE_ID,
|
|
123
123
|
releaseId: RELEASE_ID,
|
|
124
124
|
transitionKind: "INSTALL",
|
|
125
125
|
});
|
|
@@ -182,7 +182,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
182
182
|
},
|
|
183
183
|
],
|
|
184
184
|
});
|
|
185
|
-
const { client, resolveArtifact,
|
|
185
|
+
const { client, resolveArtifact, sendInsightsEvent } =
|
|
186
186
|
createClient(forceCatalog);
|
|
187
187
|
|
|
188
188
|
const result = await checkForUpdate({
|
|
@@ -191,13 +191,14 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
191
191
|
});
|
|
192
192
|
|
|
193
193
|
expect(result).toMatchObject({
|
|
194
|
+
id: RELEASE_ID,
|
|
194
195
|
shouldForceUpdate: false,
|
|
195
196
|
transitionKind: "ADOPT_RELEASE",
|
|
196
197
|
});
|
|
197
198
|
await expect(result?.updateBundle()).resolves.toBe(true);
|
|
198
199
|
expect(resolveArtifact).not.toHaveBeenCalled();
|
|
199
200
|
expect(mocks.updateBundle).not.toHaveBeenCalled();
|
|
200
|
-
expect(
|
|
201
|
+
expect(sendInsightsEvent).not.toHaveBeenCalled();
|
|
201
202
|
expect(mocks.commitReleaseSelection).toHaveBeenCalledWith({
|
|
202
203
|
guard: expect.objectContaining({ generation: 2, scopeKey: SCOPE_KEY }),
|
|
203
204
|
selection: expect.objectContaining({
|
|
@@ -207,7 +208,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
207
208
|
});
|
|
208
209
|
});
|
|
209
210
|
|
|
210
|
-
it("sends RELEASE_ADOPTED only when
|
|
211
|
+
it("sends RELEASE_ADOPTED only when insights is enabled", async () => {
|
|
211
212
|
const active: PersistedSelectionReceipt = {
|
|
212
213
|
catalogId: CATALOG_ID,
|
|
213
214
|
bundleId: TARGET_BUNDLE_ID,
|
|
@@ -227,18 +228,20 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
227
228
|
verificationPending: false,
|
|
228
229
|
});
|
|
229
230
|
const { checkForUpdate } = await import("./checkForUpdate");
|
|
230
|
-
const { client,
|
|
231
|
+
const { client, sendInsightsEvent } = createClient();
|
|
231
232
|
|
|
232
233
|
const result = await checkForUpdate({
|
|
233
|
-
|
|
234
|
+
insights: true,
|
|
234
235
|
client,
|
|
235
236
|
updateStrategy: "appVersion",
|
|
236
237
|
});
|
|
237
238
|
await result?.updateBundle();
|
|
238
239
|
|
|
239
|
-
expect(
|
|
240
|
+
expect(sendInsightsEvent).toHaveBeenCalledWith(
|
|
240
241
|
expect.objectContaining({
|
|
242
|
+
fromBundleId: TARGET_BUNDLE_ID,
|
|
241
243
|
fromReleaseId: MINIMUM_RELEASE_ID,
|
|
244
|
+
toBundleId: TARGET_BUNDLE_ID,
|
|
242
245
|
toReleaseId: RELEASE_ID,
|
|
243
246
|
type: "RELEASE_ADOPTED",
|
|
244
247
|
}),
|
|
@@ -280,7 +283,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
280
283
|
});
|
|
281
284
|
|
|
282
285
|
expect(result).toMatchObject({
|
|
283
|
-
id:
|
|
286
|
+
id: RELEASE_ID,
|
|
284
287
|
releaseId: RELEASE_ID,
|
|
285
288
|
status: "UPDATE",
|
|
286
289
|
transitionKind: "INSTALL",
|
|
@@ -315,7 +318,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
315
318
|
});
|
|
316
319
|
|
|
317
320
|
expect(result).toMatchObject({
|
|
318
|
-
id:
|
|
321
|
+
id: RELEASE_ID,
|
|
319
322
|
releaseId: RELEASE_ID,
|
|
320
323
|
transitionKind: "ADOPT_RELEASE",
|
|
321
324
|
});
|
|
@@ -395,7 +398,7 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
395
398
|
});
|
|
396
399
|
|
|
397
400
|
expect(result).toMatchObject({
|
|
398
|
-
id:
|
|
401
|
+
id: RELEASE_ID,
|
|
399
402
|
releaseId: RELEASE_ID,
|
|
400
403
|
shouldForceUpdate: true,
|
|
401
404
|
status: "ROLLBACK",
|
|
@@ -448,58 +451,70 @@ describe("checkForUpdate Release catalog protocol", () => {
|
|
|
448
451
|
});
|
|
449
452
|
|
|
450
453
|
expect(result).toMatchObject({
|
|
451
|
-
id:
|
|
454
|
+
id: RELEASE_ID,
|
|
452
455
|
shouldForceUpdate: true,
|
|
453
456
|
status: "ROLLBACK",
|
|
454
457
|
transitionKind: "INSTALL",
|
|
455
458
|
});
|
|
456
459
|
});
|
|
457
460
|
|
|
458
|
-
it("
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
461
|
+
it.each(["EMBEDDED", "BUILTIN"] as const)(
|
|
462
|
+
"returns a forced %s rollback with its console ID or built-in fallback",
|
|
463
|
+
async (kind) => {
|
|
464
|
+
const active: PersistedSelectionReceipt = {
|
|
465
|
+
catalogId: CATALOG_ID,
|
|
466
|
+
bundleId: CURRENT_BUNDLE_ID,
|
|
467
|
+
catalogHash: `sha256:${"b".repeat(64)}`,
|
|
468
|
+
channel: CHANNEL,
|
|
469
|
+
generation: 1,
|
|
470
|
+
kind: "BUNDLE",
|
|
471
|
+
releaseId: MINIMUM_RELEASE_ID,
|
|
472
|
+
scopeKey: SCOPE_KEY,
|
|
473
|
+
selectionContextHash: "old-context",
|
|
474
|
+
};
|
|
475
|
+
mocks.getActiveUpdateState.mockReturnValueOnce({
|
|
476
|
+
activeSelection: active,
|
|
477
|
+
highestSeenCatalogs: {},
|
|
478
|
+
stableSelection: active,
|
|
479
|
+
verificationPending: false,
|
|
480
|
+
});
|
|
481
|
+
const { checkForUpdate } = await import("./checkForUpdate");
|
|
482
|
+
const { client, resolveArtifact } = createClient(
|
|
483
|
+
createCatalog({
|
|
484
|
+
releases:
|
|
485
|
+
kind === "EMBEDDED"
|
|
486
|
+
? [{ ...createCatalog().releases[0]!, kind, bundleId: null }]
|
|
487
|
+
: [],
|
|
488
|
+
rollbackReleases: [],
|
|
489
|
+
}),
|
|
490
|
+
);
|
|
480
491
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
492
|
+
const result = await checkForUpdate({
|
|
493
|
+
client,
|
|
494
|
+
updateStrategy: "appVersion",
|
|
495
|
+
});
|
|
485
496
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
497
|
+
expect(result).toMatchObject({
|
|
498
|
+
id: kind === "EMBEDDED" ? RELEASE_ID : MINIMUM_RELEASE_ID,
|
|
499
|
+
releaseId: kind === "EMBEDDED" ? RELEASE_ID : null,
|
|
500
|
+
shouldForceUpdate: true,
|
|
501
|
+
status: "ROLLBACK",
|
|
502
|
+
transitionKind: kind === "EMBEDDED" ? "USE_EMBEDDED" : "USE_BUILTIN",
|
|
503
|
+
});
|
|
504
|
+
await expect(result?.updateBundle()).resolves.toBe(true);
|
|
505
|
+
expect(mocks.commitReleaseSelection).toHaveBeenCalledWith(
|
|
506
|
+
expect.objectContaining({
|
|
507
|
+
selection: expect.objectContaining({
|
|
508
|
+
bundleId: MINIMUM_RELEASE_ID,
|
|
509
|
+
kind,
|
|
510
|
+
releaseId: kind === "EMBEDDED" ? RELEASE_ID : null,
|
|
511
|
+
}),
|
|
499
512
|
}),
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
513
|
+
);
|
|
514
|
+
expect(resolveArtifact).not.toHaveBeenCalled();
|
|
515
|
+
expect(mocks.updateBundle).not.toHaveBeenCalled();
|
|
516
|
+
},
|
|
517
|
+
);
|
|
503
518
|
|
|
504
519
|
it("does not surface a rollback when the app already uses built-in bytes", async () => {
|
|
505
520
|
mocks.getBundleId.mockReturnValueOnce(MINIMUM_RELEASE_ID);
|
package/src/checkForUpdate.ts
CHANGED
|
@@ -83,7 +83,7 @@ export type ReleaseTransitionKind =
|
|
|
83
83
|
| "USE_BUILTIN";
|
|
84
84
|
|
|
85
85
|
export interface InternalCheckForUpdateOptions extends CheckForUpdateOptions {
|
|
86
|
-
|
|
86
|
+
insights?: boolean;
|
|
87
87
|
client: HotUpdaterHttpClient;
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -142,7 +142,7 @@ const notifyReleaseAdoption = async (input: {
|
|
|
142
142
|
}): Promise<void> => {
|
|
143
143
|
const { userId, username } = getPersistedUserIdentity();
|
|
144
144
|
try {
|
|
145
|
-
await input.session.
|
|
145
|
+
await input.session.sendInsightsEvent({
|
|
146
146
|
appVersion: input.appVersion,
|
|
147
147
|
channel: input.desired.channel,
|
|
148
148
|
cohort: input.cohort,
|
|
@@ -161,7 +161,7 @@ const notifyReleaseAdoption = async (input: {
|
|
|
161
161
|
...(username === undefined ? {} : { username }),
|
|
162
162
|
});
|
|
163
163
|
} catch (error) {
|
|
164
|
-
console.warn("[HotUpdater] Release adoption
|
|
164
|
+
console.warn("[HotUpdater] Release adoption insights failed:", error);
|
|
165
165
|
}
|
|
166
166
|
};
|
|
167
167
|
|
|
@@ -340,11 +340,7 @@ async function checkForReleaseCatalogUpdate(input: {
|
|
|
340
340
|
guard,
|
|
341
341
|
selection: receipt,
|
|
342
342
|
});
|
|
343
|
-
if (
|
|
344
|
-
committed &&
|
|
345
|
-
transitionKind === "ADOPT_RELEASE" &&
|
|
346
|
-
options.analytics
|
|
347
|
-
) {
|
|
343
|
+
if (committed && transitionKind === "ADOPT_RELEASE" && options.insights) {
|
|
348
344
|
await notifyReleaseAdoption({
|
|
349
345
|
active,
|
|
350
346
|
appVersion: input.currentAppVersion,
|
|
@@ -387,7 +383,7 @@ async function checkForReleaseCatalogUpdate(input: {
|
|
|
387
383
|
return {
|
|
388
384
|
fileHash: null,
|
|
389
385
|
fileUrl: null,
|
|
390
|
-
id: desired.bundleId,
|
|
386
|
+
id: desired.releaseId ?? desired.bundleId,
|
|
391
387
|
message: release?.message ?? null,
|
|
392
388
|
releaseId: desired.releaseId,
|
|
393
389
|
rolloutCohortCount: release?.rolloutCohortCount ?? 1000,
|
package/src/httpClient.ts
CHANGED
|
@@ -27,7 +27,7 @@ export interface ArtifactRequest {
|
|
|
27
27
|
readonly requestTimeout?: number;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
interface
|
|
30
|
+
interface InsightsEventCommonParams {
|
|
31
31
|
readonly installId: string;
|
|
32
32
|
readonly userId?: string;
|
|
33
33
|
readonly username?: string;
|
|
@@ -42,30 +42,30 @@ interface AnalyticsEventCommonParams {
|
|
|
42
42
|
readonly requestTimeout?: number;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
type
|
|
45
|
+
type InsightsTransitionEventParams = InsightsEventCommonParams & {
|
|
46
46
|
readonly type: "UPDATE_APPLIED" | "RECOVERED" | "RELEASE_ADOPTED";
|
|
47
47
|
readonly fromBundleId: string;
|
|
48
48
|
readonly toBundleId: string;
|
|
49
49
|
readonly updateStrategy: "fingerprint" | "appVersion";
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
-
type
|
|
52
|
+
type InsightsUnchangedEventParams = InsightsEventCommonParams & {
|
|
53
53
|
readonly type: "UNCHANGED";
|
|
54
54
|
readonly fromBundleId: null;
|
|
55
55
|
readonly toBundleId: string;
|
|
56
56
|
readonly updateStrategy: null;
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
-
export type
|
|
60
|
-
|
|
|
61
|
-
|
|
|
59
|
+
export type InsightsEventParams =
|
|
60
|
+
| InsightsTransitionEventParams
|
|
61
|
+
| InsightsUnchangedEventParams;
|
|
62
62
|
|
|
63
63
|
export interface HotUpdaterHttpSession {
|
|
64
64
|
fetchReleaseCatalog: (
|
|
65
65
|
params: ReleaseCatalogRequest,
|
|
66
66
|
) => Promise<ReleaseCatalog>;
|
|
67
67
|
resolveArtifact: (params: ArtifactRequest) => Promise<ArtifactInfo>;
|
|
68
|
-
|
|
68
|
+
sendInsightsEvent: (params: InsightsEventParams) => Promise<void>;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export interface HotUpdaterHttpClient {
|
|
@@ -147,9 +147,9 @@ const resolveArtifactUrls = (
|
|
|
147
147
|
}),
|
|
148
148
|
});
|
|
149
149
|
|
|
150
|
-
const
|
|
150
|
+
const sendInsightsEvent = async (
|
|
151
151
|
baseURL: string,
|
|
152
|
-
params:
|
|
152
|
+
params: InsightsEventParams,
|
|
153
153
|
): Promise<void> => {
|
|
154
154
|
const controller = new AbortController();
|
|
155
155
|
const timeoutId = setTimeout(() => {
|
|
@@ -250,7 +250,7 @@ const createSession = (baseURL: string): HotUpdaterHttpSession => ({
|
|
|
250
250
|
});
|
|
251
251
|
return resolveArtifactUrls(baseURL, info);
|
|
252
252
|
},
|
|
253
|
-
|
|
253
|
+
sendInsightsEvent: (params) => sendInsightsEvent(baseURL, params),
|
|
254
254
|
});
|
|
255
255
|
|
|
256
256
|
/** Creates the private HTTP client used by HotUpdater.init and HotUpdater.wrap. */
|