@hot-updater/react-native 1.0.8 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HotUpdater.podspec +14 -2
- package/Package.swift +24 -3
- package/android/build.gradle +2 -6
- package/android/hot-updater-fingerprint.gradle +135 -0
- package/android/src/main/cpp/HotUpdaterRecovery.cpp +291 -21
- package/android/src/main/java/com/hotupdater/ActivityStartGate.kt +176 -15
- package/android/src/main/java/com/hotupdater/ArtifactFileResolver.kt +20 -8
- package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +145 -31
- package/android/src/main/java/com/hotupdater/CohortService.kt +10 -2
- package/android/src/main/java/com/hotupdater/FileManagerService.kt +3 -1
- package/android/src/main/java/com/hotupdater/HotUpdaterConfig.kt +249 -21
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +8 -4
- package/android/src/main/java/com/hotupdater/HotUpdaterHeldContent.kt +92 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +319 -113
- package/android/src/main/java/com/hotupdater/HotUpdaterInstance.kt +87 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterInstanceEnvironment.kt +323 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterMainThread.kt +46 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterProcess.kt +30 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryAttribution.kt +492 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +1541 -159
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoverySlots.kt +137 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +4 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterRuntimeInstance.kt +53 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterUpdateCheck.kt +149 -0
- package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +12 -2
- package/android/src/main/java/com/hotupdater/NativeConfigUtils.kt +5 -6
- package/android/src/main/java/com/hotupdater/NativeUpdateCheck.kt +172 -0
- package/android/src/main/java/com/hotupdater/NativeUpdateChecker.kt +1007 -0
- package/android/src/main/java/com/hotupdater/NativeUpdateEventQueue.kt +111 -0
- package/android/src/main/java/com/hotupdater/OkHttpUpdateCheckTransport.kt +88 -0
- package/android/src/main/java/com/hotupdater/ReleaseCatalog.kt +491 -0
- package/android/src/main/java/com/hotupdater/ReleaseCatalogClient.kt +405 -0
- package/android/src/main/java/com/hotupdater/ReleaseSelection.kt +474 -0
- package/android/src/main/java/com/hotupdater/SignatureVerifier.kt +32 -10
- package/android/src/main/java/com/hotupdater/StrictJson.kt +392 -0
- package/android/src/main/java/com/hotupdater/VersionedPreferencesService.kt +24 -9
- package/android/src/main/java/com/hotupdater/WeakIdentitySet.kt +76 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/BitReader.java +314 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/BrotliError.java +47 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/BrotliInputStream.java +174 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/BrotliRuntimeException.java +21 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Context.java +58 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Decode.java +1574 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Decoder.java +72 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Dictionary.java +103 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/DictionaryData.java +82 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Huffman.java +143 -0
- package/{LICENSE → android/src/main/java/com/hotupdater/vendor/brotli/dec/LICENSE} +6 -20
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/README.md +39 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/State.java +100 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Transform.java +240 -0
- package/android/src/main/java/com/hotupdater/vendor/brotli/dec/Utils.java +163 -0
- package/android/src/main/resources/META-INF/LICENSE-brotli +19 -0
- package/android/src/newarch/HotUpdater.kt +53 -15
- package/android/src/newarch/HotUpdaterModule.kt +42 -17
- package/android/src/newarch/JavaScriptExceptionHooks.kt +45 -8
- package/android/src/oldarch/HotUpdater.kt +51 -12
- package/android/src/oldarch/HotUpdaterModule.kt +43 -17
- package/android/src/oldarch/HotUpdaterSpec.kt +2 -0
- package/android/src/oldarch/JavaScriptExceptionHooks.kt +25 -16
- package/ios/HotUpdater/Interface/HotUpdaterInterface.h +13 -0
- package/ios/HotUpdater/Internal/ArtifactFileResolver.swift +38 -7
- package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +10 -4
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +186 -48
- package/ios/HotUpdater/Internal/CohortService.swift +8 -0
- package/ios/HotUpdater/Internal/HotUpdater.mm +821 -71
- package/ios/HotUpdater/Internal/HotUpdaterAsync.swift +7 -0
- package/ios/HotUpdater/Internal/HotUpdaterConfig.swift +208 -25
- package/ios/HotUpdater/Internal/HotUpdaterFingerprintHash.m +10 -0
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +940 -261
- package/ios/HotUpdater/Internal/HotUpdaterInstanceEnvironment.swift +492 -0
- package/ios/HotUpdater/Internal/HotUpdaterInstanceRouter.swift +83 -0
- package/ios/HotUpdater/Internal/HotUpdaterInterface.swift +28 -1
- package/ios/HotUpdater/Internal/HotUpdaterLaunchRecovery.swift +1553 -0
- package/ios/HotUpdater/Internal/HotUpdaterNativeUpdates.swift +353 -0
- package/ios/HotUpdater/Internal/LaunchPreparationLock.swift +54 -0
- package/ios/HotUpdater/Internal/NativeUpdateCheck.swift +2051 -0
- package/ios/HotUpdater/Internal/ReleaseCatalog.swift +634 -0
- package/ios/HotUpdater/Internal/ReleaseCatalogCacheService.swift +1 -1
- package/ios/HotUpdater/Internal/ReleaseSelection.swift +482 -0
- package/ios/HotUpdater/Internal/SignatureVerifier.swift +27 -10
- package/ios/HotUpdater/Internal/StrictJson.swift +363 -0
- package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +4 -2
- package/ios/HotUpdater/Internal/UpdateFailure.swift +2 -0
- package/ios/HotUpdater/Package.swift +11 -0
- package/ios/HotUpdater/Public/HotUpdater/HotUpdater.h +4 -0
- package/ios/HotUpdater/Public/HotUpdater.h +21 -2
- package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +66 -0
- package/ios/Plugins/HotUpdaterFingerprintPlugin/HotUpdaterFingerprintPlugin.swift +45 -0
- package/ios/scripts/generate-fingerprint-hash.zsh +85 -0
- package/lib/commonjs/checkForUpdate.js +3 -1
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/index.js +9 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native.js +24 -79
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/nativeUpdateEvents.js +66 -0
- package/lib/commonjs/nativeUpdateEvents.js.map +1 -0
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/checkForUpdate.js +3 -1
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/index.js +10 -13
- package/lib/module/index.js.map +1 -1
- package/lib/module/native.js +19 -73
- package/lib/module/native.js.map +1 -1
- package/lib/module/nativeUpdateEvents.js +61 -0
- package/lib/module/nativeUpdateEvents.js.map +1 -0
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -14
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +9 -46
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/nativeUpdateEvents.d.ts +12 -0
- package/lib/typescript/commonjs/nativeUpdateEvents.d.ts.map +1 -0
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +19 -3
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -14
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +9 -46
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/nativeUpdateEvents.d.ts +12 -0
- package/lib/typescript/module/nativeUpdateEvents.d.ts.map +1 -0
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +19 -3
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/checkForUpdate.ts +7 -1
- package/src/index.ts +9 -17
- package/src/native.ts +19 -91
- package/src/nativeUpdateEvents.ts +77 -0
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +20 -3
- package/android/libs/README.md +0 -50
- package/android/libs/hot-updater-brotli-dec-1.2.0.jar +0 -0
- package/android/src/bridge/BridgeReactInstance.kt +0 -38
- package/android/src/bridgeless/BridgeReactInstance.kt +0 -24
- package/android/src/main/java/com/hotupdater/ContentAppearedLog.kt +0 -31
- package/android/src/main/java/com/hotupdater/ReactIntegrationManagerBase.kt +0 -34
- package/android/src/newarch/ReactIntegrationManager.kt +0 -212
- package/android/src/oldarch/ReactIntegrationManager.kt +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAItB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAyB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AAGlD,KAAK,uBAAuB,GAAG,aAAa,GAAG,YAAY,CAAC;AAU5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LaunchReporter } from "./appReady";
|
|
2
|
+
/**
|
|
3
|
+
* Reports the update checks native code ran without JavaScript, such as a
|
|
4
|
+
* brownfield app's native `HotUpdaterInstance`, with the catalog and artifact
|
|
5
|
+
* responses they received, to the instance's plugins before this launch's
|
|
6
|
+
* report, which they precede. Native takes and clears them in one step, so
|
|
7
|
+
* each is reported at most once. A native error carries a message instead of
|
|
8
|
+
* the caught error, and each event keeps the time it happened as
|
|
9
|
+
* `occurredAt`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const replayNativeUpdateEvents: (emit: LaunchReporter["emit"]) => void;
|
|
12
|
+
//# sourceMappingURL=nativeUpdateEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeUpdateEvents.d.ts","sourceRoot":"","sources":["../../../src/nativeUpdateEvents.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,SAAU,cAAc,CAAC,MAAM,CAAC,SAsDpE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "1.0
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.1.0";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
|
@@ -49,11 +49,20 @@ export interface InstallArtifactParams {
|
|
|
49
49
|
selection?: UnsafeObject | null;
|
|
50
50
|
}
|
|
51
51
|
export interface Spec extends TurboModule {
|
|
52
|
+
/**
|
|
53
|
+
* Restarts the app process on Android and reloads React Native in place on
|
|
54
|
+
* iOS, so the app loads the current bundle.
|
|
55
|
+
*/
|
|
52
56
|
reload(): Promise<void>;
|
|
53
57
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
58
|
+
* @deprecated Kept for JavaScript↔native compatibility within this major
|
|
59
|
+
* version. Released JavaScript calls it on Android, and this SDK's
|
|
60
|
+
* JavaScript still calls it on Android because an older native build's
|
|
61
|
+
* `reload()` reloads React Native in place there. Native `reload()` now
|
|
62
|
+
* restarts the process on Android too: the Kotlin and Objective-C
|
|
63
|
+
* `reloadProcess` implementations run the same code as `reload()`, a
|
|
64
|
+
* process restart on Android and an in-place reload on iOS. The next major
|
|
65
|
+
* version removes it.
|
|
57
66
|
*/
|
|
58
67
|
reloadProcess(): Promise<void>;
|
|
59
68
|
/**
|
|
@@ -208,6 +217,13 @@ export interface Spec extends TurboModule {
|
|
|
208
217
|
* key.
|
|
209
218
|
*/
|
|
210
219
|
setStorageItem: (key: string, value: string | null) => void;
|
|
220
|
+
/**
|
|
221
|
+
* Takes the events of the update checks native code ran without JavaScript
|
|
222
|
+
* (a native `HotUpdaterInstance`), as a JSON array, and clears them in one
|
|
223
|
+
* step.
|
|
224
|
+
* Returns null when there are none.
|
|
225
|
+
*/
|
|
226
|
+
takeNativeUpdateEvents: () => string | null;
|
|
211
227
|
addListener(eventName: string): void;
|
|
212
228
|
removeListeners(count: number): void;
|
|
213
229
|
readonly getConstants: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB;;;;;;;;;OASG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEhE;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtE,uEAAuE;IACvE,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAEpD,2EAA2E;IAC3E,oBAAoB,IAAI,YAAY,CAAC;IAErC,6DAA6D;IAC7D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElE,+DAA+D;IAC/D,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E,2DAA2D;IAC3D,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D,4EAA4E;IAC5E,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAEzD,+DAA+D;IAC/D,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D;;;;;;OAMG;IACH,cAAc,IAAI;QAChB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC;QACjE,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;KAC/C,CAAC;IAEF;;;;;OAKG;IACH,eAAe,IAAI,MAAM,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,iBAAiB,IAAI,OAAO,CAAC;IAE7B;;;;OAIG;IACH,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC;;;;;;OAMG;IACH,UAAU,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAEjC;;;OAGG;IACH,WAAW,EAAE,MAAM,YAAY,CAAC;IAEhC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;;;OAIG;IACH,SAAS,EAAE,MAAM,MAAM,CAAC;IAExB;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAE3B;;;OAGG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAE5D;;;;;OAKG;IACH,sBAAsB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAG5C,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM;QAC3B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAqBzD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC9B;AAyCD,wEAAwE;AACxE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SACtB,cAAc,CAAC,MAAM,CAAC,SACrB,OAAO,SACP,gBAAgB,YACb,mBAAmB,GAAG,SAAS,SAClC,gBAAgB,KACtB,IAmBF,CAAC;
|
|
1
|
+
{"version":3,"file":"checkForUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkForUpdate.ts"],"names":[],"mappings":"AAaA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAqBzD,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,cAAc,EAAE,YAAY,GAAG,aAAa,CAAC;IAE7C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,MAAM,EAAE,oBAAoB,CAAC;IAC7B,kDAAkD;IAClD,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC9B;AAyCD,wEAAwE;AACxE,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,aAAa,GAAG,YAAY,CAAC;IACtD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SACtB,cAAc,CAAC,MAAM,CAAC,SACrB,OAAO,SACP,gBAAgB,YACb,mBAAmB,GAAG,SAAS,SAClC,gBAAgB,KACtB,IAmBF,CAAC;AA0TF,wBAAsB,cAAc,CAClC,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CA2EtC"}
|
|
@@ -3,12 +3,12 @@ import { type CheckForUpdateOptions } from "./checkForUpdate";
|
|
|
3
3
|
import type { ClientPluginApis, HotUpdaterClientPlugin } from "./clientPlugin";
|
|
4
4
|
import { type HotUpdaterHttpClient } from "./httpClient";
|
|
5
5
|
import type { HotUpdaterInitOptions } from "./init.types";
|
|
6
|
-
import { addListener, clearCrashHistory, getAppVersion, getUpdateId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getInstallId, getManifest, getMinBundleId, isChannelSwitched, notifyAppReady, reload, setCohort,
|
|
6
|
+
import { addListener, clearCrashHistory, getAppVersion, getUpdateId, getChannel, getCohort, getCrashHistory, getDefaultChannel, getFingerprintHash, getInstallId, getManifest, getMinBundleId, isChannelSwitched, notifyAppReady, reload, setCohort, type UpdateParams } from "./native";
|
|
7
7
|
import { type HotUpdaterWrapOptions } from "./wrap";
|
|
8
8
|
export { defineClientPlugin, type AppReadyResult, type BundleDownloadedInfo, type ClientPluginApi, type ClientPluginApis, type HotUpdaterClientContext, type HotUpdaterClientHooks, type HotUpdaterClientPlugin, type HotUpdaterClientSetup, type HotUpdaterClientStorage, type ReleaseTransitionKind, type UpdateCheckResult, type UpdateError, type UpdateErrorReason, type UpdateErrorStage, type UpdateHttpResponse, type UpdateStrategy, } from "./clientPlugin";
|
|
9
9
|
export { insights, type InsightsClient, type InsightsOptions, type InsightsPlugin, type InsightsUser, } from "@hot-updater/plugin-insights/client";
|
|
10
10
|
export { remoteConfig, type RemoteConfigClient, type RemoteConfigDefaults, type RemoteConfigDefaultValue, type RemoteConfigFetchOptions, type RemoteConfigFetchStatus, type RemoteConfigKey, type RemoteConfigOptions, type RemoteConfigPlugin, type RemoteConfigValue, type RemoteConfigValueSource, } from "@hot-updater/plugin-remote-config/client";
|
|
11
|
-
export type {
|
|
11
|
+
export type { HotUpdaterEvent, HotUpdaterProgressArtifactType, HotUpdaterProgressEvent, Manifest, ManifestAsset, NotifyAppReadyResult, ActiveUpdateState, } from "./native";
|
|
12
12
|
export * from "./store";
|
|
13
13
|
export { extractSignatureFailure, type HotUpdaterBaseURL, isSignatureVerificationError, type SignatureVerificationFailure, } from "./types";
|
|
14
14
|
export type { HotUpdaterInitOptions } from "./init.types";
|
|
@@ -16,20 +16,10 @@ export type { HotUpdaterFallbackComponentProps, HotUpdaterWrapOptions, RunUpdate
|
|
|
16
16
|
/** The methods that read or change native state, the same on every instance. */
|
|
17
17
|
declare const nativeMethods: {
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Restarts the app so it loads the current bundle: a cold process restart
|
|
20
|
+
* on Android, an in-place React Native reload on iOS.
|
|
20
21
|
*/
|
|
21
22
|
reload: typeof reload;
|
|
22
|
-
/**
|
|
23
|
-
* Configures how `hotUpdater.reload()` behaves.
|
|
24
|
-
*
|
|
25
|
-
* This can be called unconditionally on both platforms.
|
|
26
|
-
* The default is `processRestart`.
|
|
27
|
-
*
|
|
28
|
-
* - `reload`: built-in React Native reload on both platforms
|
|
29
|
-
* - `processRestart`: Android process restart, iOS behaves like normal reload
|
|
30
|
-
* - `custom`: run a custom JS handler on both platforms
|
|
31
|
-
*/
|
|
32
|
-
setReloadBehavior: typeof setReloadBehavior;
|
|
33
23
|
/**
|
|
34
24
|
* Returns whether an update has finished downloading in this app session.
|
|
35
25
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAoB,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,WAAW,EAIX,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,28 +11,6 @@ export interface Manifest {
|
|
|
11
11
|
bundleId: string;
|
|
12
12
|
assets: Record<string, ManifestAsset>;
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Built-in reload behaviors used by `hotUpdater.reload()`.
|
|
16
|
-
*
|
|
17
|
-
* - `reload`: In-process React Native reload.
|
|
18
|
-
* - `processRestart`: Android-only cold restart. On iOS the same call behaves like `reload`.
|
|
19
|
-
*/
|
|
20
|
-
export type ReloadBehavior = "reload" | "processRestart";
|
|
21
|
-
/**
|
|
22
|
-
* Custom reload hook used when `setReloadBehavior("custom", handler)` is configured.
|
|
23
|
-
*
|
|
24
|
-
* This is useful for brownfield apps that need to delegate reload behavior to
|
|
25
|
-
* a host-native container instead of using HotUpdater's built-in reload flow.
|
|
26
|
-
*/
|
|
27
|
-
export type CustomReloadHandler = () => void | Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Full reload policy accepted by `setReloadBehavior()`.
|
|
30
|
-
*
|
|
31
|
-
* - `reload`: Built-in React reload on both platforms
|
|
32
|
-
* - `processRestart`: Android process restart, iOS behaves like `reload`
|
|
33
|
-
* - `custom`: Run a user-provided JS handler on both platforms
|
|
34
|
-
*/
|
|
35
|
-
export type ReloadBehaviorSetting = ReloadBehavior | "custom";
|
|
36
14
|
export type HotUpdaterProgressArtifactType = "diff";
|
|
37
15
|
export type HotUpdaterDiffFileStatus = "pending" | "downloading" | "downloaded" | "failed";
|
|
38
16
|
export interface HotUpdaterDiffFileSnapshot {
|
|
@@ -170,33 +148,12 @@ export declare function updateBundle(params: UpdateParams): Promise<boolean>;
|
|
|
170
148
|
*/
|
|
171
149
|
export declare const getAppVersion: () => string | null;
|
|
172
150
|
/**
|
|
173
|
-
*
|
|
151
|
+
* Restarts the app so it loads the current bundle.
|
|
174
152
|
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* When `setReloadBehavior("processRestart")` is used:
|
|
179
|
-
* - Android performs a cold process restart
|
|
180
|
-
* - iOS keeps the same behavior as the normal React reload path
|
|
181
|
-
*
|
|
182
|
-
* When `setReloadBehavior("custom", handler)` is used:
|
|
183
|
-
* - both Android and iOS execute the provided handler
|
|
153
|
+
* Android restarts the app process cold, so no native module can reach the
|
|
154
|
+
* JavaScript runtime while it is replaced. iOS reloads React Native in place.
|
|
184
155
|
*/
|
|
185
156
|
export declare const reload: () => Promise<void>;
|
|
186
|
-
/**
|
|
187
|
-
* Configures how `hotUpdater.reload()` should behave.
|
|
188
|
-
*
|
|
189
|
-
* This API is available on both Android and iOS so app code can stay symmetric.
|
|
190
|
-
* By default, HotUpdater uses `processRestart`.
|
|
191
|
-
*
|
|
192
|
-
* Supported behaviors:
|
|
193
|
-
* - `reload`: Uses React Native's normal in-process reload flow
|
|
194
|
-
* - `processRestart`: Uses Android process restart when available; iOS keeps the same behavior as `reload`
|
|
195
|
-
* - `custom`: Executes a JS callback on both platforms
|
|
196
|
-
*
|
|
197
|
-
* `custom` is intended for brownfield apps that need host-native coordination.
|
|
198
|
-
*/
|
|
199
|
-
export declare function setReloadBehavior(...args: [behavior: ReloadBehavior] | [behavior: "custom", handler: CustomReloadHandler]): void;
|
|
200
157
|
/**
|
|
201
158
|
* Fetches the minimum bundle id created from the native app build time.
|
|
202
159
|
*
|
|
@@ -250,6 +207,12 @@ export declare const getInstallId: () => string;
|
|
|
250
207
|
export declare const getStorageItem: (key: string) => string | null;
|
|
251
208
|
/** Writes a value to the SDK's native key-value store; null removes it. */
|
|
252
209
|
export declare const setStorageItem: (key: string, value: string | null) => void;
|
|
210
|
+
/**
|
|
211
|
+
* Takes and clears the events of the native update checks, as JSON. Native
|
|
212
|
+
* built from an earlier SDK has no `takeNativeUpdateEvents`, and an OTA can
|
|
213
|
+
* bring this JavaScript to such native code, which has no events to replay.
|
|
214
|
+
*/
|
|
215
|
+
export declare const takeNativeUpdateEvents: () => string | null;
|
|
253
216
|
/**
|
|
254
217
|
* Result returned by notifyAppReady()
|
|
255
218
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAItB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAyB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC;AAGlD,KAAK,uBAAuB,GAAG,aAAa,GAAG,YAAY,CAAC;AAU5D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACvC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../src/native.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LaunchReporter } from "./appReady";
|
|
2
|
+
/**
|
|
3
|
+
* Reports the update checks native code ran without JavaScript, such as a
|
|
4
|
+
* brownfield app's native `HotUpdaterInstance`, with the catalog and artifact
|
|
5
|
+
* responses they received, to the instance's plugins before this launch's
|
|
6
|
+
* report, which they precede. Native takes and clears them in one step, so
|
|
7
|
+
* each is reported at most once. A native error carries a message instead of
|
|
8
|
+
* the caught error, and each event keeps the time it happened as
|
|
9
|
+
* `occurredAt`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const replayNativeUpdateEvents: (emit: LaunchReporter["emit"]) => void;
|
|
12
|
+
//# sourceMappingURL=nativeUpdateEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nativeUpdateEvents.d.ts","sourceRoot":"","sources":["../../../src/nativeUpdateEvents.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,SAAU,cAAc,CAAC,MAAM,CAAC,SAsDpE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const HOT_UPDATER_SDK_VERSION = "1.0
|
|
1
|
+
export declare const HOT_UPDATER_SDK_VERSION = "1.1.0";
|
|
2
2
|
//# sourceMappingURL=sdkVersion.d.ts.map
|
|
@@ -49,11 +49,20 @@ export interface InstallArtifactParams {
|
|
|
49
49
|
selection?: UnsafeObject | null;
|
|
50
50
|
}
|
|
51
51
|
export interface Spec extends TurboModule {
|
|
52
|
+
/**
|
|
53
|
+
* Restarts the app process on Android and reloads React Native in place on
|
|
54
|
+
* iOS, so the app loads the current bundle.
|
|
55
|
+
*/
|
|
52
56
|
reload(): Promise<void>;
|
|
53
57
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
58
|
+
* @deprecated Kept for JavaScript↔native compatibility within this major
|
|
59
|
+
* version. Released JavaScript calls it on Android, and this SDK's
|
|
60
|
+
* JavaScript still calls it on Android because an older native build's
|
|
61
|
+
* `reload()` reloads React Native in place there. Native `reload()` now
|
|
62
|
+
* restarts the process on Android too: the Kotlin and Objective-C
|
|
63
|
+
* `reloadProcess` implementations run the same code as `reload()`, a
|
|
64
|
+
* process restart on Android and an in-place reload on iOS. The next major
|
|
65
|
+
* version removes it.
|
|
57
66
|
*/
|
|
58
67
|
reloadProcess(): Promise<void>;
|
|
59
68
|
/**
|
|
@@ -208,6 +217,13 @@ export interface Spec extends TurboModule {
|
|
|
208
217
|
* key.
|
|
209
218
|
*/
|
|
210
219
|
setStorageItem: (key: string, value: string | null) => void;
|
|
220
|
+
/**
|
|
221
|
+
* Takes the events of the update checks native code ran without JavaScript
|
|
222
|
+
* (a native `HotUpdaterInstance`), as a JSON array, and clears them in one
|
|
223
|
+
* step.
|
|
224
|
+
* Returns null when there are none.
|
|
225
|
+
*/
|
|
226
|
+
takeNativeUpdateEvents: () => string | null;
|
|
211
227
|
addListener(eventName: string): void;
|
|
212
228
|
removeListeners(count: number): void;
|
|
213
229
|
readonly getConstants: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,EAAE,YAAY,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,cAAc,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"NativeHotUpdater.d.ts","sourceRoot":"","sources":["../../../../src/specs/NativeHotUpdater.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
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "React Native OTA solution for self-hosted",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"main": "./lib/commonjs/index.js",
|
|
@@ -124,9 +124,9 @@
|
|
|
124
124
|
},
|
|
125
125
|
"dependencies": {
|
|
126
126
|
"use-sync-external-store": "1.5.0",
|
|
127
|
-
"@hot-updater/
|
|
128
|
-
"@hot-updater/
|
|
129
|
-
"@hot-updater/plugin-remote-config": "1.0
|
|
127
|
+
"@hot-updater/protocol": "1.1.0",
|
|
128
|
+
"@hot-updater/plugin-insights": "1.1.0",
|
|
129
|
+
"@hot-updater/plugin-remote-config": "1.1.0"
|
|
130
130
|
},
|
|
131
131
|
"scripts": {
|
|
132
132
|
"build": "node ./scripts/sync-sdk-version.mjs run -- bob build",
|
package/src/checkForUpdate.ts
CHANGED
|
@@ -366,7 +366,13 @@ async function checkForReleaseCatalogUpdate(input: {
|
|
|
366
366
|
guard,
|
|
367
367
|
selection: receipt,
|
|
368
368
|
});
|
|
369
|
-
|
|
369
|
+
// Only the running bundle is unchanged: adopting a staged bundle's
|
|
370
|
+
// newer Release leaves it to report itself when it launches.
|
|
371
|
+
if (
|
|
372
|
+
committed &&
|
|
373
|
+
transitionKind === "ADOPT_RELEASE" &&
|
|
374
|
+
desired.bundleId === input.currentBundleId
|
|
375
|
+
) {
|
|
370
376
|
options.emit("onUpdateCheck", () => ({
|
|
371
377
|
status: "UNCHANGED",
|
|
372
378
|
channel: receipt.channel,
|
package/src/index.ts
CHANGED
|
@@ -29,10 +29,10 @@ import {
|
|
|
29
29
|
reload,
|
|
30
30
|
resetChannel,
|
|
31
31
|
setCohort,
|
|
32
|
-
setReloadBehavior,
|
|
33
32
|
stageBundle,
|
|
34
33
|
type UpdateParams,
|
|
35
34
|
} from "./native";
|
|
35
|
+
import { replayNativeUpdateEvents } from "./nativeUpdateEvents";
|
|
36
36
|
import { createAppPluginHost } from "./pluginHost";
|
|
37
37
|
import { hotUpdaterStore } from "./store";
|
|
38
38
|
import { type HotUpdaterWrapOptions, wrap } from "./wrap";
|
|
@@ -79,7 +79,6 @@ export {
|
|
|
79
79
|
type RemoteConfigValueSource,
|
|
80
80
|
} from "@hot-updater/plugin-remote-config/client";
|
|
81
81
|
export type {
|
|
82
|
-
CustomReloadHandler,
|
|
83
82
|
HotUpdaterEvent,
|
|
84
83
|
HotUpdaterProgressArtifactType,
|
|
85
84
|
HotUpdaterProgressEvent,
|
|
@@ -87,8 +86,6 @@ export type {
|
|
|
87
86
|
ManifestAsset,
|
|
88
87
|
NotifyAppReadyResult,
|
|
89
88
|
ActiveUpdateState,
|
|
90
|
-
ReloadBehavior,
|
|
91
|
-
ReloadBehaviorSetting,
|
|
92
89
|
} from "./native";
|
|
93
90
|
export * from "./store";
|
|
94
91
|
export {
|
|
@@ -135,22 +132,11 @@ const createMissingNetworkConfigError = () =>
|
|
|
135
132
|
/** The methods that read or change native state, the same on every instance. */
|
|
136
133
|
const nativeMethods = {
|
|
137
134
|
/**
|
|
138
|
-
*
|
|
135
|
+
* Restarts the app so it loads the current bundle: a cold process restart
|
|
136
|
+
* on Android, an in-place React Native reload on iOS.
|
|
139
137
|
*/
|
|
140
138
|
reload,
|
|
141
139
|
|
|
142
|
-
/**
|
|
143
|
-
* Configures how `hotUpdater.reload()` behaves.
|
|
144
|
-
*
|
|
145
|
-
* This can be called unconditionally on both platforms.
|
|
146
|
-
* The default is `processRestart`.
|
|
147
|
-
*
|
|
148
|
-
* - `reload`: built-in React Native reload on both platforms
|
|
149
|
-
* - `processRestart`: Android process restart, iOS behaves like normal reload
|
|
150
|
-
* - `custom`: run a custom JS handler on both platforms
|
|
151
|
-
*/
|
|
152
|
-
setReloadBehavior,
|
|
153
|
-
|
|
154
140
|
/**
|
|
155
141
|
* Returns whether an update has finished downloading in this app session.
|
|
156
142
|
*
|
|
@@ -563,6 +549,12 @@ export const HotUpdater = {
|
|
|
563
549
|
requestTimeout,
|
|
564
550
|
onError,
|
|
565
551
|
});
|
|
552
|
+
// Native events happened before this launch's report, such as the download
|
|
553
|
+
// it applies, so plugins receive them first. Native checks run on the one
|
|
554
|
+
// native instance, which shares this server as the brownfield guide sets
|
|
555
|
+
// it up: the first init of the runtime reports them, and a later init
|
|
556
|
+
// gets none because they were reported already.
|
|
557
|
+
replayNativeUpdateEvents(launch.emit);
|
|
566
558
|
void launch.read({ onNotifyAppReady, onError });
|
|
567
559
|
return Object.freeze({
|
|
568
560
|
...instance,
|
package/src/native.ts
CHANGED
|
@@ -47,31 +47,6 @@ type ActiveBundleSnapshotCacheValues = {
|
|
|
47
47
|
|
|
48
48
|
type ActiveBundleSnapshotCacheKey = keyof ActiveBundleSnapshotCacheValues;
|
|
49
49
|
|
|
50
|
-
/**
|
|
51
|
-
* Built-in reload behaviors used by `hotUpdater.reload()`.
|
|
52
|
-
*
|
|
53
|
-
* - `reload`: In-process React Native reload.
|
|
54
|
-
* - `processRestart`: Android-only cold restart. On iOS the same call behaves like `reload`.
|
|
55
|
-
*/
|
|
56
|
-
export type ReloadBehavior = "reload" | "processRestart";
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Custom reload hook used when `setReloadBehavior("custom", handler)` is configured.
|
|
60
|
-
*
|
|
61
|
-
* This is useful for brownfield apps that need to delegate reload behavior to
|
|
62
|
-
* a host-native container instead of using HotUpdater's built-in reload flow.
|
|
63
|
-
*/
|
|
64
|
-
export type CustomReloadHandler = () => void | Promise<void>;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Full reload policy accepted by `setReloadBehavior()`.
|
|
68
|
-
*
|
|
69
|
-
* - `reload`: Built-in React reload on both platforms
|
|
70
|
-
* - `processRestart`: Android process restart, iOS behaves like `reload`
|
|
71
|
-
* - `custom`: Run a user-provided JS handler on both platforms
|
|
72
|
-
*/
|
|
73
|
-
export type ReloadBehaviorSetting = ReloadBehavior | "custom";
|
|
74
|
-
|
|
75
50
|
class HotUpdaterSessionState {
|
|
76
51
|
private readonly defaultChannel: string;
|
|
77
52
|
private currentChannel: string;
|
|
@@ -194,8 +169,6 @@ class HotUpdaterSessionState {
|
|
|
194
169
|
}
|
|
195
170
|
|
|
196
171
|
const sessionState = new HotUpdaterSessionState();
|
|
197
|
-
let reloadBehavior: ReloadBehaviorSetting = "processRestart";
|
|
198
|
-
let customReloadHandler: CustomReloadHandler | null = null;
|
|
199
172
|
|
|
200
173
|
const cloneManifest = (manifest: Manifest): Manifest => ({
|
|
201
174
|
bundleId: manifest.bundleId,
|
|
@@ -539,31 +512,14 @@ export const getAppVersion = (): string | null => {
|
|
|
539
512
|
};
|
|
540
513
|
|
|
541
514
|
/**
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
* Default behavior is `processRestart`.
|
|
545
|
-
* On iOS, `processRestart` behaves like the normal React reload path.
|
|
546
|
-
*
|
|
547
|
-
* When `setReloadBehavior("processRestart")` is used:
|
|
548
|
-
* - Android performs a cold process restart
|
|
549
|
-
* - iOS keeps the same behavior as the normal React reload path
|
|
515
|
+
* Restarts the app so it loads the current bundle.
|
|
550
516
|
*
|
|
551
|
-
*
|
|
552
|
-
*
|
|
517
|
+
* Android restarts the app process cold, so no native module can reach the
|
|
518
|
+
* JavaScript runtime while it is replaced. iOS reloads React Native in place.
|
|
553
519
|
*/
|
|
554
520
|
export const reload = async () => {
|
|
555
|
-
if (
|
|
556
|
-
|
|
557
|
-
throw new Error(
|
|
558
|
-
"[HotUpdater] setReloadBehavior('custom') requires a reload handler.",
|
|
559
|
-
);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
await customReloadHandler();
|
|
563
|
-
return;
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
if (Platform.OS === "android" && reloadBehavior === "processRestart") {
|
|
521
|
+
if (Platform.OS === "android") {
|
|
522
|
+
// An older native build's reload() reloads in place on Android.
|
|
567
523
|
await HotUpdaterNative.reloadProcess();
|
|
568
524
|
return;
|
|
569
525
|
}
|
|
@@ -571,48 +527,6 @@ export const reload = async () => {
|
|
|
571
527
|
await HotUpdaterNative.reload();
|
|
572
528
|
};
|
|
573
529
|
|
|
574
|
-
/**
|
|
575
|
-
* Configures how `hotUpdater.reload()` should behave.
|
|
576
|
-
*
|
|
577
|
-
* This API is available on both Android and iOS so app code can stay symmetric.
|
|
578
|
-
* By default, HotUpdater uses `processRestart`.
|
|
579
|
-
*
|
|
580
|
-
* Supported behaviors:
|
|
581
|
-
* - `reload`: Uses React Native's normal in-process reload flow
|
|
582
|
-
* - `processRestart`: Uses Android process restart when available; iOS keeps the same behavior as `reload`
|
|
583
|
-
* - `custom`: Executes a JS callback on both platforms
|
|
584
|
-
*
|
|
585
|
-
* `custom` is intended for brownfield apps that need host-native coordination.
|
|
586
|
-
*/
|
|
587
|
-
export function setReloadBehavior(
|
|
588
|
-
...args:
|
|
589
|
-
| [behavior: ReloadBehavior]
|
|
590
|
-
| [behavior: "custom", handler: CustomReloadHandler]
|
|
591
|
-
): void {
|
|
592
|
-
const [behavior, handler] = args;
|
|
593
|
-
|
|
594
|
-
if (behavior === "custom") {
|
|
595
|
-
if (typeof handler !== "function") {
|
|
596
|
-
throw new Error(
|
|
597
|
-
"[HotUpdater] setReloadBehavior('custom') requires a reload handler.",
|
|
598
|
-
);
|
|
599
|
-
}
|
|
600
|
-
|
|
601
|
-
reloadBehavior = behavior;
|
|
602
|
-
customReloadHandler = handler;
|
|
603
|
-
return;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
if (handler) {
|
|
607
|
-
throw new Error(
|
|
608
|
-
`[HotUpdater] setReloadBehavior('${behavior}') does not accept a custom reload handler.`,
|
|
609
|
-
);
|
|
610
|
-
}
|
|
611
|
-
|
|
612
|
-
reloadBehavior = behavior;
|
|
613
|
-
customReloadHandler = null;
|
|
614
|
-
}
|
|
615
|
-
|
|
616
530
|
/**
|
|
617
531
|
* Fetches the minimum bundle id created from the native app build time.
|
|
618
532
|
*
|
|
@@ -731,6 +645,20 @@ export const setStorageItem = (key: string, value: string | null): void => {
|
|
|
731
645
|
HotUpdaterNative.setStorageItem(key, value);
|
|
732
646
|
};
|
|
733
647
|
|
|
648
|
+
/**
|
|
649
|
+
* Takes and clears the events of the native update checks, as JSON. Native
|
|
650
|
+
* built from an earlier SDK has no `takeNativeUpdateEvents`, and an OTA can
|
|
651
|
+
* bring this JavaScript to such native code, which has no events to replay.
|
|
652
|
+
*/
|
|
653
|
+
export const takeNativeUpdateEvents = (): string | null => {
|
|
654
|
+
const native = HotUpdaterNative as { takeNativeUpdateEvents?: unknown };
|
|
655
|
+
if (typeof native.takeNativeUpdateEvents !== "function") {
|
|
656
|
+
return null;
|
|
657
|
+
}
|
|
658
|
+
const value: unknown = HotUpdaterNative.takeNativeUpdateEvents();
|
|
659
|
+
return typeof value === "string" ? value : null;
|
|
660
|
+
};
|
|
661
|
+
|
|
734
662
|
/**
|
|
735
663
|
* Result returned by notifyAppReady()
|
|
736
664
|
*/
|