@vanikya/ota-react-native 0.2.0 → 0.2.2

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.
Files changed (37) hide show
  1. package/android/src/main/AndroidManifest.xml +2 -0
  2. package/android/src/main/java/com/otaupdate/OTAUpdateModule.kt +116 -25
  3. package/app.plugin.js +53 -12
  4. package/ios/OTAUpdate.swift +29 -0
  5. package/lib/commonjs/OTAProvider.js +37 -0
  6. package/lib/commonjs/OTAProvider.js.map +1 -1
  7. package/lib/commonjs/components/OTADebugPanel.js +426 -0
  8. package/lib/commonjs/components/OTADebugPanel.js.map +1 -0
  9. package/lib/commonjs/hooks/useOTAUpdate.js +38 -2
  10. package/lib/commonjs/hooks/useOTAUpdate.js.map +1 -1
  11. package/lib/commonjs/index.js +10 -1
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/utils/storage.js +79 -4
  14. package/lib/commonjs/utils/storage.js.map +1 -1
  15. package/lib/module/OTAProvider.js +38 -1
  16. package/lib/module/OTAProvider.js.map +1 -1
  17. package/lib/module/components/OTADebugPanel.js +418 -0
  18. package/lib/module/components/OTADebugPanel.js.map +1 -0
  19. package/lib/module/hooks/useOTAUpdate.js +38 -2
  20. package/lib/module/hooks/useOTAUpdate.js.map +1 -1
  21. package/lib/module/index.js +4 -1
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/utils/storage.js +79 -4
  24. package/lib/module/utils/storage.js.map +1 -1
  25. package/lib/typescript/OTAProvider.d.ts.map +1 -1
  26. package/lib/typescript/components/OTADebugPanel.d.ts +18 -0
  27. package/lib/typescript/components/OTADebugPanel.d.ts.map +1 -0
  28. package/lib/typescript/hooks/useOTAUpdate.d.ts.map +1 -1
  29. package/lib/typescript/index.d.ts +2 -1
  30. package/lib/typescript/index.d.ts.map +1 -1
  31. package/lib/typescript/utils/storage.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/OTAProvider.tsx +40 -0
  34. package/src/components/OTADebugPanel.tsx +447 -0
  35. package/src/hooks/useOTAUpdate.ts +49 -2
  36. package/src/index.ts +4 -1
  37. package/src/utils/storage.ts +105 -4
