@vanikya/ota-react-native 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/com/otaupdate/OTAUpdateHelper.kt +90 -0
- package/app.plugin.js +81 -109
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/utils/storage.js +9 -25
- package/lib/commonjs/utils/storage.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/utils/storage.js +9 -25
- package/lib/module/utils/storage.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils/storage.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/utils/storage.ts +9 -33
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
package com.otaupdate
|
|
2
|
+
|
|
3
|
+
import android.content.Context
|
|
4
|
+
import android.content.SharedPreferences
|
|
5
|
+
import android.util.Log
|
|
6
|
+
import java.io.File
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Helper object for OTA Update bundle loading.
|
|
10
|
+
* This is called from MainApplication.getJSBundleFile() to get the OTA bundle path.
|
|
11
|
+
*/
|
|
12
|
+
object OTAUpdateHelper {
|
|
13
|
+
private const val TAG = "OTAUpdate"
|
|
14
|
+
private const val PREFS_NAME = "OTAUpdate"
|
|
15
|
+
private const val KEY_BUNDLE_PATH = "BundlePath"
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get the JS bundle file path for React Native to load.
|
|
19
|
+
* Returns the OTA bundle path if available and valid, otherwise null (loads default bundle).
|
|
20
|
+
*
|
|
21
|
+
* @param context Application context
|
|
22
|
+
* @return Bundle file path or null
|
|
23
|
+
*/
|
|
24
|
+
@JvmStatic
|
|
25
|
+
fun getJSBundleFile(context: Context): String? {
|
|
26
|
+
return try {
|
|
27
|
+
val prefs: SharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
|
|
28
|
+
val bundlePath = prefs.getString(KEY_BUNDLE_PATH, null)
|
|
29
|
+
|
|
30
|
+
Log.d(TAG, "getJSBundleFile called, stored path: $bundlePath")
|
|
31
|
+
|
|
32
|
+
if (bundlePath.isNullOrEmpty()) {
|
|
33
|
+
Log.d(TAG, "No OTA bundle path stored, loading default bundle")
|
|
34
|
+
return null
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
val file = File(bundlePath)
|
|
38
|
+
if (!file.exists()) {
|
|
39
|
+
Log.w(TAG, "OTA bundle file does not exist: $bundlePath")
|
|
40
|
+
// Clear invalid path
|
|
41
|
+
prefs.edit().remove(KEY_BUNDLE_PATH).commit()
|
|
42
|
+
return null
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (!file.canRead()) {
|
|
46
|
+
Log.w(TAG, "OTA bundle file is not readable: $bundlePath")
|
|
47
|
+
return null
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
val fileSize = file.length()
|
|
51
|
+
if (fileSize < 100) {
|
|
52
|
+
Log.w(TAG, "OTA bundle file is too small (${fileSize} bytes), likely corrupted")
|
|
53
|
+
prefs.edit().remove(KEY_BUNDLE_PATH).commit()
|
|
54
|
+
return null
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
Log.d(TAG, "Loading OTA bundle: $bundlePath ($fileSize bytes)")
|
|
58
|
+
bundlePath
|
|
59
|
+
} catch (e: Exception) {
|
|
60
|
+
Log.e(TAG, "Error getting JS bundle file: ${e.message}", e)
|
|
61
|
+
null
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Check if an OTA bundle is pending to be loaded.
|
|
67
|
+
*
|
|
68
|
+
* @param context Application context
|
|
69
|
+
* @return true if OTA bundle is available
|
|
70
|
+
*/
|
|
71
|
+
@JvmStatic
|
|
72
|
+
fun hasPendingBundle(context: Context): Boolean {
|
|
73
|
+
val prefs: SharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
|
|
74
|
+
val bundlePath = prefs.getString(KEY_BUNDLE_PATH, null)
|
|
75
|
+
if (bundlePath.isNullOrEmpty()) return false
|
|
76
|
+
return File(bundlePath).exists()
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Clear the pending OTA bundle.
|
|
81
|
+
*
|
|
82
|
+
* @param context Application context
|
|
83
|
+
*/
|
|
84
|
+
@JvmStatic
|
|
85
|
+
fun clearPendingBundle(context: Context) {
|
|
86
|
+
val prefs: SharedPreferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
|
|
87
|
+
prefs.edit().remove(KEY_BUNDLE_PATH).commit()
|
|
88
|
+
Log.d(TAG, "Pending bundle cleared")
|
|
89
|
+
}
|
|
90
|
+
}
|
package/app.plugin.js
CHANGED
|
@@ -4,7 +4,7 @@ const { withMainApplication, withAppDelegate } = require('@expo/config-plugins')
|
|
|
4
4
|
* OTA Update Expo Config Plugin
|
|
5
5
|
*
|
|
6
6
|
* This plugin modifies the native code to enable OTA bundle loading:
|
|
7
|
-
* - Android: Overrides getJSBundleFile() in MainApplication.kt
|
|
7
|
+
* - Android: Overrides getJSBundleFile() in MainApplication.kt using OTAUpdateHelper
|
|
8
8
|
* - iOS: Modifies bundleURL() in AppDelegate.swift
|
|
9
9
|
*
|
|
10
10
|
* The modifications check SharedPreferences (Android) / UserDefaults (iOS)
|
|
@@ -16,153 +16,123 @@ function withOTAUpdateAndroid(config) {
|
|
|
16
16
|
let contents = config.modResults.contents;
|
|
17
17
|
|
|
18
18
|
// Check if already modified
|
|
19
|
-
if (contents.includes('
|
|
20
|
-
console.log('[OTAUpdate] Android:
|
|
19
|
+
if (contents.includes('OTAUpdateHelper')) {
|
|
20
|
+
console.log('[OTAUpdate] Android: OTAUpdateHelper already present, skipping');
|
|
21
21
|
return config;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
// Add
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
if
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
contents = contents.slice(0, insertPos) +
|
|
24
|
+
// Add import for OTAUpdateHelper
|
|
25
|
+
const packageMatch = contents.match(/^package\s+[\w.]+\s*\n/m);
|
|
26
|
+
if (packageMatch) {
|
|
27
|
+
const insertPos = packageMatch.index + packageMatch[0].length;
|
|
28
|
+
// Check if import section exists
|
|
29
|
+
if (!contents.includes('import com.otaupdate.OTAUpdateHelper')) {
|
|
30
|
+
const importStatement = `\nimport com.otaupdate.OTAUpdateHelper\n`;
|
|
31
|
+
contents = contents.slice(0, insertPos) + importStatement + contents.slice(insertPos);
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
const reactNativeHostPattern = /(override\s+val\s+reactNativeHost\s*:\s*ReactNativeHost\s*=\s*object\s*:\s*DefaultReactNativeHost\s*\(\s*this\s*\)\s*\{)/;
|
|
38
|
-
|
|
39
|
-
if (reactNativeHostPattern.test(contents)) {
|
|
40
|
-
const getJSBundleFileOverride = `
|
|
35
|
+
// The getJSBundleFile override that uses our helper
|
|
36
|
+
const getJSBundleFileOverride = `
|
|
41
37
|
override fun getJSBundleFile(): String? {
|
|
42
|
-
|
|
43
|
-
val bundlePath = prefs.getString("BundlePath", null)
|
|
44
|
-
android.util.Log.d("OTAUpdate", "getJSBundleFile called, stored path: $bundlePath")
|
|
45
|
-
if (bundlePath != null) {
|
|
46
|
-
val file = File(bundlePath)
|
|
47
|
-
if (file.exists() && file.canRead()) {
|
|
48
|
-
android.util.Log.d("OTAUpdate", "Loading OTA bundle: $bundlePath (${file.length()} bytes)")
|
|
49
|
-
return bundlePath
|
|
50
|
-
} else {
|
|
51
|
-
android.util.Log.w("OTAUpdate", "OTA bundle not found or not readable: $bundlePath, exists=${file.exists()}")
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
android.util.Log.d("OTAUpdate", "Loading default bundle")
|
|
55
|
-
return null
|
|
38
|
+
return OTAUpdateHelper.getJSBundleFile(applicationContext)
|
|
56
39
|
}
|
|
57
40
|
`;
|
|
41
|
+
|
|
42
|
+
// Strategy 1: Look for "object : DefaultReactNativeHost" pattern
|
|
43
|
+
// This handles most Expo SDK 50+ apps
|
|
44
|
+
const defaultHostPattern = /(object\s*:\s*DefaultReactNativeHost\s*\([^)]*\)\s*\{)/;
|
|
45
|
+
|
|
46
|
+
if (defaultHostPattern.test(contents)) {
|
|
47
|
+
contents = contents.replace(
|
|
48
|
+
defaultHostPattern,
|
|
49
|
+
`$1${getJSBundleFileOverride}`
|
|
50
|
+
);
|
|
51
|
+
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (DefaultReactNativeHost pattern)');
|
|
52
|
+
config.modResults.contents = contents;
|
|
53
|
+
return config;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Strategy 2: Look for "override val reactNativeHost" with object block
|
|
57
|
+
const reactNativeHostPattern = /(override\s+val\s+reactNativeHost[^=]*=\s*object[^{]*\{)/;
|
|
58
|
+
|
|
59
|
+
if (reactNativeHostPattern.test(contents)) {
|
|
58
60
|
contents = contents.replace(
|
|
59
61
|
reactNativeHostPattern,
|
|
60
62
|
`$1${getJSBundleFileOverride}`
|
|
61
63
|
);
|
|
62
|
-
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (pattern
|
|
64
|
+
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (reactNativeHost pattern)');
|
|
63
65
|
config.modResults.contents = contents;
|
|
64
66
|
return config;
|
|
65
67
|
}
|
|
66
68
|
|
|
67
|
-
// Strategy
|
|
68
|
-
const
|
|
69
|
+
// Strategy 3: Look for any ReactNativeHost object block
|
|
70
|
+
const anyHostPattern = /(ReactNativeHost\s*\([^)]*\)\s*\{)/;
|
|
69
71
|
|
|
70
|
-
if (
|
|
71
|
-
const getJSBundleFileOverride = `
|
|
72
|
-
override fun getJSBundleFile(): String? {
|
|
73
|
-
val prefs: SharedPreferences = applicationContext.getSharedPreferences("OTAUpdate", android.content.Context.MODE_PRIVATE)
|
|
74
|
-
val bundlePath = prefs.getString("BundlePath", null)
|
|
75
|
-
android.util.Log.d("OTAUpdate", "getJSBundleFile called, stored path: $bundlePath")
|
|
76
|
-
if (bundlePath != null) {
|
|
77
|
-
val file = File(bundlePath)
|
|
78
|
-
if (file.exists() && file.canRead()) {
|
|
79
|
-
android.util.Log.d("OTAUpdate", "Loading OTA bundle: $bundlePath (${file.length()} bytes)")
|
|
80
|
-
return bundlePath
|
|
81
|
-
} else {
|
|
82
|
-
android.util.Log.w("OTAUpdate", "OTA bundle not found or not readable: $bundlePath, exists=${file.exists()}")
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
android.util.Log.d("OTAUpdate", "Loading default bundle")
|
|
86
|
-
return null
|
|
87
|
-
}
|
|
88
|
-
`;
|
|
72
|
+
if (anyHostPattern.test(contents)) {
|
|
89
73
|
contents = contents.replace(
|
|
90
|
-
|
|
74
|
+
anyHostPattern,
|
|
91
75
|
`$1${getJSBundleFileOverride}`
|
|
92
76
|
);
|
|
93
|
-
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (pattern
|
|
77
|
+
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (generic ReactNativeHost pattern)');
|
|
94
78
|
config.modResults.contents = contents;
|
|
95
79
|
return config;
|
|
96
80
|
}
|
|
97
81
|
|
|
98
|
-
// Strategy
|
|
99
|
-
|
|
82
|
+
// Strategy 4: Find the class and look for the host definition more flexibly
|
|
83
|
+
// Look for "override fun getUseDeveloperSupport" and insert before it
|
|
84
|
+
const devSupportPattern = /([\t ]*)(override\s+fun\s+getUseDeveloperSupport)/;
|
|
100
85
|
|
|
101
86
|
if (devSupportPattern.test(contents)) {
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
android.util.Log.d("OTAUpdate", "getJSBundleFile called, stored path: $bundlePath")
|
|
106
|
-
if (bundlePath != null) {
|
|
107
|
-
val file = File(bundlePath)
|
|
108
|
-
if (file.exists() && file.canRead()) {
|
|
109
|
-
android.util.Log.d("OTAUpdate", "Loading OTA bundle: $bundlePath (${file.length()} bytes)")
|
|
110
|
-
return bundlePath
|
|
111
|
-
} else {
|
|
112
|
-
android.util.Log.w("OTAUpdate", "OTA bundle not found or not readable: $bundlePath, exists=${file.exists()}")
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
android.util.Log.d("OTAUpdate", "Loading default bundle")
|
|
116
|
-
return null
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
`;
|
|
87
|
+
const indentMatch = contents.match(devSupportPattern);
|
|
88
|
+
const indent = indentMatch ? indentMatch[1] : ' ';
|
|
89
|
+
const overrideCode = `${indent}override fun getJSBundleFile(): String? {\n${indent} return OTAUpdateHelper.getJSBundleFile(applicationContext)\n${indent}}\n\n${indent}`;
|
|
120
90
|
contents = contents.replace(
|
|
121
91
|
devSupportPattern,
|
|
122
|
-
`${
|
|
92
|
+
`${overrideCode}$2`
|
|
123
93
|
);
|
|
124
|
-
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (
|
|
94
|
+
console.log('[OTAUpdate] Android: Successfully injected getJSBundleFile (before getUseDeveloperSupport)');
|
|
125
95
|
config.modResults.contents = contents;
|
|
126
96
|
return config;
|
|
127
97
|
}
|
|
128
98
|
|
|
129
|
-
// Strategy
|
|
130
|
-
|
|
99
|
+
// Strategy 5: Last resort - find any class with Application and inject
|
|
100
|
+
// Look for the ReactApplication interface implementation
|
|
101
|
+
const reactAppPattern = /(class\s+\w+\s*:\s*Application\s*\(\s*\)\s*,\s*ReactApplication\s*\{)/;
|
|
131
102
|
|
|
132
|
-
if (
|
|
133
|
-
// Find
|
|
134
|
-
const
|
|
135
|
-
if (
|
|
136
|
-
const insertPos =
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (bundlePath != null) {
|
|
143
|
-
val file = File(bundlePath)
|
|
144
|
-
if (file.exists() && file.canRead()) {
|
|
145
|
-
android.util.Log.d("OTAUpdate", "Loading OTA bundle: $bundlePath (${file.length()} bytes)")
|
|
146
|
-
return bundlePath
|
|
147
|
-
} else {
|
|
148
|
-
android.util.Log.w("OTAUpdate", "OTA bundle not found or not readable: $bundlePath, exists=${file.exists()}")
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
android.util.Log.d("OTAUpdate", "Loading default bundle")
|
|
152
|
-
return null
|
|
153
|
-
}
|
|
103
|
+
if (reactAppPattern.test(contents)) {
|
|
104
|
+
// Find where to inject - after the class opening
|
|
105
|
+
const classMatch = contents.match(reactAppPattern);
|
|
106
|
+
if (classMatch) {
|
|
107
|
+
const insertPos = classMatch.index + classMatch[0].length;
|
|
108
|
+
const helperComment = `
|
|
109
|
+
// OTA Update: Override to load OTA bundle if available
|
|
110
|
+
private fun getOTABundleFile(): String? {
|
|
111
|
+
return OTAUpdateHelper.getJSBundleFile(applicationContext)
|
|
112
|
+
}
|
|
154
113
|
`;
|
|
155
|
-
contents = contents.slice(0, insertPos) +
|
|
156
|
-
console.log('[OTAUpdate] Android:
|
|
157
|
-
|
|
158
|
-
return config;
|
|
114
|
+
contents = contents.slice(0, insertPos) + helperComment + contents.slice(insertPos);
|
|
115
|
+
console.log('[OTAUpdate] Android: Added OTA helper method to Application class');
|
|
116
|
+
console.log('[OTAUpdate] Android: WARNING - You may need to manually wire getJSBundleFile() override');
|
|
159
117
|
}
|
|
160
118
|
}
|
|
161
119
|
|
|
162
|
-
|
|
163
|
-
console.warn('[OTAUpdate] Android:
|
|
120
|
+
// Log the current MainApplication structure for debugging
|
|
121
|
+
console.warn('[OTAUpdate] Android: Could not find standard injection point');
|
|
122
|
+
console.warn('[OTAUpdate] Android: Please ensure your MainApplication.kt has a ReactNativeHost definition');
|
|
123
|
+
console.warn('[OTAUpdate] Android: You may need to manually add the getJSBundleFile override');
|
|
164
124
|
console.warn('[OTAUpdate] Android: See https://vanikya.github.io/ota-update/ for manual setup instructions');
|
|
165
125
|
|
|
126
|
+
// Log first 100 lines for debugging
|
|
127
|
+
const lines = contents.split('\n').slice(0, 100);
|
|
128
|
+
console.log('[OTAUpdate] Android: First 100 lines of MainApplication.kt:');
|
|
129
|
+
lines.forEach((line, i) => {
|
|
130
|
+
if (line.includes('ReactNativeHost') || line.includes('DefaultReactNativeHost') ||
|
|
131
|
+
line.includes('getJSBundleFile') || line.includes('override')) {
|
|
132
|
+
console.log(` ${i + 1}: ${line}`);
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
|
|
166
136
|
config.modResults.contents = contents;
|
|
167
137
|
return config;
|
|
168
138
|
});
|
|
@@ -196,6 +166,8 @@ function withOTAUpdateIOS(config) {
|
|
|
196
166
|
return URL(fileURLWithPath: path)
|
|
197
167
|
} else {
|
|
198
168
|
NSLog("[OTAUpdate] OTA bundle not found at path: %@", path)
|
|
169
|
+
// Clear invalid path
|
|
170
|
+
UserDefaults.standard.removeObject(forKey: "OTAUpdateBundlePath")
|
|
199
171
|
}
|
|
200
172
|
}
|
|
201
173
|
NSLog("[OTAUpdate] Loading default bundle")
|
|
@@ -204,14 +176,12 @@ function withOTAUpdateIOS(config) {
|
|
|
204
176
|
`;
|
|
205
177
|
|
|
206
178
|
// Strategy 1: Look for bundleURL() with flexible pattern
|
|
207
|
-
// Match: func bundleURL() -> URL? { ... } with any content inside
|
|
208
179
|
const bundleURLPattern1 = /(func\s+bundleURL\s*\(\s*\)\s*->\s*URL\?\s*\{)([\s\S]*?)(\n\s*\})/;
|
|
209
180
|
|
|
210
181
|
if (bundleURLPattern1.test(contents)) {
|
|
211
182
|
contents = contents.replace(
|
|
212
183
|
bundleURLPattern1,
|
|
213
184
|
(match, funcStart, funcBody, funcEnd) => {
|
|
214
|
-
// Check if it already has OTA check
|
|
215
185
|
if (funcBody.includes('getOTABundleURL')) {
|
|
216
186
|
return match;
|
|
217
187
|
}
|
|
@@ -291,8 +261,10 @@ ${helperFunction}
|
|
|
291
261
|
// Check for OTA bundle
|
|
292
262
|
NSString *bundlePath = [[NSUserDefaults standardUserDefaults] stringForKey:@"OTAUpdateBundlePath"];
|
|
293
263
|
if (bundlePath && [[NSFileManager defaultManager] fileExistsAtPath:bundlePath]) {
|
|
264
|
+
NSLog(@"[OTAUpdate] Loading OTA bundle: %@", bundlePath);
|
|
294
265
|
return [NSURL fileURLWithPath:bundlePath];
|
|
295
266
|
}
|
|
267
|
+
NSLog(@"[OTAUpdate] Loading default bundle");
|
|
296
268
|
`;
|
|
297
269
|
contents = contents.replace(
|
|
298
270
|
sourceURLPattern,
|
package/lib/commonjs/index.js
CHANGED
|
@@ -150,44 +150,28 @@ class ExpoStorageAdapter {
|
|
|
150
150
|
if (__DEV__ && fileInfo.exists) {
|
|
151
151
|
console.log('[OTAUpdate] File size:', fileInfo.size, 'bytes');
|
|
152
152
|
}
|
|
153
|
-
if (ExpoCrypto?.digestStringAsync) {
|
|
154
|
-
// Use digestStringAsync which is more efficient for large files
|
|
155
|
-
// Read file as base64
|
|
156
|
-
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
157
|
-
encoding: ExpoFileSystem.EncodingType.Base64
|
|
158
|
-
});
|
|
159
|
-
if (__DEV__) {
|
|
160
|
-
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
// Use digestStringAsync with base64 encoding
|
|
164
|
-
const hash = await ExpoCrypto.digestStringAsync(ExpoCrypto.CryptoDigestAlgorithm.SHA256, base64, {
|
|
165
|
-
encoding: ExpoCrypto.CryptoEncoding.BASE64
|
|
166
|
-
});
|
|
167
|
-
|
|
168
|
-
// digestStringAsync with BASE64 encoding returns base64-encoded hash
|
|
169
|
-
// We need to convert it to hex
|
|
170
|
-
const hashBytes = Uint8Array.from(atob(hash), c => c.charCodeAt(0));
|
|
171
|
-
const hexHash = Array.from(hashBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
172
|
-
if (__DEV__) {
|
|
173
|
-
console.log('[OTAUpdate] Hash calculated:', hexHash);
|
|
174
|
-
}
|
|
175
|
-
return hexHash;
|
|
176
|
-
}
|
|
177
153
|
if (ExpoCrypto?.digest) {
|
|
178
|
-
// Read file as base64 and convert to Uint8Array
|
|
154
|
+
// Read file as base64 and convert to Uint8Array for hashing
|
|
179
155
|
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
180
156
|
encoding: ExpoFileSystem.EncodingType.Base64
|
|
181
157
|
});
|
|
182
158
|
if (__DEV__) {
|
|
183
159
|
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
184
160
|
}
|
|
161
|
+
|
|
162
|
+
// Decode base64 to binary - this is what the server hashes
|
|
185
163
|
const binary = atob(base64);
|
|
186
164
|
const bytes = new Uint8Array(binary.length);
|
|
187
165
|
for (let i = 0; i < binary.length; i++) {
|
|
188
166
|
bytes[i] = binary.charCodeAt(i);
|
|
189
167
|
}
|
|
168
|
+
if (__DEV__) {
|
|
169
|
+
console.log('[OTAUpdate] Decoded to binary, length:', bytes.length);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Hash the binary data
|
|
190
173
|
const hashBuffer = await ExpoCrypto.digest(ExpoCrypto.CryptoDigestAlgorithm.SHA256, bytes);
|
|
174
|
+
|
|
191
175
|
// Convert ArrayBuffer to hex
|
|
192
176
|
const hashBytes = new Uint8Array(hashBuffer);
|
|
193
177
|
const hexHash = Array.from(hashBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","normalizePath","path","startsWith","slice","arrayBufferToBase64","buffer","bytes","Uint8Array","chunkSize","chunks","i","length","chunk","subarray","Math","min","binary","j","String","fromCharCode","push","btoa","join","base64ToArrayBuffer","base64","atob","charCodeAt","ExpoFileSystem","OTAUpdateNative","NativeModules","OTAUpdate","ExpoStorageAdapter","getDocumentDirectory","documentDirectory","writeFile","data","ArrayBuffer","writeAsStringAsync","encoding","EncodingType","Base64","readFile","readAsStringAsync","readFileAsBuffer","deleteFile","deleteAsync","idempotent","exists","info","getInfoAsync","makeDirectory","makeDirectoryAsync","intermediates","downloadToFile","url","destPath","__DEV__","console","log","result","downloadAsync","status","Error","fileSize","size","calculateHashFromFile","ExpoCrypto","fileInfo","digestStringAsync","hash","CryptoDigestAlgorithm","SHA256","CryptoEncoding","BASE64","hashBytes","from","c","hexHash","Array","map","b","toString","padStart","digest","hashBuffer","crypto","subtle","NativeStorageAdapter","writeFileBase64","readFileBase64","downloadFile","response","fetch","ok","arrayBuffer","byteLength","calculateSHA256FromFile","calculateSHA256","getStorageAdapter","UpdateStorage","constructor","storage","isExpo","baseDir","baseDirNormalized","ensureDirectory","getNormalizedPath","saveBundle","releaseId","bundlePath","getRawBundlePath","getBundlePath","readBundle","deleteBundle","saveMetadata","update","metadataPath","JSON","stringify","getMetadata","content","parse","clearMetadata","cleanOldBundles","keepReleaseId","downloadBundleToFile","calculateBundleHash","validateBundle","bundleData","preview","trimmed","trim","includes","jsIndicators","pattern","test","clearCorruptedBundle","metadata","isValid","warn","clearNativePendingBundle","error","registerBundleWithNative","restart","applyBundle","normalizedPath","clearPendingBundle","exports"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","normalizePath","path","startsWith","slice","arrayBufferToBase64","buffer","bytes","Uint8Array","chunkSize","chunks","i","length","chunk","subarray","Math","min","binary","j","String","fromCharCode","push","btoa","join","base64ToArrayBuffer","base64","atob","charCodeAt","ExpoFileSystem","OTAUpdateNative","NativeModules","OTAUpdate","ExpoStorageAdapter","getDocumentDirectory","documentDirectory","writeFile","data","ArrayBuffer","writeAsStringAsync","encoding","EncodingType","Base64","readFile","readAsStringAsync","readFileAsBuffer","deleteFile","deleteAsync","idempotent","exists","info","getInfoAsync","makeDirectory","makeDirectoryAsync","intermediates","downloadToFile","url","destPath","__DEV__","console","log","result","downloadAsync","status","Error","fileSize","size","calculateHashFromFile","ExpoCrypto","fileInfo","digest","hashBuffer","CryptoDigestAlgorithm","SHA256","hashBytes","hexHash","Array","from","map","b","toString","padStart","crypto","subtle","NativeStorageAdapter","writeFileBase64","readFileBase64","downloadFile","response","fetch","ok","arrayBuffer","byteLength","calculateSHA256FromFile","hash","calculateSHA256","getStorageAdapter","UpdateStorage","constructor","storage","isExpo","baseDir","baseDirNormalized","ensureDirectory","getNormalizedPath","saveBundle","releaseId","bundlePath","getRawBundlePath","getBundlePath","readBundle","deleteBundle","saveMetadata","update","metadataPath","JSON","stringify","getMetadata","content","parse","clearMetadata","cleanOldBundles","keepReleaseId","downloadBundleToFile","calculateBundleHash","validateBundle","bundleData","preview","trimmed","trim","includes","jsIndicators","pattern","test","clearCorruptedBundle","metadata","isValid","warn","clearNativePendingBundle","error","registerBundleWithNative","restart","applyBundle","normalizedPath","clearPendingBundle","exports"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -10,5 +10,5 @@ export { OTAApiClient, getDeviceInfo } from './utils/api';
|
|
|
10
10
|
export { UpdateStorage, getStorageAdapter } from './utils/storage';
|
|
11
11
|
export { calculateHash, verifyBundleHash, verifySignature, verifyBundle } from './utils/verification';
|
|
12
12
|
// Version info
|
|
13
|
-
export const VERSION = '0.2.
|
|
13
|
+
export const VERSION = '0.2.4';
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -144,44 +144,28 @@ class ExpoStorageAdapter {
|
|
|
144
144
|
if (__DEV__ && fileInfo.exists) {
|
|
145
145
|
console.log('[OTAUpdate] File size:', fileInfo.size, 'bytes');
|
|
146
146
|
}
|
|
147
|
-
if (ExpoCrypto?.digestStringAsync) {
|
|
148
|
-
// Use digestStringAsync which is more efficient for large files
|
|
149
|
-
// Read file as base64
|
|
150
|
-
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
151
|
-
encoding: ExpoFileSystem.EncodingType.Base64
|
|
152
|
-
});
|
|
153
|
-
if (__DEV__) {
|
|
154
|
-
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Use digestStringAsync with base64 encoding
|
|
158
|
-
const hash = await ExpoCrypto.digestStringAsync(ExpoCrypto.CryptoDigestAlgorithm.SHA256, base64, {
|
|
159
|
-
encoding: ExpoCrypto.CryptoEncoding.BASE64
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
// digestStringAsync with BASE64 encoding returns base64-encoded hash
|
|
163
|
-
// We need to convert it to hex
|
|
164
|
-
const hashBytes = Uint8Array.from(atob(hash), c => c.charCodeAt(0));
|
|
165
|
-
const hexHash = Array.from(hashBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
166
|
-
if (__DEV__) {
|
|
167
|
-
console.log('[OTAUpdate] Hash calculated:', hexHash);
|
|
168
|
-
}
|
|
169
|
-
return hexHash;
|
|
170
|
-
}
|
|
171
147
|
if (ExpoCrypto?.digest) {
|
|
172
|
-
// Read file as base64 and convert to Uint8Array
|
|
148
|
+
// Read file as base64 and convert to Uint8Array for hashing
|
|
173
149
|
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
174
150
|
encoding: ExpoFileSystem.EncodingType.Base64
|
|
175
151
|
});
|
|
176
152
|
if (__DEV__) {
|
|
177
153
|
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
178
154
|
}
|
|
155
|
+
|
|
156
|
+
// Decode base64 to binary - this is what the server hashes
|
|
179
157
|
const binary = atob(base64);
|
|
180
158
|
const bytes = new Uint8Array(binary.length);
|
|
181
159
|
for (let i = 0; i < binary.length; i++) {
|
|
182
160
|
bytes[i] = binary.charCodeAt(i);
|
|
183
161
|
}
|
|
162
|
+
if (__DEV__) {
|
|
163
|
+
console.log('[OTAUpdate] Decoded to binary, length:', bytes.length);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Hash the binary data
|
|
184
167
|
const hashBuffer = await ExpoCrypto.digest(ExpoCrypto.CryptoDigestAlgorithm.SHA256, bytes);
|
|
168
|
+
|
|
185
169
|
// Convert ArrayBuffer to hex
|
|
186
170
|
const hashBytes = new Uint8Array(hashBuffer);
|
|
187
171
|
const hexHash = Array.from(hashBytes).map(b => b.toString(16).padStart(2, '0')).join('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","normalizePath","path","startsWith","slice","arrayBufferToBase64","buffer","bytes","Uint8Array","chunkSize","chunks","i","length","chunk","subarray","Math","min","binary","j","String","fromCharCode","push","btoa","join","base64ToArrayBuffer","base64","atob","charCodeAt","ExpoFileSystem","require","OTAUpdateNative","OTAUpdate","ExpoStorageAdapter","getDocumentDirectory","documentDirectory","writeFile","data","ArrayBuffer","writeAsStringAsync","encoding","EncodingType","Base64","readFile","readAsStringAsync","readFileAsBuffer","deleteFile","deleteAsync","idempotent","exists","info","getInfoAsync","makeDirectory","makeDirectoryAsync","intermediates","downloadToFile","url","destPath","__DEV__","console","log","result","downloadAsync","status","Error","fileSize","size","calculateHashFromFile","ExpoCrypto","fileInfo","digestStringAsync","hash","CryptoDigestAlgorithm","SHA256","CryptoEncoding","BASE64","hashBytes","from","c","hexHash","Array","map","b","toString","padStart","digest","hashBuffer","crypto","subtle","NativeStorageAdapter","writeFileBase64","readFileBase64","downloadFile","response","fetch","ok","arrayBuffer","byteLength","calculateSHA256FromFile","calculateSHA256","getStorageAdapter","UpdateStorage","constructor","storage","isExpo","baseDir","baseDirNormalized","ensureDirectory","getNormalizedPath","saveBundle","releaseId","bundlePath","getRawBundlePath","getBundlePath","readBundle","deleteBundle","saveMetadata","update","metadataPath","JSON","stringify","getMetadata","content","parse","clearMetadata","cleanOldBundles","keepReleaseId","downloadBundleToFile","calculateBundleHash","validateBundle","bundleData","preview","trimmed","trim","includes","jsIndicators","pattern","test","clearCorruptedBundle","metadata","isValid","warn","clearNativePendingBundle","error","registerBundleWithNative","restart","applyBundle","normalizedPath","clearPendingBundle"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativeModules","normalizePath","path","startsWith","slice","arrayBufferToBase64","buffer","bytes","Uint8Array","chunkSize","chunks","i","length","chunk","subarray","Math","min","binary","j","String","fromCharCode","push","btoa","join","base64ToArrayBuffer","base64","atob","charCodeAt","ExpoFileSystem","require","OTAUpdateNative","OTAUpdate","ExpoStorageAdapter","getDocumentDirectory","documentDirectory","writeFile","data","ArrayBuffer","writeAsStringAsync","encoding","EncodingType","Base64","readFile","readAsStringAsync","readFileAsBuffer","deleteFile","deleteAsync","idempotent","exists","info","getInfoAsync","makeDirectory","makeDirectoryAsync","intermediates","downloadToFile","url","destPath","__DEV__","console","log","result","downloadAsync","status","Error","fileSize","size","calculateHashFromFile","ExpoCrypto","fileInfo","digest","hashBuffer","CryptoDigestAlgorithm","SHA256","hashBytes","hexHash","Array","from","map","b","toString","padStart","crypto","subtle","NativeStorageAdapter","writeFileBase64","readFileBase64","downloadFile","response","fetch","ok","arrayBuffer","byteLength","calculateSHA256FromFile","hash","calculateSHA256","getStorageAdapter","UpdateStorage","constructor","storage","isExpo","baseDir","baseDirNormalized","ensureDirectory","getNormalizedPath","saveBundle","releaseId","bundlePath","getRawBundlePath","getBundlePath","readBundle","deleteBundle","saveMetadata","update","metadataPath","JSON","stringify","getMetadata","content","parse","clearMetadata","cleanOldBundles","keepReleaseId","downloadBundleToFile","calculateBundleHash","validateBundle","bundleData","preview","trimmed","trim","includes","jsIndicators","pattern","test","clearCorruptedBundle","metadata","isValid","warn","clearNativePendingBundle","error","registerBundleWithNative","restart","applyBundle","normalizedPath","clearPendingBundle"],"sourceRoot":"../../../src","sources":["utils/storage.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,5 +9,5 @@ export { UpdateStorage, getStorageAdapter } from './utils/storage';
|
|
|
9
9
|
export type { StoredUpdate, StorageAdapter } from './utils/storage';
|
|
10
10
|
export { calculateHash, verifyBundleHash, verifySignature, verifyBundle, } from './utils/verification';
|
|
11
11
|
export type { VerificationResult } from './utils/verification';
|
|
12
|
-
export declare const VERSION = "0.2.
|
|
12
|
+
export declare const VERSION = "0.2.4";
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB,IAAI,MAAM,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE7E,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/utils/storage.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB,IAAI,MAAM,CAAC;IAC/B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE7E,qBAAqB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACvD;AAwWD,wBAAgB,iBAAiB,IAAI,cAAc,CAYlD;AAGD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,MAAM,CAAU;;YAUV,eAAe;IAQ7B,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIjC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvE,OAAO,CAAC,gBAAgB;IAIlB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOxD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAS1D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,WAAW,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAe3C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D;;;;;;;OAOG;IACG,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAavG;;;;;;OAMG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B7D;;;;;;OAMG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqEzD;;;;;OAKG;IACG,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IA8B9C;;;;;;;;OAQG;IACG,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB9F;;;OAGG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhD"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
package/src/utils/storage.ts
CHANGED
|
@@ -176,40 +176,8 @@ class ExpoStorageAdapter implements StorageAdapter {
|
|
|
176
176
|
console.log('[OTAUpdate] File size:', (fileInfo as any).size, 'bytes');
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
if (ExpoCrypto?.digestStringAsync) {
|
|
180
|
-
// Use digestStringAsync which is more efficient for large files
|
|
181
|
-
// Read file as base64
|
|
182
|
-
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
183
|
-
encoding: ExpoFileSystem.EncodingType.Base64,
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
if (__DEV__) {
|
|
187
|
-
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Use digestStringAsync with base64 encoding
|
|
191
|
-
const hash = await ExpoCrypto.digestStringAsync(
|
|
192
|
-
ExpoCrypto.CryptoDigestAlgorithm.SHA256,
|
|
193
|
-
base64,
|
|
194
|
-
{ encoding: ExpoCrypto.CryptoEncoding.BASE64 }
|
|
195
|
-
);
|
|
196
|
-
|
|
197
|
-
// digestStringAsync with BASE64 encoding returns base64-encoded hash
|
|
198
|
-
// We need to convert it to hex
|
|
199
|
-
const hashBytes = Uint8Array.from(atob(hash), c => c.charCodeAt(0));
|
|
200
|
-
const hexHash = Array.from(hashBytes)
|
|
201
|
-
.map(b => b.toString(16).padStart(2, '0'))
|
|
202
|
-
.join('');
|
|
203
|
-
|
|
204
|
-
if (__DEV__) {
|
|
205
|
-
console.log('[OTAUpdate] Hash calculated:', hexHash);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
return hexHash;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
179
|
if (ExpoCrypto?.digest) {
|
|
212
|
-
// Read file as base64 and convert to Uint8Array
|
|
180
|
+
// Read file as base64 and convert to Uint8Array for hashing
|
|
213
181
|
const base64 = await ExpoFileSystem.readAsStringAsync(path, {
|
|
214
182
|
encoding: ExpoFileSystem.EncodingType.Base64,
|
|
215
183
|
});
|
|
@@ -218,15 +186,23 @@ class ExpoStorageAdapter implements StorageAdapter {
|
|
|
218
186
|
console.log('[OTAUpdate] File read as base64, length:', base64.length);
|
|
219
187
|
}
|
|
220
188
|
|
|
189
|
+
// Decode base64 to binary - this is what the server hashes
|
|
221
190
|
const binary = atob(base64);
|
|
222
191
|
const bytes = new Uint8Array(binary.length);
|
|
223
192
|
for (let i = 0; i < binary.length; i++) {
|
|
224
193
|
bytes[i] = binary.charCodeAt(i);
|
|
225
194
|
}
|
|
195
|
+
|
|
196
|
+
if (__DEV__) {
|
|
197
|
+
console.log('[OTAUpdate] Decoded to binary, length:', bytes.length);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// Hash the binary data
|
|
226
201
|
const hashBuffer = await ExpoCrypto.digest(
|
|
227
202
|
ExpoCrypto.CryptoDigestAlgorithm.SHA256,
|
|
228
203
|
bytes
|
|
229
204
|
);
|
|
205
|
+
|
|
230
206
|
// Convert ArrayBuffer to hex
|
|
231
207
|
const hashBytes = new Uint8Array(hashBuffer);
|
|
232
208
|
const hexHash = Array.from(hashBytes)
|