@hot-updater/react-native 1.0.0-rc.3 → 1.0.0-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/proguard-rules.pro +17 -2
- package/android/src/main/java/com/hotupdater/BuiltInAssetResolver.kt +286 -0
- package/android/src/main/java/com/hotupdater/BundleFileStorageService.kt +954 -837
- package/android/src/main/java/com/hotupdater/BundleMetadata.kt +15 -11
- package/android/src/main/java/com/hotupdater/FileManagerService.kt +45 -0
- package/android/src/main/java/com/hotupdater/HotUpdaterException.kt +287 -22
- package/android/src/main/java/com/hotupdater/HotUpdaterImpl.kt +43 -31
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryManager.kt +37 -54
- package/android/src/main/java/com/hotupdater/HotUpdaterRecoveryState.kt +64 -0
- package/android/src/main/java/com/hotupdater/InstallIdentityService.kt +37 -0
- package/android/src/main/java/com/hotupdater/KeyValueStorageService.kt +86 -0
- package/android/src/main/java/com/hotupdater/NetworkState.kt +31 -0
- package/android/src/main/java/com/hotupdater/NoBackupStorage.kt +17 -0
- package/android/src/main/java/com/hotupdater/OkHttpDownloadService.kt +127 -50
- package/android/src/main/java/com/hotupdater/PreviousProcessExit.kt +89 -0
- package/android/src/main/java/com/hotupdater/ReactNativeValueConverters.kt +34 -0
- package/android/src/main/java/com/hotupdater/TarArchiveInputStream.kt +214 -375
- package/android/src/main/java/com/hotupdater/TarBrArchiveExtractor.kt +119 -0
- package/android/src/newarch/HotUpdater.kt +7 -9
- package/android/src/newarch/HotUpdaterModule.kt +109 -84
- package/android/src/oldarch/HotUpdater.kt +7 -9
- package/android/src/oldarch/HotUpdaterModule.kt +98 -74
- package/android/src/oldarch/HotUpdaterSpec.kt +4 -6
- package/ios/HotUpdater/Internal/BrotliFileDecompressor.swift +167 -0
- package/ios/HotUpdater/Internal/BuiltInAssetResolver.swift +196 -0
- package/ios/HotUpdater/Internal/BundleFileStorageService.swift +950 -1112
- package/ios/HotUpdater/Internal/BundleMetadata.swift +8 -53
- package/ios/HotUpdater/Internal/FileManagerService.swift +48 -0
- package/ios/HotUpdater/Internal/FileUtilities.swift +64 -0
- package/ios/HotUpdater/Internal/HotUpdater-Bridging-Header.h +0 -1
- package/ios/HotUpdater/Internal/HotUpdater.mm +13 -45
- package/ios/HotUpdater/Internal/HotUpdaterImpl.swift +190 -73
- package/ios/HotUpdater/Internal/KeyValueStorageService.swift +71 -0
- package/ios/HotUpdater/Internal/NotificationExtension.swift +0 -2
- package/ios/HotUpdater/Internal/TarArchiveExtractor.swift +182 -311
- package/ios/HotUpdater/Internal/URLSessionDownloadService.swift +119 -71
- package/ios/HotUpdater/Internal/UpdateFailure.swift +390 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecovery.h +16 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecovery.mm +83 -0
- package/ios/HotUpdater/Recovery/HotUpdaterRecoveryHooks.mm +49 -0
- package/lib/commonjs/appReady.js +111 -0
- package/lib/commonjs/appReady.js.map +1 -0
- package/lib/commonjs/checkForUpdate.js +124 -69
- package/lib/commonjs/checkForUpdate.js.map +1 -1
- package/lib/commonjs/clientPlugin.js +13 -0
- package/lib/commonjs/clientPlugin.js.map +1 -0
- package/lib/commonjs/error.js +4 -13
- package/lib/commonjs/error.js.map +1 -1
- package/lib/commonjs/fetchJSON.js +16 -27
- package/lib/commonjs/fetchJSON.js.map +1 -1
- package/lib/commonjs/fetchUpdateResponse.js +54 -0
- package/lib/commonjs/fetchUpdateResponse.js.map +1 -0
- package/lib/commonjs/httpClient.js +63 -94
- package/lib/commonjs/httpClient.js.map +1 -1
- package/lib/commonjs/index.js +71 -18
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native.js +78 -60
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/pluginHost.js +44 -0
- package/lib/commonjs/pluginHost.js.map +1 -0
- package/lib/commonjs/releaseCatalogCache.js +36 -87
- package/lib/commonjs/releaseCatalogCache.js.map +1 -1
- package/lib/commonjs/sdkVersion.js +1 -1
- package/lib/commonjs/sdkVersion.js.map +1 -1
- package/lib/commonjs/specs/NativeHotUpdater.js.map +1 -1
- package/lib/commonjs/store.js +3 -10
- package/lib/commonjs/store.js.map +1 -1
- package/lib/commonjs/updateError.js +132 -0
- package/lib/commonjs/updateError.js.map +1 -0
- package/lib/commonjs/wrap.js +43 -26
- package/lib/commonjs/wrap.js.map +1 -1
- package/lib/module/appReady.js +103 -0
- package/lib/module/appReady.js.map +1 -0
- package/lib/module/checkForUpdate.js +117 -64
- package/lib/module/checkForUpdate.js.map +1 -1
- package/lib/module/clientPlugin.js +4 -0
- package/lib/module/clientPlugin.js.map +1 -0
- package/lib/module/error.js +4 -13
- package/lib/module/error.js.map +1 -1
- package/lib/module/fetchJSON.js +14 -26
- package/lib/module/fetchJSON.js.map +1 -1
- package/lib/module/fetchUpdateResponse.js +49 -0
- package/lib/module/fetchUpdateResponse.js.map +1 -0
- package/lib/module/httpClient.js +62 -93
- package/lib/module/httpClient.js.map +1 -1
- package/lib/module/index.js +58 -20
- package/lib/module/index.js.map +1 -1
- package/lib/module/native.js +71 -53
- package/lib/module/native.js.map +1 -1
- package/lib/module/pluginHost.js +35 -0
- package/lib/module/pluginHost.js.map +1 -0
- package/lib/module/releaseCatalogCache.js +32 -82
- package/lib/module/releaseCatalogCache.js.map +1 -1
- package/lib/module/sdkVersion.js +1 -1
- package/lib/module/sdkVersion.js.map +1 -1
- package/lib/module/specs/NativeHotUpdater.js.map +1 -1
- package/lib/module/store.js +3 -10
- package/lib/module/store.js.map +1 -1
- package/lib/module/updateError.js +126 -0
- package/lib/module/updateError.js.map +1 -0
- package/lib/module/wrap.js +43 -26
- package/lib/module/wrap.js.map +1 -1
- package/lib/typescript/commonjs/appReady.d.ts +23 -0
- package/lib/typescript/commonjs/appReady.d.ts.map +1 -0
- package/lib/typescript/commonjs/checkForUpdate.d.ts +16 -4
- package/lib/typescript/commonjs/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/commonjs/clientPlugin.d.ts +2 -0
- package/lib/typescript/commonjs/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/commonjs/error.d.ts +4 -13
- package/lib/typescript/commonjs/error.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchJSON.d.ts +5 -5
- package/lib/typescript/commonjs/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/commonjs/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/commonjs/httpClient.d.ts +4 -33
- package/lib/typescript/commonjs/httpClient.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -8
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/native.d.ts +31 -22
- package/lib/typescript/commonjs/native.d.ts.map +1 -1
- package/lib/typescript/commonjs/pluginHost.d.ts +4 -0
- package/lib/typescript/commonjs/pluginHost.d.ts.map +1 -0
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts +8 -14
- package/lib/typescript/commonjs/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts +1 -1
- package/lib/typescript/commonjs/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts +42 -47
- package/lib/typescript/commonjs/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/commonjs/store.d.ts +1 -3
- package/lib/typescript/commonjs/store.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +1 -1
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/updateError.d.ts +26 -0
- package/lib/typescript/commonjs/updateError.d.ts.map +1 -0
- package/lib/typescript/commonjs/wrap.d.ts.map +1 -1
- package/lib/typescript/commonjs/wrap.types.d.ts +6 -7
- package/lib/typescript/commonjs/wrap.types.d.ts.map +1 -1
- package/lib/typescript/module/appReady.d.ts +23 -0
- package/lib/typescript/module/appReady.d.ts.map +1 -0
- package/lib/typescript/module/checkForUpdate.d.ts +16 -4
- package/lib/typescript/module/checkForUpdate.d.ts.map +1 -1
- package/lib/typescript/module/clientPlugin.d.ts +2 -0
- package/lib/typescript/module/clientPlugin.d.ts.map +1 -0
- package/lib/typescript/module/error.d.ts +4 -13
- package/lib/typescript/module/error.d.ts.map +1 -1
- package/lib/typescript/module/fetchJSON.d.ts +5 -5
- package/lib/typescript/module/fetchJSON.d.ts.map +1 -1
- package/lib/typescript/module/fetchUpdateResponse.d.ts +14 -0
- package/lib/typescript/module/fetchUpdateResponse.d.ts.map +1 -0
- package/lib/typescript/module/httpClient.d.ts +4 -33
- package/lib/typescript/module/httpClient.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -8
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/native.d.ts +31 -22
- package/lib/typescript/module/native.d.ts.map +1 -1
- package/lib/typescript/module/pluginHost.d.ts +4 -0
- package/lib/typescript/module/pluginHost.d.ts.map +1 -0
- package/lib/typescript/module/releaseCatalogCache.d.ts +8 -14
- package/lib/typescript/module/releaseCatalogCache.d.ts.map +1 -1
- package/lib/typescript/module/sdkVersion.d.ts +1 -1
- package/lib/typescript/module/sdkVersion.d.ts.map +1 -1
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts +42 -47
- package/lib/typescript/module/specs/NativeHotUpdater.d.ts.map +1 -1
- package/lib/typescript/module/store.d.ts +1 -3
- package/lib/typescript/module/store.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +1 -1
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/updateError.d.ts +26 -0
- package/lib/typescript/module/updateError.d.ts.map +1 -0
- package/lib/typescript/module/wrap.d.ts.map +1 -1
- package/lib/typescript/module/wrap.types.d.ts +6 -7
- package/lib/typescript/module/wrap.types.d.ts.map +1 -1
- package/package.json +7 -4
- package/src/appReady.ts +149 -0
- package/src/checkForUpdate.ts +151 -88
- package/src/clientPlugin.ts +18 -0
- package/src/error.ts +4 -14
- package/src/fetchJSON.ts +14 -30
- package/src/fetchUpdateResponse.ts +54 -0
- package/src/httpClient.ts +88 -159
- package/src/index.ts +90 -24
- package/src/native.ts +106 -102
- package/src/pluginHost.ts +45 -0
- package/src/releaseCatalogCache.ts +43 -172
- package/src/sdkVersion.ts +1 -1
- package/src/specs/NativeHotUpdater.ts +41 -48
- package/src/store.ts +2 -23
- package/src/types.ts +1 -1
- package/src/updateError.ts +153 -0
- package/src/wrap.tsx +57 -26
- package/src/wrap.types.ts +6 -7
- package/android/src/main/java/com/hotupdater/DecompressService.kt +0 -89
- package/android/src/main/java/com/hotupdater/DecompressionStrategy.kt +0 -26
- package/android/src/main/java/com/hotupdater/TarBrDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/TarGzDecompressionStrategy.kt +0 -117
- package/android/src/main/java/com/hotupdater/ZipDecompressionStrategy.kt +0 -192
- package/android/src/test/java/com/hotupdater/BsdiffPatchTest.kt +0 -46
- package/android/src/test/java/com/hotupdater/BundleFileStorageServiceTest.kt +0 -799
- package/android/src/test/java/com/hotupdater/HotUpdaterImplTest.kt +0 -273
- package/android/src/test/java/com/hotupdater/NativeConfigUtilsTest.kt +0 -20
- package/android/src/test/java/com/hotupdater/OkHttpDownloadServiceTest.kt +0 -111
- package/android/src/test/java/com/hotupdater/RelativePathResolverTest.kt +0 -41
- package/android/src/test/java/com/hotupdater/ReleaseCatalogCacheServiceTest.kt +0 -118
- package/android/src/test/java/com/hotupdater/TarArchiveInputStreamTest.kt +0 -68
- package/ios/HotUpdater/Internal/ArchiveExtractionUtilities.swift +0 -178
- package/ios/HotUpdater/Internal/DecompressService.swift +0 -112
- package/ios/HotUpdater/Internal/DecompressionStrategy.swift +0 -22
- package/ios/HotUpdater/Internal/StreamingTarArchiveExtractor.swift +0 -370
- package/ios/HotUpdater/Internal/TarBrDecompressionStrategy.swift +0 -39
- package/ios/HotUpdater/Internal/TarGzDecompressionStrategy.swift +0 -59
- package/ios/HotUpdater/Internal/ZipArchiveExtractor.swift +0 -482
- package/ios/HotUpdater/Internal/ZipDecompressionStrategy.swift +0 -56
- package/lib/commonjs/catalogCacheNative.spec.js +0 -31
- package/lib/commonjs/catalogCacheNative.spec.js.map +0 -1
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js +0 -615
- package/lib/commonjs/checkForUpdate.releaseCatalog.spec.js.map +0 -1
- package/lib/commonjs/httpClient.spec.js +0 -102
- package/lib/commonjs/httpClient.spec.js.map +0 -1
- package/lib/commonjs/index.spec.js +0 -302
- package/lib/commonjs/index.spec.js.map +0 -1
- package/lib/commonjs/iosInterop.spec.js +0 -18
- package/lib/commonjs/iosInterop.spec.js.map +0 -1
- package/lib/commonjs/native.spec.js +0 -883
- package/lib/commonjs/native.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js +0 -218
- package/lib/commonjs/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.js +0 -133
- package/lib/commonjs/notifyAppReadyInsights.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.spec.js +0 -246
- package/lib/commonjs/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js +0 -24
- package/lib/commonjs/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js +0 -117
- package/lib/commonjs/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/commonjs/releaseCatalogCache.spec.js +0 -195
- package/lib/commonjs/releaseCatalogCache.spec.js.map +0 -1
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js +0 -64
- package/lib/commonjs/releaseCatalogCacheNativeContract.spec.js.map +0 -1
- package/lib/commonjs/store.notification.spec.js +0 -76
- package/lib/commonjs/store.notification.spec.js.map +0 -1
- package/lib/commonjs/store.spec.js +0 -316
- package/lib/commonjs/store.spec.js.map +0 -1
- package/lib/commonjs/wrap.spec.js +0 -329
- package/lib/commonjs/wrap.spec.js.map +0 -1
- package/lib/module/catalogCacheNative.spec.js +0 -31
- package/lib/module/catalogCacheNative.spec.js.map +0 -1
- package/lib/module/checkForUpdate.releaseCatalog.spec.js +0 -614
- package/lib/module/checkForUpdate.releaseCatalog.spec.js.map +0 -1
- package/lib/module/httpClient.spec.js +0 -102
- package/lib/module/httpClient.spec.js.map +0 -1
- package/lib/module/index.spec.js +0 -301
- package/lib/module/index.spec.js.map +0 -1
- package/lib/module/iosInterop.spec.js +0 -18
- package/lib/module/iosInterop.spec.js.map +0 -1
- package/lib/module/native.spec.js +0 -882
- package/lib/module/native.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.boundary.spec.js +0 -217
- package/lib/module/notifyAppReadyInsights.boundary.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.js +0 -128
- package/lib/module/notifyAppReadyInsights.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.spec.js +0 -245
- package/lib/module/notifyAppReadyInsights.spec.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.test-utils.js +0 -18
- package/lib/module/notifyAppReadyInsights.test-utils.js.map +0 -1
- package/lib/module/notifyAppReadyInsights.transport.spec.js +0 -116
- package/lib/module/notifyAppReadyInsights.transport.spec.js.map +0 -1
- package/lib/module/releaseCatalogCache.spec.js +0 -195
- package/lib/module/releaseCatalogCache.spec.js.map +0 -1
- package/lib/module/releaseCatalogCacheNativeContract.spec.js +0 -64
- package/lib/module/releaseCatalogCacheNativeContract.spec.js.map +0 -1
- package/lib/module/store.notification.spec.js +0 -77
- package/lib/module/store.notification.spec.js.map +0 -1
- package/lib/module/store.spec.js +0 -315
- package/lib/module/store.spec.js.map +0 -1
- package/lib/module/wrap.spec.js +0 -330
- package/lib/module/wrap.spec.js.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts +0 -13
- package/lib/typescript/commonjs/notifyAppReadyInsights.d.ts.map +0 -1
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts +0 -8
- package/lib/typescript/commonjs/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyInsights.d.ts +0 -13
- package/lib/typescript/module/notifyAppReadyInsights.d.ts.map +0 -1
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts +0 -8
- package/lib/typescript/module/notifyAppReadyInsights.test-utils.d.ts.map +0 -1
- package/src/catalogCacheNative.spec.ts +0 -63
- package/src/checkForUpdate.releaseCatalog.spec.ts +0 -611
- package/src/httpClient.spec.ts +0 -132
- package/src/index.spec.ts +0 -337
- package/src/iosInterop.spec.ts +0 -30
- package/src/native.spec.ts +0 -945
- package/src/notifyAppReadyInsights.boundary.spec.ts +0 -234
- package/src/notifyAppReadyInsights.spec.ts +0 -243
- package/src/notifyAppReadyInsights.test-utils.ts +0 -31
- package/src/notifyAppReadyInsights.transport.spec.ts +0 -130
- package/src/notifyAppReadyInsights.ts +0 -194
- package/src/releaseCatalogCache.spec.ts +0 -282
- package/src/releaseCatalogCacheNativeContract.spec.ts +0 -80
- package/src/store.notification.spec.ts +0 -92
- package/src/store.spec.ts +0 -372
- package/src/wrap.spec.ts +0 -406
package/lib/module/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","updateBundle","params","updateBundleId","status","targetFileUrl","fileUrl","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetFileHash","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetChangedAssets","changedAssets","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","getPersistedUserIdentity","getUserId","getUsername","userId","username","setUser","normalizedUserId","String","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getNotifyAppReadyInsightsEvent","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","insightsEvent","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["INVALID_COHORT_ERROR_MESSAGE","isValidCohort","normalizeCohortValue","NativeEventEmitter","Platform","HotUpdaterErrorCode","isHotUpdaterError","HotUpdaterNative","NIL_UUID","normalizeAndValidateCohort","cohort","normalized","Error","HotUpdaterSessionState","inflightUpdates","Map","lastInstalledBundleId","activeBundleSnapshotCache","constructor","constants","getConstants","defaultChannel","DEFAULT_CHANNEL","CHANNEL","currentChannel","getChannel","getDefaultChannel","isChannelSwitched","hasInstalledBundle","bundleId","getInflightUpdate","get","trackInflightUpdate","promise","set","clearInflightUpdate","delete","markBundleInstalled","channel","clearActiveBundleSnapshotCache","resetChannelState","clear","getCachedBundleId","getActiveBundleSnapshotValue","cacheBundleId","setActiveBundleSnapshotValue","getCachedManifest","manifest","cloneManifest","undefined","cacheManifest","getCachedBaseURL","cacheBaseURL","baseURL","getCachedCohort","cachedCohort","cacheCohort","key","value","sessionState","reloadBehavior","customReloadHandler","assets","Object","fromEntries","entries","map","asset","fileHash","signature","getNativeBundleId","nativeModule","getBundleId","resolveBundleId","getMinBundleId","getFreshBundleId","resolvedBundleId","getReloadProcess","reloadProcess","bind","eventEmitter","addListener","eventName","listener","subscription","remove","requireReleaseCatalogNativeMethod","name","method","acceptReleaseCatalog","input","getActiveUpdateState","JSON","parse","getPublicActiveUpdateState","state","selection","receipt","kind","releaseId","activeSelection","stableSelection","verificationPending","isReleaseSelectionCurrent","commitReleaseSelection","ok","readBundleDelivery","delivery","patchFallback","stageBundle","params","updateBundleId","status","currentBundleId","shouldSkipCurrentBundleIdCheck","localeCompare","existing","targetChannel","targetManifestUrl","manifestUrl","targetManifestFileHash","manifestFileHash","targetAssets","staged","updateBundle","archiveUrl","getAppVersion","APP_VERSION","reload","OS","setReloadBehavior","args","behavior","handler","MIN_BUNDLE_ID","getUpdateId","cachedBundleId","getManifest","cachedManifest","normalizedManifest","createEmptyManifest","normalizeManifest","getFingerprintHash","FINGERPRINT_HASH","getInstallId","requireStorageNativeMethod","getStorageItem","setStorageItem","isPersistedUpdateStrategy","readRawNotifyAppReadyResult","result","notifyAppReady","parsed","Array","isArray","readDirectionalBundleId","normalizedBundleId","trim","length","readDirectionalReleaseId","normalizedReleaseId","getNotifyAppReadyTransition","fromBundleId","toBundleId","fromReleaseId","toReleaseId","getLaunchTransition","transition","updateStrategy","type","normalizeNotifyAppReadyResult","readNotifyAppReady","rawResult","previousProcessExit","pending","bundleIdValue","normalizeManifestAssets","flatMap","entry","trimmedKey","getCrashHistory","clearCrashHistory","getBaseURL","cachedBaseURL","resetChannel","setCohort","getCohort"],"sourceRoot":"../../src","sources":["native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createPluginHost } from "@hot-updater/protocol";
|
|
4
|
+
import { Platform } from "react-native";
|
|
5
|
+
import { getAppVersion, getBundleId, getChannel, getCohort, getFingerprintHash, getInstallId, getStorageItem, setStorageItem } from "./native.js";
|
|
6
|
+
import { HOT_UPDATER_SDK_VERSION } from "./sdkVersion.js";
|
|
7
|
+
/** The app's plugin host: plugins read the native module and fetch the configured server. */
|
|
8
|
+
export const {
|
|
9
|
+
configurePlugins,
|
|
10
|
+
hasPluginHook,
|
|
11
|
+
buildPluginEvent,
|
|
12
|
+
dispatchPluginHook,
|
|
13
|
+
emitPluginHook
|
|
14
|
+
} = createPluginHost({
|
|
15
|
+
fetch: (url, init) => fetch(url, init),
|
|
16
|
+
get platform() {
|
|
17
|
+
return Platform.OS === "android" ? "android" : "ios";
|
|
18
|
+
},
|
|
19
|
+
get isDebugBuild() {
|
|
20
|
+
return typeof __DEV__ !== "undefined" && __DEV__;
|
|
21
|
+
},
|
|
22
|
+
get sdkVersion() {
|
|
23
|
+
return HOT_UPDATER_SDK_VERSION;
|
|
24
|
+
},
|
|
25
|
+
getInstallId: () => getInstallId(),
|
|
26
|
+
getAppVersion: () => getAppVersion(),
|
|
27
|
+
getBundleId: () => getBundleId(),
|
|
28
|
+
getChannel: () => getChannel(),
|
|
29
|
+
getCohort: () => getCohort(),
|
|
30
|
+
getFingerprintHash: () => getFingerprintHash(),
|
|
31
|
+
getStorageItem: key => getStorageItem(key),
|
|
32
|
+
setStorageItem: (key, value) => setStorageItem(key, value),
|
|
33
|
+
now: () => Date.now()
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=pluginHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPluginHost","Platform","getAppVersion","getBundleId","getChannel","getCohort","getFingerprintHash","getInstallId","getStorageItem","setStorageItem","HOT_UPDATER_SDK_VERSION","configurePlugins","hasPluginHook","buildPluginEvent","dispatchPluginHook","emitPluginHook","fetch","url","init","platform","OS","isDebugBuild","__DEV__","sdkVersion","key","value","now","Date"],"sourceRoot":"../../src","sources":["pluginHost.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SACEC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,SAAS,EACTC,kBAAkB,EAClBC,YAAY,EACZC,cAAc,EACdC,cAAc,QACT,aAAU;AACjB,SAASC,uBAAuB,QAAQ,iBAAc;AAItD;AACA,OAAO,MAAM;EACXC,gBAAgB;EAChBC,aAAa;EACbC,gBAAgB;EAChBC,kBAAkB;EAClBC;AACF,CAAC,GAAGf,gBAAgB,CAAC;EACnBgB,KAAK,EAAEA,CAACC,GAAG,EAAEC,IAAI,KAAKF,KAAK,CAACC,GAAG,EAAEC,IAAI,CAAC;EACtC,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAOlB,QAAQ,CAACmB,EAAE,KAAK,SAAS,GAAG,SAAS,GAAG,KAAK;EACtD,CAAC;EACD,IAAIC,YAAYA,CAAA,EAAG;IACjB,OAAO,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO;EAClD,CAAC;EACD,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAOb,uBAAuB;EAChC,CAAC;EACDH,YAAY,EAAEA,CAAA,KAAMA,YAAY,CAAC,CAAC;EAClCL,aAAa,EAAEA,CAAA,KAAMA,aAAa,CAAC,CAAC;EACpCC,WAAW,EAAEA,CAAA,KAAMA,WAAW,CAAC,CAAC;EAChCC,UAAU,EAAEA,CAAA,KAAMA,UAAU,CAAC,CAAC;EAC9BC,SAAS,EAAEA,CAAA,KAAMA,SAAS,CAAC,CAAC;EAC5BC,kBAAkB,EAAEA,CAAA,KAAMA,kBAAkB,CAAC,CAAC;EAC9CE,cAAc,EAAGgB,GAAG,IAAKhB,cAAc,CAACgB,GAAG,CAAC;EAC5Cf,cAAc,EAAEA,CAACe,GAAG,EAAEC,KAAK,KAAKhB,cAAc,CAACe,GAAG,EAAEC,KAAK,CAAC;EAC1DC,GAAG,EAAEA,CAAA,KAAMC,IAAI,CAACD,GAAG,CAAC;AACtB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,64 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { getUtf8ByteLength, MAX_RELEASE_CATALOG_WIRE_BYTES, parseReleaseCatalog } from "@hot-updater/protocol";
|
|
4
|
+
import { fetchUpdateResponse } from "./fetchUpdateResponse.js";
|
|
5
|
+
import { InvalidUpdateResponseError, UpdateHttpError } from "./updateError.js";
|
|
4
6
|
const CACHE_FORMAT_VERSION = "1";
|
|
5
7
|
const MAX_ETAG_BYTES = 1024;
|
|
6
|
-
export const MAX_RELEASE_CATALOG_WIRE_BYTES = MAX_COMPILED_CATALOG_BYTES * 2 + 4 * 1024;
|
|
7
8
|
export const MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES = MAX_RELEASE_CATALOG_WIRE_BYTES + MAX_ETAG_BYTES + 3;
|
|
8
9
|
const readNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).readNativeReleaseCatalogCache(partition);
|
|
9
10
|
const writeNativeReleaseCatalogCache = async (partition, payload) => (await import("./catalogCacheNative")).writeNativeReleaseCatalogCache(partition, payload);
|
|
10
11
|
const removeNativeReleaseCatalogCache = async partition => (await import("./catalogCacheNative")).removeNativeReleaseCatalogCache(partition);
|
|
11
12
|
let lastParsedCache = null;
|
|
12
|
-
const getUtf8ByteLength = value => {
|
|
13
|
-
let bytes = 0;
|
|
14
|
-
for (let index = 0; index < value.length; index += 1) {
|
|
15
|
-
const code = value.charCodeAt(index);
|
|
16
|
-
if (code <= 0x7f) {
|
|
17
|
-
bytes += 1;
|
|
18
|
-
} else if (code <= 0x7ff) {
|
|
19
|
-
bytes += 2;
|
|
20
|
-
} else if (code >= 0xd800 && code <= 0xdbff && index + 1 < value.length && value.charCodeAt(index + 1) >= 0xdc00 && value.charCodeAt(index + 1) <= 0xdfff) {
|
|
21
|
-
bytes += 4;
|
|
22
|
-
index += 1;
|
|
23
|
-
} else {
|
|
24
|
-
bytes += 3;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return bytes;
|
|
28
|
-
};
|
|
29
|
-
const isStringArray = value => Array.isArray(value) && value.every(entry => typeof entry === "string");
|
|
30
|
-
const isValidReleaseDescriptor = value => {
|
|
31
|
-
if (value === null || typeof value !== "object") return false;
|
|
32
|
-
const descriptor = value;
|
|
33
|
-
return isUUIDv7(descriptor.releaseId) && (descriptor.kind === "BUNDLE" || descriptor.kind === "EMBEDDED") && (descriptor.kind === "BUNDLE" && typeof descriptor.bundleId === "string" || descriptor.kind === "EMBEDDED" && descriptor.bundleId === null) && Number.isSafeInteger(descriptor.rolloutCohortCount) && descriptor.rolloutCohortCount >= 0 && descriptor.rolloutCohortCount <= NUMERIC_COHORT_SIZE && isStringArray(descriptor.targetCohorts) && descriptor.targetCohorts.length <= MAX_TARGET_COHORTS_PER_RELEASE && typeof descriptor.shouldForceUpdate === "boolean" && (descriptor.message === null || typeof descriptor.message === "string");
|
|
34
|
-
};
|
|
35
|
-
export const hasExpectedReleaseCatalogScope = (catalog, expected) => {
|
|
36
|
-
try {
|
|
37
|
-
const parsed = parseReleaseCatalogScopeKey(catalog.scopeKey);
|
|
38
|
-
return parsed.channelKey === expected.channelKey && parsed.platform === expected.platform && parsed.strategy === expected.strategy && (parsed.strategy === "APP_VERSION" || expected.strategy === "FINGERPRINT" && parsed.fingerprintHash === expected.fingerprintHash);
|
|
39
|
-
} catch {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const parseValidatedCatalog = (value, expectedScope) => {
|
|
44
|
-
if (getUtf8ByteLength(value) > MAX_RELEASE_CATALOG_WIRE_BYTES) return null;
|
|
45
|
-
try {
|
|
46
|
-
const catalog = JSON.parse(value);
|
|
47
|
-
if (catalog.schemaVersion !== 1 || typeof catalog.catalogId !== "string" || catalog.catalogId.length === 0 || typeof catalog.scopeKey !== "string" || !Number.isSafeInteger(catalog.generation) || (catalog.generation ?? 0) < 1 || typeof catalog.catalogHash !== "string" || !/^sha256:[0-9a-f]{64}$/.test(catalog.catalogHash) || catalog.fallbackPolicy !== "BUILTIN_IF_ACTIVE_INELIGIBLE" || !Array.isArray(catalog.releases) || !catalog.releases.every(isValidReleaseDescriptor) || catalog.rollbackReleases !== undefined && (!Array.isArray(catalog.rollbackReleases) || !catalog.rollbackReleases.every(isValidReleaseDescriptor))) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
if (!hasExpectedReleaseCatalogScope(catalog, expectedScope)) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
const distinctTargetCohorts = new Set([...catalog.releases, ...(catalog.rollbackReleases ?? [])].flatMap(release => release.targetCohorts));
|
|
54
|
-
if (distinctTargetCohorts.size > MAX_DISTINCT_TARGET_COHORTS_PER_SCOPE) {
|
|
55
|
-
return null;
|
|
56
|
-
}
|
|
57
|
-
return catalog;
|
|
58
|
-
} catch {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
13
|
const isValidETag = value => value !== null && value.length > 0 && !value.includes("\r") && !value.includes("\n") && getUtf8ByteLength(value) <= MAX_ETAG_BYTES;
|
|
63
14
|
const serializeCache = (etag, body) => `${CACHE_FORMAT_VERSION}\n${etag}\n${body}`;
|
|
64
15
|
const parseCache = (value, expectedScope, partition) => {
|
|
@@ -73,7 +24,7 @@ const parseCache = (value, expectedScope, partition) => {
|
|
|
73
24
|
const etag = value.slice(versionEnd + 1, etagEnd);
|
|
74
25
|
const body = value.slice(etagEnd + 1);
|
|
75
26
|
if (!isValidETag(etag)) return null;
|
|
76
|
-
const catalog =
|
|
27
|
+
const catalog = parseReleaseCatalog(body, expectedScope);
|
|
77
28
|
if (catalog === null) return null;
|
|
78
29
|
const parsed = {
|
|
79
30
|
catalog,
|
|
@@ -94,29 +45,16 @@ export const createReleaseCatalogCachePartition = input => JSON.stringify({
|
|
|
94
45
|
url: input.url,
|
|
95
46
|
version: 2
|
|
96
47
|
});
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
return await fetch(input.url, {
|
|
109
|
-
headers,
|
|
110
|
-
signal: controller.signal
|
|
111
|
-
});
|
|
112
|
-
} catch (error) {
|
|
113
|
-
if (error instanceof Error && error.name === "AbortError") {
|
|
114
|
-
throw new Error("Request timed out");
|
|
115
|
-
}
|
|
116
|
-
throw error;
|
|
117
|
-
} finally {
|
|
118
|
-
clearTimeout(timeoutId);
|
|
119
|
-
}
|
|
48
|
+
const isEmptyCatalogResponse = response => response.status === 404 && response.headers.get("x-hot-updater-catalog")?.trim().toLowerCase() === "none";
|
|
49
|
+
const fetchCatalogResponse = (input, etag) => {
|
|
50
|
+
const headers = new Headers(input.requestHeaders);
|
|
51
|
+
headers.set("Accept", "application/json");
|
|
52
|
+
if (etag === undefined) headers.delete("If-None-Match");else headers.set("If-None-Match", etag);
|
|
53
|
+
return fetchUpdateResponse({
|
|
54
|
+
...input,
|
|
55
|
+
resource: "catalog",
|
|
56
|
+
requestHeaders: Object.fromEntries(headers.entries())
|
|
57
|
+
});
|
|
120
58
|
};
|
|
121
59
|
const readValidatedCache = async (partition, expectedScope) => {
|
|
122
60
|
const value = await readNativeReleaseCatalogCache(partition);
|
|
@@ -127,15 +65,22 @@ const readValidatedCache = async (partition, expectedScope) => {
|
|
|
127
65
|
}
|
|
128
66
|
return cached;
|
|
129
67
|
};
|
|
130
|
-
const consumeSuccessfulResponse = async (
|
|
68
|
+
const consumeSuccessfulResponse = async ({
|
|
69
|
+
response,
|
|
70
|
+
body
|
|
71
|
+
}, input, partition) => {
|
|
72
|
+
// The server marks the 404 of a scope that has no catalog yet: no update,
|
|
73
|
+
// not a failure. Any other 404 is a wrong baseURL or route.
|
|
74
|
+
if (isEmptyCatalogResponse(response)) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
131
77
|
if (response.status !== 200) {
|
|
132
|
-
throw new
|
|
78
|
+
throw new UpdateHttpError(response.status, response.statusText);
|
|
133
79
|
}
|
|
134
|
-
const
|
|
135
|
-
const catalog = parseValidatedCatalog(body, input.expectedScope);
|
|
80
|
+
const catalog = parseReleaseCatalog(body, input.expectedScope);
|
|
136
81
|
if (catalog === null) {
|
|
137
82
|
await removeNativeReleaseCatalogCache(partition);
|
|
138
|
-
throw new
|
|
83
|
+
throw new InvalidUpdateResponseError("Received an invalid Release catalog");
|
|
139
84
|
}
|
|
140
85
|
const etag = response.headers.get("etag");
|
|
141
86
|
if (isValidETag(etag)) {
|
|
@@ -157,11 +102,16 @@ const consumeSuccessfulResponse = async (response, input, partition) => {
|
|
|
157
102
|
}
|
|
158
103
|
return catalog;
|
|
159
104
|
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Fetches a scope's catalog, or null when the server answers that the scope
|
|
108
|
+
* has none (a 404 with `x-hot-updater-catalog: none`).
|
|
109
|
+
*/
|
|
160
110
|
export const fetchReleaseCatalogWithCache = async input => {
|
|
161
111
|
const partition = createReleaseCatalogCachePartition(input);
|
|
162
112
|
const cached = await readValidatedCache(partition, input.expectedScope);
|
|
163
113
|
const response = await fetchCatalogResponse(input, cached?.etag);
|
|
164
|
-
if (response.status === 304) {
|
|
114
|
+
if (response.response.status === 304) {
|
|
165
115
|
if (cached !== null) return cached.catalog;
|
|
166
116
|
const repairResponse = await fetchCatalogResponse(input);
|
|
167
117
|
return consumeSuccessfulResponse(repairResponse, input, partition);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_TARGET_COHORTS_PER_RELEASE","MAX_COMPILED_CATALOG_BYTES","MAX_DISTINCT_TARGET_COHORTS_PER_SCOPE","NUMERIC_COHORT_SIZE","isUUIDv7","parseReleaseCatalogScopeKey","CACHE_FORMAT_VERSION","MAX_ETAG_BYTES","MAX_RELEASE_CATALOG_WIRE_BYTES","MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES","readNativeReleaseCatalogCache","partition","writeNativeReleaseCatalogCache","payload","removeNativeReleaseCatalogCache","lastParsedCache","getUtf8ByteLength","value","bytes","index","length","code","charCodeAt","isStringArray","Array","isArray","every","entry","isValidReleaseDescriptor","descriptor","releaseId","kind","bundleId","Number","isSafeInteger","rolloutCohortCount","targetCohorts","shouldForceUpdate","message","hasExpectedReleaseCatalogScope","catalog","expected","parsed","scopeKey","channelKey","platform","strategy","fingerprintHash","parseValidatedCatalog","expectedScope","JSON","parse","schemaVersion","catalogId","generation","catalogHash","test","fallbackPolicy","releases","rollbackReleases","undefined","distinctTargetCohorts","Set","flatMap","release","size","isValidETag","includes","serializeCache","etag","body","parseCache","serialized","versionEnd","indexOf","etagEnd","slice","normalizedHeaders","requestHeaders","headers","Headers","entries","map","name","toLowerCase","sort","firstName","secondName","localeCompare","createReleaseCatalogCachePartition","input","stringify","baseURL","url","version","fetchCatalogResponse","controller","AbortController","timeoutId","setTimeout","abort","requestTimeout","set","delete","fetch","signal","error","Error","clearTimeout","readValidatedCache","cached","consumeSuccessfulResponse","response","status","statusText","text","get","fetchReleaseCatalogWithCache","repairResponse"],"sourceRoot":"../../src","sources":["releaseCatalogCache.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getUtf8ByteLength","MAX_RELEASE_CATALOG_WIRE_BYTES","parseReleaseCatalog","fetchUpdateResponse","InvalidUpdateResponseError","UpdateHttpError","CACHE_FORMAT_VERSION","MAX_ETAG_BYTES","MAX_RELEASE_CATALOG_CACHE_ENTRY_BYTES","readNativeReleaseCatalogCache","partition","writeNativeReleaseCatalogCache","payload","removeNativeReleaseCatalogCache","lastParsedCache","isValidETag","value","length","includes","serializeCache","etag","body","parseCache","expectedScope","serialized","versionEnd","indexOf","etagEnd","slice","catalog","parsed","normalizedHeaders","requestHeaders","headers","Headers","entries","map","name","toLowerCase","sort","firstName","secondName","localeCompare","createReleaseCatalogCachePartition","input","JSON","stringify","baseURL","url","version","isEmptyCatalogResponse","response","status","get","trim","fetchCatalogResponse","set","undefined","delete","resource","Object","fromEntries","readValidatedCache","cached","consumeSuccessfulResponse","statusText","fetchReleaseCatalogWithCache","repairResponse"],"sourceRoot":"../../src","sources":["releaseCatalogCache.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/sdkVersion.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HOT_UPDATER_SDK_VERSION"],"sourceRoot":"../../src","sources":["sdkVersion.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"names":["HOT_UPDATER_SDK_VERSION"],"sourceRoot":"../../src","sources":["sdkVersion.ts"],"mappings":";;AAAA,OAAO,MAAMA,uBAAuB,GAAG,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../../src","sources":["specs/NativeHotUpdater.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAyNlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,YAAY,CAAC","ignoreList":[]}
|
package/lib/module/store.js
CHANGED
|
@@ -21,7 +21,7 @@ const areDiffDetailsEqual = (left, right) => {
|
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
const areStatesEqual = (left, right) => {
|
|
24
|
-
return left.progress === right.progress && left.
|
|
24
|
+
return left.progress === right.progress && left.isUpdateDownloaded === right.isUpdateDownloaded && left.artifactType === right.artifactType && areDiffDetailsEqual(left.details, right.details);
|
|
25
25
|
};
|
|
26
26
|
const normalizeByteCount = value => {
|
|
27
27
|
if (typeof value !== "number" || !Number.isFinite(value) || value < 0) {
|
|
@@ -35,8 +35,6 @@ const normalizeDownloadPath = value => {
|
|
|
35
35
|
const createHotUpdaterStore = () => {
|
|
36
36
|
let state = {
|
|
37
37
|
progress: 0,
|
|
38
|
-
downloadedBytes: undefined,
|
|
39
|
-
totalBytes: undefined,
|
|
40
38
|
isUpdateDownloaded: false,
|
|
41
39
|
artifactType: null,
|
|
42
40
|
details: null
|
|
@@ -98,9 +96,6 @@ const createHotUpdaterStore = () => {
|
|
|
98
96
|
if (newState.details === undefined) {
|
|
99
97
|
nextState.details = state.details;
|
|
100
98
|
}
|
|
101
|
-
if (nextState.artifactType !== "diff") {
|
|
102
|
-
nextState.details = null;
|
|
103
|
-
}
|
|
104
99
|
if (areStatesEqual(state, nextState)) {
|
|
105
100
|
return;
|
|
106
101
|
}
|
|
@@ -110,10 +105,8 @@ const createHotUpdaterStore = () => {
|
|
|
110
105
|
const applyProgressEvent = event => {
|
|
111
106
|
setState({
|
|
112
107
|
artifactType: event.artifactType,
|
|
113
|
-
details:
|
|
114
|
-
|
|
115
|
-
progress: event.progress,
|
|
116
|
-
totalBytes: event.artifactType === "archive" ? normalizeByteCount(event.totalBytes) : undefined
|
|
108
|
+
details: normalizeDiffDetails(event.details),
|
|
109
|
+
progress: event.progress
|
|
117
110
|
});
|
|
118
111
|
};
|
|
119
112
|
const subscribe = listener => {
|
package/lib/module/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSyncExternalStoreExports","addListener","useSyncExternalStoreWithSelector","areDiffDetailsEqual","left","right","totalFilesCount","completedFilesCount","files","length","every","leftFile","index","rightFile","undefined","order","path","downloadPath","downloadedBytes","progress","status","totalBytes","areStatesEqual","isUpdateDownloaded","artifactType","details","normalizeByteCount","value","Number","isFinite","Math","round","normalizeDownloadPath","createHotUpdaterStore","state","getSnapshot","listeners","Set","isEmitScheduled","emitChange","scheduleFrame","requestAnimationFrame","callback","listener","normalizeDiffDetails","max","normalizedFiles","map","file","min","sort","setState","newState","nextState","applyProgressEvent","event","subscribe","add","delete","hotUpdaterStore","useHotUpdaterStore","selector","snapshot"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":";;AAAA,OAAOA,2BAA2B,MAAM,4CAA4C;AAOpF,SAASC,WAAW,QAAQ,aAAU;
|
|
1
|
+
{"version":3,"names":["useSyncExternalStoreExports","addListener","useSyncExternalStoreWithSelector","areDiffDetailsEqual","left","right","totalFilesCount","completedFilesCount","files","length","every","leftFile","index","rightFile","undefined","order","path","downloadPath","downloadedBytes","progress","status","totalBytes","areStatesEqual","isUpdateDownloaded","artifactType","details","normalizeByteCount","value","Number","isFinite","Math","round","normalizeDownloadPath","createHotUpdaterStore","state","getSnapshot","listeners","Set","isEmitScheduled","emitChange","scheduleFrame","requestAnimationFrame","callback","listener","normalizeDiffDetails","max","normalizedFiles","map","file","min","sort","setState","newState","nextState","applyProgressEvent","event","subscribe","add","delete","hotUpdaterStore","useHotUpdaterStore","selector","snapshot"],"sourceRoot":"../../src","sources":["store.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { HotUpdaterError } from "./error.js";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A response the SDK cannot use: a malformed or stale catalog, an artifact
|
|
7
|
+
* in another protocol, or an invalid URL.
|
|
8
|
+
*/
|
|
9
|
+
export class InvalidUpdateResponseError extends HotUpdaterError {
|
|
10
|
+
constructor(message, options) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.name = "InvalidUpdateResponseError";
|
|
13
|
+
if (options?.cause !== undefined) this.cause = options.cause;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** A request the server answered with a status the SDK does not accept. */
|
|
18
|
+
export class UpdateHttpError extends HotUpdaterError {
|
|
19
|
+
constructor(status, statusText) {
|
|
20
|
+
super(`Request failed with HTTP ${status}${statusText ? ` ${statusText}` : ""}`);
|
|
21
|
+
this.status = status;
|
|
22
|
+
this.name = "UpdateHttpError";
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const STAGES = ["check", "download", "install"];
|
|
26
|
+
const REASONS = ["network", "http", "invalid_response", "hash_mismatch", "signature", "patch", "extract", "storage", "unknown"];
|
|
27
|
+
const RESOURCES = ["catalog", "artifact", "manifest", "file", "patch", "archive"];
|
|
28
|
+
const TRANSPORTS = ["timeout", "dns", "tls", "connection", "offline", "cancelled"];
|
|
29
|
+
/** An S3, R2, or GCS error code: letters, digits, and punctuation only. */
|
|
30
|
+
const ORIGIN_CODE = /^[A-Za-z0-9._-]{1,64}$/;
|
|
31
|
+
const oneOf = (values, value) => values.includes(value);
|
|
32
|
+
const readNativeClassification = error => {
|
|
33
|
+
if (!("code" in error) || typeof error.code !== "string") return undefined;
|
|
34
|
+
const userInfo = "userInfo" in error && typeof error.userInfo === "object" ? error.userInfo : null;
|
|
35
|
+
const {
|
|
36
|
+
stage,
|
|
37
|
+
reason,
|
|
38
|
+
resource,
|
|
39
|
+
transport,
|
|
40
|
+
originCode
|
|
41
|
+
} = userInfo ?? {};
|
|
42
|
+
// Native classifies every failure of its download and install; a rejection
|
|
43
|
+
// without it, such as a stale selection, is not an update failure.
|
|
44
|
+
if (!oneOf(STAGES, stage) || !oneOf(REASONS, reason)) return null;
|
|
45
|
+
const httpStatus = Number(userInfo?.httpStatus);
|
|
46
|
+
return {
|
|
47
|
+
stage,
|
|
48
|
+
reason,
|
|
49
|
+
...(oneOf(RESOURCES, resource) ? {
|
|
50
|
+
resource
|
|
51
|
+
} : {}),
|
|
52
|
+
...(reason === "http" && Number.isSafeInteger(httpStatus) ? {
|
|
53
|
+
httpStatus
|
|
54
|
+
} : {}),
|
|
55
|
+
...(reason === "http" && typeof originCode === "string" && ORIGIN_CODE.test(originCode) ? {
|
|
56
|
+
originCode
|
|
57
|
+
} : {}),
|
|
58
|
+
...(reason === "network" && oneOf(TRANSPORTS, transport) ? {
|
|
59
|
+
transport
|
|
60
|
+
} : {})
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Where and why an update failed, or null when the error is not an update
|
|
66
|
+
* failure. Native rejections carry their own classification; an error the
|
|
67
|
+
* SDK's JavaScript raised happened in `stage`, fetching `resource` when one
|
|
68
|
+
* is given.
|
|
69
|
+
*/
|
|
70
|
+
export const classifyUpdateError = (error, stage, resource) => {
|
|
71
|
+
if (typeof error === "object" && error !== null) {
|
|
72
|
+
const native = readNativeClassification(error);
|
|
73
|
+
if (native !== undefined) return native;
|
|
74
|
+
}
|
|
75
|
+
const scope = {
|
|
76
|
+
stage,
|
|
77
|
+
...(resource === undefined ? {} : {
|
|
78
|
+
resource
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
// Names, not classes, so an error from another copy of a module still
|
|
82
|
+
// classifies, as it does across test module resets.
|
|
83
|
+
const name = error instanceof Error ? error.name : null;
|
|
84
|
+
// A selection that became stale is a race between checks, not a failure.
|
|
85
|
+
if (name === "StaleReleaseCatalogError") return null;
|
|
86
|
+
if (name === "UpdateHttpError") {
|
|
87
|
+
return {
|
|
88
|
+
...scope,
|
|
89
|
+
reason: "http",
|
|
90
|
+
httpStatus: error.status
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
if (name === "InvalidUpdateResponseError" || name === "SyntaxError") {
|
|
94
|
+
return {
|
|
95
|
+
...scope,
|
|
96
|
+
reason: "invalid_response"
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (error instanceof Error && error.message === "Request timed out") {
|
|
100
|
+
return {
|
|
101
|
+
...scope,
|
|
102
|
+
reason: "network",
|
|
103
|
+
transport: "timeout"
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
if (name === "AbortError") {
|
|
107
|
+
return {
|
|
108
|
+
...scope,
|
|
109
|
+
reason: "network",
|
|
110
|
+
transport: "cancelled"
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (name === "TypeError") {
|
|
114
|
+
// fetch rejects with a TypeError when no response arrives, without
|
|
115
|
+
// saying why.
|
|
116
|
+
return {
|
|
117
|
+
...scope,
|
|
118
|
+
reason: "network"
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return {
|
|
122
|
+
...scope,
|
|
123
|
+
reason: "unknown"
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=updateError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["HotUpdaterError","InvalidUpdateResponseError","constructor","message","options","name","cause","undefined","UpdateHttpError","status","statusText","STAGES","REASONS","RESOURCES","TRANSPORTS","ORIGIN_CODE","oneOf","values","value","includes","readNativeClassification","error","code","userInfo","stage","reason","resource","transport","originCode","httpStatus","Number","isSafeInteger","test","classifyUpdateError","native","scope","Error"],"sourceRoot":"../../src","sources":["updateError.ts"],"mappings":"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","ignoreList":[]}
|