@@ -0,0 +1,418 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { View, Text, TouchableOpacity, ScrollView, StyleSheet, NativeModules, Platform } from 'react-native';
3
+ const {
4
+ OTAUpdate
5
+ } = NativeModules;
6
+ /**
7
+ * Debug panel for testing OTA update functionality.
8
+ * Use this component during development to verify:
9
+ * - Native module is linked correctly
10
+ * - Downloads work properly
11
+ * - Hash calculation works
12
+ * - SharedPreferences/UserDefaults are saved
13
+ * - Bundle loading on restart
14
+ */
15
+ export function OTADebugPanel({
16
+ testBundleUrl,
17
+ serverUrl,
18
+ appSlug
19
+ }) {
20
+ const [logs, setLogs] = useState([]);
21
+ const [isExpanded, setIsExpanded] = useState(true);
22
+ const addLog = (message, type = 'info') => {
23
+ const time = new Date().toLocaleTimeString();
24
+ setLogs(prev => [...prev, {
25
+ time,
26
+ message,
27
+ type
28
+ }]);
29
+ };
30
+ const clearLogs = () => setLogs([]);
31
+
32
+ // Check native module on mount
33
+ useEffect(() => {
34
+ if (OTAUpdate) {
35
+ addLog('Native module found', 'success');
36
+ const docDir = OTAUpdate.getDocumentDirectory?.();
37
+ if (docDir) {
38
+ addLog(`Document directory: ${docDir}`, 'info');
39
+ }
40
+ } else {
41
+ addLog('Native module NOT found - OTA will not work!', 'error');
42
+ }
43
+ }, []);
44
+ const testNativeModule = async () => {
45
+ addLog('Testing native module...');
46
+ if (!OTAUpdate) {
47
+ addLog('Native module not available', 'error');
48
+ return;
49
+ }
50
+ try {
51
+ // Test getDocumentDirectory
52
+ const docDir = OTAUpdate.getDocumentDirectory();
53
+ addLog(`getDocumentDirectory: ${docDir}`, 'success');
54
+
55
+ // Test file operations
56
+ const testPath = `${docDir}ota-test.txt`;
57
+ await OTAUpdate.writeFile(testPath, 'Hello OTA!');
58
+ addLog(`writeFile: ${testPath}`, 'success');
59
+ const content = await OTAUpdate.readFile(testPath);
60
+ addLog(`readFile: "${content}"`, 'success');
61
+ const exists = await OTAUpdate.exists(testPath);
62
+ addLog(`exists: ${exists}`, 'success');
63
+ await OTAUpdate.deleteFile(testPath);
64
+ addLog('deleteFile: success', 'success');
65
+ const existsAfter = await OTAUpdate.exists(testPath);
66
+ addLog(`exists after delete: ${existsAfter}`, 'success');
67
+ } catch (error) {
68
+ addLog(`Error: ${error.message}`, 'error');
69
+ }
70
+ };
71
+ const testDownload = async () => {
72
+ if (!testBundleUrl) {
73
+ addLog('No testBundleUrl provided', 'warn');
74
+ return;
75
+ }
76
+ if (!OTAUpdate?.downloadFile) {
77
+ addLog('downloadFile not available', 'error');
78
+ return;
79
+ }
80
+ try {
81
+ const docDir = OTAUpdate.getDocumentDirectory();
82
+ const destPath = `${docDir}ota-update/test-bundle.js`;
83
+ addLog(`Downloading from: ${testBundleUrl}`);
84
+ addLog(`Destination: ${destPath}`);
85
+ const startTime = Date.now();
86
+ const result = await OTAUpdate.downloadFile(testBundleUrl, destPath);
87
+ const duration = Date.now() - startTime;
88
+ addLog(`Download complete in ${duration}ms`, 'success');
89
+ addLog(`File size: ${result.fileSize} bytes`, 'success');
90
+
91
+ // Verify file exists
92
+ const exists = await OTAUpdate.exists(destPath);
93
+ addLog(`File exists: ${exists}`, exists ? 'success' : 'error');
94
+ } catch (error) {
95
+ addLog(`Download failed: ${error.message}`, 'error');
96
+ }
97
+ };
98
+ const testHashCalculation = async () => {
99
+ if (!OTAUpdate?.calculateSHA256FromFile) {
100
+ addLog('calculateSHA256FromFile not available', 'error');
101
+ return;
102
+ }
103
+ try {
104
+ const docDir = OTAUpdate.getDocumentDirectory();
105
+ const testPath = `${docDir}ota-update/test-bundle.js`;
106
+ const exists = await OTAUpdate.exists(testPath);
107
+ if (!exists) {
108
+ addLog('Test bundle not found. Run "Test Download" first.', 'warn');
109
+ return;
110
+ }
111
+ addLog('Calculating hash...');
112
+ const startTime = Date.now();
113
+ const hash = await OTAUpdate.calculateSHA256FromFile(testPath);
114
+ const duration = Date.now() - startTime;
115
+ addLog(`Hash: ${hash}`, 'success');
116
+ addLog(`Calculated in ${duration}ms`, 'success');
117
+ } catch (error) {
118
+ addLog(`Hash calculation failed: ${error.message}`, 'error');
119
+ }
120
+ };
121
+ const testApplyBundle = async () => {
122
+ if (!OTAUpdate?.applyBundle) {
123
+ addLog('applyBundle not available', 'error');
124
+ return;
125
+ }
126
+ try {
127
+ const docDir = OTAUpdate.getDocumentDirectory();
128
+ const testPath = `${docDir}ota-update/test-bundle.js`;
129
+ const exists = await OTAUpdate.exists(testPath);
130
+ if (!exists) {
131
+ addLog('Test bundle not found. Run "Test Download" first.', 'warn');
132
+ return;
133
+ }
134
+ addLog(`Registering bundle: ${testPath}`);
135
+ await OTAUpdate.applyBundle(testPath, false); // Don't restart
136
+ addLog('Bundle registered (no restart)', 'success');
137
+
138
+ // Verify it was saved
139
+ const savedPath = await OTAUpdate.getPendingBundlePath();
140
+ addLog(`Saved path: ${savedPath}`, savedPath === testPath ? 'success' : 'error');
141
+ } catch (error) {
142
+ addLog(`Apply failed: ${error.message}`, 'error');
143
+ }
144
+ };
145
+ const testGetPendingBundle = async () => {
146
+ if (!OTAUpdate?.getPendingBundlePath) {
147
+ addLog('getPendingBundlePath not available', 'error');
148
+ return;
149
+ }
150
+ try {
151
+ const path = await OTAUpdate.getPendingBundlePath();
152
+ if (path) {
153
+ addLog(`Pending bundle: ${path}`, 'success');
154
+ const exists = await OTAUpdate.exists(path);
155
+ addLog(`File exists: ${exists}`, exists ? 'success' : 'error');
156
+ } else {
157
+ addLog('No pending bundle', 'info');
158
+ }
159
+ } catch (error) {
160
+ addLog(`Error: ${error.message}`, 'error');
161
+ }
162
+ };
163
+ const testClearPendingBundle = async () => {
164
+ if (!OTAUpdate?.clearPendingBundle) {
165
+ addLog('clearPendingBundle not available', 'error');
166
+ return;
167
+ }
168
+ try {
169
+ await OTAUpdate.clearPendingBundle();
170
+ addLog('Pending bundle cleared', 'success');
171
+ } catch (error) {
172
+ addLog(`Error: ${error.message}`, 'error');
173
+ }
174
+ };
175
+ const testApplyAndRestart = async () => {
176
+ if (!OTAUpdate?.applyBundle) {
177
+ addLog('applyBundle not available', 'error');
178
+ return;
179
+ }
180
+ try {
181
+ const docDir = OTAUpdate.getDocumentDirectory();
182
+ const testPath = `${docDir}ota-update/test-bundle.js`;
183
+ const exists = await OTAUpdate.exists(testPath);
184
+ if (!exists) {
185
+ addLog('Test bundle not found. Run "Test Download" first.', 'warn');
186
+ return;
187
+ }
188
+ addLog('Applying bundle and restarting...');
189
+ addLog('App will restart in ~200ms');
190
+ await OTAUpdate.applyBundle(testPath, true); // Restart
191
+ } catch (error) {
192
+ addLog(`Error: ${error.message}`, 'error');
193
+ }
194
+ };
195
+ const getLogColor = type => {
196
+ switch (type) {
197
+ case 'success':
198
+ return '#4CAF50';
199
+ case 'error':
200
+ return '#F44336';
201
+ case 'warn':
202
+ return '#FF9800';
203
+ default:
204
+ return '#2196F3';
205
+ }
206
+ };
207
+ if (!isExpanded) {
208
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
209
+ style: styles.collapsedButton,
210
+ onPress: () => setIsExpanded(true)
211
+ }, /*#__PURE__*/React.createElement(Text, {
212
+ style: styles.collapsedButtonText
213
+ }, "OTA Debug"));
214
+ }
215
+ return /*#__PURE__*/React.createElement(View, {
216
+ style: styles.container
217
+ }, /*#__PURE__*/React.createElement(View, {
218
+ style: styles.header
219
+ }, /*#__PURE__*/React.createElement(Text, {
220
+ style: styles.title
221
+ }, "OTA Debug Panel"), /*#__PURE__*/React.createElement(View, {
222
+ style: styles.headerButtons
223
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
224
+ onPress: clearLogs,
225
+ style: styles.headerButton
226
+ }, /*#__PURE__*/React.createElement(Text, {
227
+ style: styles.headerButtonText
228
+ }, "Clear")), /*#__PURE__*/React.createElement(TouchableOpacity, {
229
+ onPress: () => setIsExpanded(false),
230
+ style: styles.headerButton
231
+ }, /*#__PURE__*/React.createElement(Text, {
232
+ style: styles.headerButtonText
233
+ }, "Hide")))), /*#__PURE__*/React.createElement(View, {
234
+ style: styles.info
235
+ }, /*#__PURE__*/React.createElement(Text, {
236
+ style: styles.infoText
237
+ }, "Platform: ", Platform.OS), /*#__PURE__*/React.createElement(Text, {
238
+ style: styles.infoText
239
+ }, "Native Module: ", OTAUpdate ? 'Available' : 'NOT FOUND')), /*#__PURE__*/React.createElement(ScrollView, {
240
+ style: styles.buttonContainer,
241
+ horizontal: true,
242
+ showsHorizontalScrollIndicator: false
243
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
244
+ style: styles.button,
245
+ onPress: testNativeModule
246
+ }, /*#__PURE__*/React.createElement(Text, {
247
+ style: styles.buttonText
248
+ }, "Test Module")), /*#__PURE__*/React.createElement(TouchableOpacity, {
249
+ style: styles.button,
250
+ onPress: testDownload
251
+ }, /*#__PURE__*/React.createElement(Text, {
252
+ style: styles.buttonText
253
+ }, "Test Download")), /*#__PURE__*/React.createElement(TouchableOpacity, {
254
+ style: styles.button,
255
+ onPress: testHashCalculation
256
+ }, /*#__PURE__*/React.createElement(Text, {
257
+ style: styles.buttonText
258
+ }, "Test Hash")), /*#__PURE__*/React.createElement(TouchableOpacity, {
259
+ style: styles.button,
260
+ onPress: testApplyBundle
261
+ }, /*#__PURE__*/React.createElement(Text, {
262
+ style: styles.buttonText
263
+ }, "Register Bundle")), /*#__PURE__*/React.createElement(TouchableOpacity, {
264
+ style: styles.button,
265
+ onPress: testGetPendingBundle
266
+ }, /*#__PURE__*/React.createElement(Text, {
267
+ style: styles.buttonText
268
+ }, "Get Pending")), /*#__PURE__*/React.createElement(TouchableOpacity, {
269
+ style: styles.button,
270
+ onPress: testClearPendingBundle
271
+ }, /*#__PURE__*/React.createElement(Text, {
272
+ style: styles.buttonText
273
+ }, "Clear Pending")), /*#__PURE__*/React.createElement(TouchableOpacity, {
274
+ style: [styles.button, styles.dangerButton],
275
+ onPress: testApplyAndRestart
276
+ }, /*#__PURE__*/React.createElement(Text, {
277
+ style: styles.buttonText
278
+ }, "Apply + Restart"))), /*#__PURE__*/React.createElement(ScrollView, {
279
+ style: styles.logContainer
280
+ }, logs.length === 0 ? /*#__PURE__*/React.createElement(Text, {
281
+ style: styles.emptyLog
282
+ }, "Tap a button to start testing...") : logs.map((log, index) => /*#__PURE__*/React.createElement(View, {
283
+ key: index,
284
+ style: styles.logEntry
285
+ }, /*#__PURE__*/React.createElement(Text, {
286
+ style: [styles.logTime]
287
+ }, log.time), /*#__PURE__*/React.createElement(Text, {
288
+ style: [styles.logMessage, {
289
+ color: getLogColor(log.type)
290
+ }]
291
+ }, log.message)))));
292
+ }
293
+ const styles = StyleSheet.create({
294
+ container: {
295
+ position: 'absolute',
296
+ bottom: 0,
297
+ left: 0,
298
+ right: 0,
299
+ backgroundColor: '#1a1a2e',
300
+ borderTopLeftRadius: 16,
301
+ borderTopRightRadius: 16,
302
+ maxHeight: '60%',
303
+ shadowColor: '#000',
304
+ shadowOffset: {
305
+ width: 0,
306
+ height: -2
307
+ },
308
+ shadowOpacity: 0.25,
309
+ shadowRadius: 4,
310
+ elevation: 5
311
+ },
312
+ collapsedButton: {
313
+ position: 'absolute',
314
+ bottom: 20,
315
+ right: 20,
316
+ backgroundColor: '#6C63FF',
317
+ paddingHorizontal: 16,
318
+ paddingVertical: 10,
319
+ borderRadius: 20,
320
+ shadowColor: '#000',
321
+ shadowOffset: {
322
+ width: 0,
323
+ height: 2
324
+ },
325
+ shadowOpacity: 0.25,
326
+ shadowRadius: 4,
327
+ elevation: 5
328
+ },
329
+ collapsedButtonText: {
330
+ color: '#fff',
331
+ fontWeight: 'bold',
332
+ fontSize: 12
333
+ },
334
+ header: {
335
+ flexDirection: 'row',
336
+ justifyContent: 'space-between',
337
+ alignItems: 'center',
338
+ padding: 12,
339
+ borderBottomWidth: 1,
340
+ borderBottomColor: '#2a2a4e'
341
+ },
342
+ title: {
343
+ color: '#fff',
344
+ fontSize: 16,
345
+ fontWeight: 'bold'
346
+ },
347
+ headerButtons: {
348
+ flexDirection: 'row',
349
+ gap: 8
350
+ },
351
+ headerButton: {
352
+ paddingHorizontal: 12,
353
+ paddingVertical: 4,
354
+ backgroundColor: '#2a2a4e',
355
+ borderRadius: 4
356
+ },
357
+ headerButtonText: {
358
+ color: '#aaa',
359
+ fontSize: 12
360
+ },
361
+ info: {
362
+ padding: 8,
363
+ backgroundColor: '#2a2a4e',
364
+ flexDirection: 'row',
365
+ justifyContent: 'space-around'
366
+ },
367
+ infoText: {
368
+ color: '#888',
369
+ fontSize: 11
370
+ },
371
+ buttonContainer: {
372
+ padding: 8,
373
+ flexGrow: 0
374
+ },
375
+ button: {
376
+ backgroundColor: '#6C63FF',
377
+ paddingHorizontal: 12,
378
+ paddingVertical: 8,
379
+ borderRadius: 6,
380
+ marginRight: 8
381
+ },
382
+ dangerButton: {
383
+ backgroundColor: '#F44336'
384
+ },
385
+ buttonText: {
386
+ color: '#fff',
387
+ fontSize: 12,
388
+ fontWeight: '600'
389
+ },
390
+ logContainer: {
391
+ flex: 1,
392
+ padding: 8
393
+ },
394
+ emptyLog: {
395
+ color: '#666',
396
+ textAlign: 'center',
397
+ marginTop: 20
398
+ },
399
+ logEntry: {
400
+ flexDirection: 'row',
401
+ paddingVertical: 4,
402
+ borderBottomWidth: 1,
403
+ borderBottomColor: '#2a2a4e'
404
+ },
405
+ logTime: {
406
+ color: '#666',
407
+ fontSize: 10,
408
+ width: 70,
409
+ fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace'
410
+ },
411
+ logMessage: {
412
+ flex: 1,
413
+ fontSize: 11,
414
+ fontFamily: Platform.OS === 'ios' ? 'Menlo' : 'monospace'
415
+ }
416
+ });
417
+ export default OTADebugPanel;
418
+ //# sourceMappingURL=OTADebugPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","View","Text","TouchableOpacity","ScrollView","StyleSheet","NativeModules","Platform","OTAUpdate","OTADebugPanel","testBundleUrl","serverUrl","appSlug","logs","setLogs","isExpanded","setIsExpanded","addLog","message","type","time","Date","toLocaleTimeString","prev","clearLogs","docDir","getDocumentDirectory","testNativeModule","testPath","writeFile","content","readFile","exists","deleteFile","existsAfter","error","testDownload","downloadFile","destPath","startTime","now","result","duration","fileSize","testHashCalculation","calculateSHA256FromFile","hash","testApplyBundle","applyBundle","savedPath","getPendingBundlePath","testGetPendingBundle","path","testClearPendingBundle","clearPendingBundle","testApplyAndRestart","getLogColor","createElement","style","styles","collapsedButton","onPress","collapsedButtonText","container","header","title","headerButtons","headerButton","headerButtonText","info","infoText","OS","buttonContainer","horizontal","showsHorizontalScrollIndicator","button","buttonText","dangerButton","logContainer","length","emptyLog","map","log","index","key","logEntry","logTime","logMessage","color","create","position","bottom","left","right","backgroundColor","borderTopLeftRadius","borderTopRightRadius","maxHeight","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","paddingHorizontal","paddingVertical","borderRadius","fontWeight","fontSize","flexDirection","justifyContent","alignItems","padding","borderBottomWidth","borderBottomColor","gap","flexGrow","marginRight","flex","textAlign","marginTop","fontFamily"],"sourceRoot":"../../../src","sources":["components/OTADebugPanel.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,22 @@ async function getDeviceId() {
10
10
  const id = `device_${Math.random().toString(36).substring(2, 15)}`;
11
11
  return id;
12
12
  }
13
+
14
+ // Timeout wrapper for async operations
15
+ function withTimeout(promise, timeoutMs, operation) {
16
+ return new Promise((resolve, reject) => {
17
+ const timer = setTimeout(() => {
18
+ reject(new Error(`${operation} timed out after ${timeoutMs}ms`));
19
+ }, timeoutMs);
20
+ promise.then(result => {
21
+ clearTimeout(timer);
22
+ resolve(result);
23
+ }).catch(error => {
24
+ clearTimeout(timer);
25
+ reject(error);
26
+ });
27
+ });
28
+ }
13
29
  export function useOTAUpdate(config) {
14
30
  const {
15
31
  serverUrl,
@@ -119,7 +135,17 @@ export function useOTAUpdate(config) {
119
135
  });
120
136
 
121
137
  // Download bundle directly to file (bypasses JS memory - critical for large bundles)
122
- const downloadResult = await storage.current.downloadBundleToFile(release.bundleUrl, release.id);
138
+ // Use a 5 minute timeout for large bundles on slow networks
139
+ if (__DEV__) {
140
+ console.log(`[OTAUpdate] Starting download from: ${release.bundleUrl}`);
141
+ console.log(`[OTAUpdate] Expected size: ${release.bundleSize} bytes`);
142
+ }
143
+ const downloadResult = await withTimeout(storage.current.downloadBundleToFile(release.bundleUrl, release.id), 5 * 60 * 1000,
144
+ // 5 minute timeout
145
+ 'Bundle download');
146
+ if (__DEV__) {
147
+ console.log(`[OTAUpdate] Download complete: ${downloadResult.fileSize} bytes`);
148
+ }
123
149
  setDownloadProgress({
124
150
  downloadedBytes: downloadResult.fileSize,
125
151
  totalBytes: release.bundleSize,
@@ -128,10 +154,20 @@ export function useOTAUpdate(config) {
128
154
 
129
155
  // Verify bundle hash
130
156
  setStatus('verifying');
157
+ if (__DEV__) {
158
+ console.log('[OTAUpdate] Calculating bundle hash...');
159
+ }
131
160
 
132
161
  // Calculate hash from file (streaming to avoid memory issues)
133
- const actualHash = await storage.current.calculateBundleHash(release.id);
162
+ // Use a 2 minute timeout for hash calculation
163
+ const actualHash = await withTimeout(storage.current.calculateBundleHash(release.id), 2 * 60 * 1000,
164
+ // 2 minute timeout
165
+ 'Hash calculation');
134
166
  const expectedHashWithoutPrefix = release.bundleHash.replace(/^sha256:/, '');
167
+ if (__DEV__) {
168
+ console.log(`[OTAUpdate] Expected hash: ${expectedHashWithoutPrefix}`);
169
+ console.log(`[OTAUpdate] Actual hash: ${actualHash}`);
170
+ }
135
171
  if (actualHash !== expectedHashWithoutPrefix) {
136
172
  // Delete corrupted bundle
137
173
  await storage.current.deleteBundle(release.id);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useCallback","useEffect","useRef","AppState","Platform","OTAApiClient","getDeviceInfo","UpdateStorage","getDeviceId","id","Math","random","toString","substring","useOTAUpdate","config","serverUrl","appSlug","channel","appVersion","publicKey","checkOnMount","checkOnForeground","status","setStatus","updateInfo","setUpdateInfo","downloadProgress","setDownloadProgress","error","setError","currentVersion","setCurrentVersion","isDismissed","setIsDismissed","apiClient","storage","deviceIdRef","releaseRef","loadCurrentVersion","metadata","current","getMetadata","version","getDeviceIdCached","checkForUpdate","deviceId","currentMetadata","response","checkUpdate","platform","OS","updateAvailable","release","info","releaseId","bundleSize","isMandatory","releaseNotes","err","Error","String","downloadUpdate","downloadedBytes","totalBytes","percentage","reportEvent","eventType","deviceInfo","downloadResult","downloadBundleToFile","bundleUrl","fileSize","actualHash","calculateBundleHash","expectedHashWithoutPrefix","bundleHash","replace","deleteBundle","isValid","validateBundle","__DEV__","console","log","bundlePath","path","saveMetadata","downloadedAt","Date","now","registered","registerBundleWithNative","errorMessage","message","applyUpdate","restartApp","clearPendingUpdate","clearMetadata","clearNativePendingBundle","dismissUpdate","resetDismiss","handleAppStateChange","nextAppState","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useOTAUpdate.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useCallback","useEffect","useRef","AppState","Platform","OTAApiClient","getDeviceInfo","UpdateStorage","getDeviceId","id","Math","random","toString","substring","withTimeout","promise","timeoutMs","operation","Promise","resolve","reject","timer","setTimeout","Error","then","result","clearTimeout","catch","error","useOTAUpdate","config","serverUrl","appSlug","channel","appVersion","publicKey","checkOnMount","checkOnForeground","status","setStatus","updateInfo","setUpdateInfo","downloadProgress","setDownloadProgress","setError","currentVersion","setCurrentVersion","isDismissed","setIsDismissed","apiClient","storage","deviceIdRef","releaseRef","loadCurrentVersion","metadata","current","getMetadata","version","getDeviceIdCached","checkForUpdate","deviceId","currentMetadata","response","checkUpdate","platform","OS","updateAvailable","release","info","releaseId","bundleSize","isMandatory","releaseNotes","err","String","downloadUpdate","downloadedBytes","totalBytes","percentage","reportEvent","eventType","deviceInfo","__DEV__","console","log","bundleUrl","downloadResult","downloadBundleToFile","fileSize","actualHash","calculateBundleHash","expectedHashWithoutPrefix","bundleHash","replace","deleteBundle","isValid","validateBundle","bundlePath","path","saveMetadata","downloadedAt","Date","now","registered","registerBundleWithNative","errorMessage","message","applyUpdate","restartApp","clearPendingUpdate","clearMetadata","clearNativePendingBundle","dismissUpdate","resetDismiss","handleAppStateChange","nextAppState","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["hooks/useOTAUpdate.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,8 @@
1
1
  // Main exports
2
2
  export { OTAProvider, useOTA, withOTA, UpdateBanner } from './OTAProvider';
3
+ // Debug component (for development/testing)
4
+ export { OTADebugPanel } from './components/OTADebugPanel';
5
+
3
6
  // Hook export
4
7
  export { useOTAUpdate } from './hooks/useOTAUpdate';
5
8
  // Utilities
@@ -7,5 +10,5 @@ export { OTAApiClient, getDeviceInfo } from './utils/api';
7
10
  export { UpdateStorage, getStorageAdapter } from './utils/storage';
8
11
  export { calculateHash, verifyBundleHash, verifySignature, verifyBundle } from './utils/verification';
9
12
  // Version info
10
- export const VERSION = '0.1.8';
13
+ export const VERSION = '0.2.2';
11
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["OTAProvider","useOTA","withOTA","UpdateBanner","useOTAUpdate","OTAApiClient","getDeviceInfo","UpdateStorage","getStorageAdapter","calculateHash","verifyBundleHash","verifySignature","verifyBundle","VERSION"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,OAAO,EAAEC,YAAY,QAAQ,eAAe;AAG1E;AACA,SAASC,YAAY,QAAQ,sBAAsB;AASnD;AACA,SAASC,YAAY,EAAEC,aAAa,QAAQ,aAAa;AAQzD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,iBAAiB;AAGlE,SACEC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,YAAY,QACP,sBAAsB;AAG7B;AACA,OAAO,MAAMC,OAAO,GAAG,OAAO","ignoreList":[]}
1
+ {"version":3,"names":["OTAProvider","useOTA","withOTA","UpdateBanner","OTADebugPanel","useOTAUpdate","OTAApiClient","getDeviceInfo","UpdateStorage","getStorageAdapter","calculateHash","verifyBundleHash","verifySignature","verifyBundle","VERSION"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,OAAO,EAAEC,YAAY,QAAQ,eAAe;AAG1E;AACA,SAASC,aAAa,QAAQ,4BAA4B;;AAE1D;AACA,SAASC,YAAY,QAAQ,sBAAsB;AASnD;AACA,SAASC,YAAY,EAAEC,aAAa,QAAQ,aAAa;AAQzD,SAASC,aAAa,EAAEC,iBAAiB,QAAQ,iBAAiB;AAGlE,SACEC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,YAAY,QACP,sBAAsB;AAG7B;AACA,OAAO,MAAMC,OAAO,GAAG,OAAO","ignoreList":[]}