react-native-3rddigital-appupdate 1.0.22 → 1.0.23

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.
@@ -8,9 +8,19 @@ import hotUpdate from 'react-native-ota-hot-update';
8
8
  import { AppAlertDialog } from "./AppAlertDialog.js";
9
9
  import { AppLoader } from "./AppLoader.js";
10
10
  const OTA_UPDATE_SUCCESS_FILE = `${ReactNativeBlobUtil.fs.dirs.CacheDir}/ota-update-success.json`;
11
+ const getOTAFilePath = () => {
12
+ const dir = ReactNativeBlobUtil.fs.dirs.CacheDir;
13
+ if (!dir) return null;
14
+ return `${dir}/ota-update-success.json`;
15
+ };
11
16
  const persistOTAUpdateSuccessState = async state => {
12
17
  try {
13
- await ReactNativeBlobUtil.fs.writeFile(OTA_UPDATE_SUCCESS_FILE, JSON.stringify(state), 'utf8');
18
+ const filePath = getOTAFilePath();
19
+ if (!filePath) {
20
+ console.error('OTA: Could not determine file path - CacheDir is null');
21
+ return;
22
+ }
23
+ await ReactNativeBlobUtil.fs.writeFile(filePath, JSON.stringify(state), 'utf8');
14
24
  } catch (error) {
15
25
  console.warn('Failed to persist OTA update success state:', error);
16
26
  }
@@ -46,17 +56,35 @@ export const consumeOTAUpdateSuccessState = async () => {
46
56
  export const reloadAppForOTAUpdate = () => {
47
57
  hotUpdate.resetApp();
48
58
  };
49
- const formatError = error => {
59
+ const formatError = (error, url) => {
50
60
  if (!error) return 'Unknown error';
51
61
  if (typeof error === 'string') return error;
52
- if (error instanceof Error) {
53
- return {
54
- message: error.message,
55
- name: error.name,
56
- stack: error.stack
57
- };
58
- }
59
- return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error)));
62
+ const errorLog = {
63
+ message: error?.message || 'No message',
64
+ code: error?.code || 'NO_CODE',
65
+ domain: error?.domain || 'RCTErrorDomain',
66
+ nativeStackIOS: error?.nativeStackIOS || [],
67
+ userInfo: error?.userInfo || null,
68
+ name: error?.name,
69
+ stack: error?.stack
70
+ };
71
+ const extraData = {};
72
+ Object.getOwnPropertyNames(error).forEach(key => {
73
+ if (!Object.keys(errorLog).includes(key)) {
74
+ extraData[key] = error[key];
75
+ }
76
+ });
77
+ return {
78
+ ...errorLog,
79
+ extraData,
80
+ rawString: error?.toString() !== '[object Object]' ? error.toString() : `${error?.name}: ${error?.message}`,
81
+ debugContext: {
82
+ attemptedUrl: url,
83
+ cacheDir: ReactNativeBlobUtil.fs.dirs.CacheDir || 'NULL',
84
+ documentDir: ReactNativeBlobUtil.fs.dirs.DocumentDir || 'NULL',
85
+ targetFile: getOTAFilePath() || OTA_UPDATE_SUCCESS_FILE
86
+ }
87
+ };
60
88
  };
61
89
  export const checkOTAUpdate = async ({
62
90
  key,
@@ -117,7 +145,7 @@ export const checkOTAUpdate = async ({
117
145
  updateFail: error => {
118
146
  axios.post(`${API_URL}bundles/${bundleId}/count`, {
119
147
  status: 'failure',
120
- error: JSON.stringify(formatError(error)),
148
+ error: JSON.stringify(formatError(error, url)),
121
149
  deviceInfo: {
122
150
  model: DeviceInfo.getModel(),
123
151
  brand: DeviceInfo.getBrand(),
@@ -1 +1 @@
1
- {"version":3,"names":["axios","Platform","ReactNativeBlobUtil","DeviceInfo","hotUpdate","AppAlertDialog","AppLoader","OTA_UPDATE_SUCCESS_FILE","fs","dirs","CacheDir","persistOTAUpdateSuccessState","state","writeFile","JSON","stringify","error","console","warn","readOTAUpdateSuccessState","exists","content","readFile","parse","consumeOTAUpdateSuccessState","unlink","reloadAppForOTAUpdate","resetApp","formatError","Error","message","name","stack","Object","getOwnPropertyNames","checkOTAUpdate","key","iosPackage","androidPackage","loaderOptions","dialogOptions","baseUrl","restartAfterInstall","restartDelay","onUpdateInstalled","API_URL","response","get","currentVersion","getCurrentVersion","data","OS","android","ios","version","forceUpdate","url","bundleId","currentAppVersion","getVersion","bundleAppVersion","appVersion","downloadAndReport","show","downloadBundleUri","progress","received","total","showProgress","percentage","Number","toFixed","updateProgress","updateSuccess","updateState","installedAt","Date","toISOString","finally","post","status","headers","hide","catch","updateFail","deviceInfo","model","getModel","brand","getBrand","systemName","getSystemName","systemVersion","getSystemVersion","showMessage","title","confirmText","cancelText","onConfirm","onCancel","err"],"sourceRoot":"../../src","sources":["checkOTAUpdate.ts"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,OAAOC,UAAU,MAAM,0BAA0B;AACjD,OAAOC,SAAS,MAAM,6BAA6B;AACnD,SAASC,cAAc,QAA4B,qBAAkB;AACrE,SAASC,SAAS,QAA4B,gBAAa;AAqB3D,MAAMC,uBAAuB,GAAG,GAAGL,mBAAmB,CAACM,EAAE,CAACC,IAAI,CAACC,QAAQ,0BAA0B;AAEjG,MAAMC,4BAA4B,GAAG,MAAOC,KAA4B,IAAK;EAC3E,IAAI;IACF,MAAMV,mBAAmB,CAACM,EAAE,CAACK,SAAS,CACpCN,uBAAuB,EACvBO,IAAI,CAACC,SAAS,CAACH,KAAK,CAAC,EACrB,MACF,CAAC;EACH,CAAC,CAAC,OAAOI,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,6CAA6C,EAAEF,KAAK,CAAC;EACpE;AACF,CAAC;AAED,MAAMG,yBAAyB,GAAG,MAAAA,CAAA,KAAY;EAC5C,IAAI;IACF,MAAMC,MAAM,GAAG,MAAMlB,mBAAmB,CAACM,EAAE,CAACY,MAAM,CAACb,uBAAuB,CAAC;IAE3E,IAAI,CAACa,MAAM,EAAE;MACX,OAAO,IAAI;IACb;IAEA,MAAMC,OAAO,GAAG,MAAMnB,mBAAmB,CAACM,EAAE,CAACc,QAAQ,CACnDf,uBAAuB,EACvB,MACF,CAAC;IACD,OAAOO,IAAI,CAACS,KAAK,CAACF,OAAO,CAAC;EAC5B,CAAC,CAAC,OAAOL,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,0CAA0C,EAAEF,KAAK,CAAC;IAC/D,OAAO,IAAI;EACb;AACF,CAAC;AAED,OAAO,MAAMQ,4BAA4B,GAAG,MAAAA,CAAA,KAAY;EACtD,MAAMZ,KAAK,GAAG,MAAMO,yBAAyB,CAAC,CAAC;EAE/C,IAAI,CAACP,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,IAAI;IACF,MAAMQ,MAAM,GAAG,MAAMlB,mBAAmB,CAACM,EAAE,CAACY,MAAM,CAACb,uBAAuB,CAAC;IAE3E,IAAIa,MAAM,EAAE;MACV,MAAMlB,mBAAmB,CAACM,EAAE,CAACiB,MAAM,CAAClB,uBAAuB,CAAC;IAC9D;EACF,CAAC,CAAC,OAAOS,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,2CAA2C,EAAEF,KAAK,CAAC;EAClE;EAEA,OAAOJ,KAAK;AACd,CAAC;AAED,OAAO,MAAMc,qBAAqB,GAAGA,CAAA,KAAM;EACzCtB,SAAS,CAACuB,QAAQ,CAAC,CAAC;AACtB,CAAC;AAED,MAAMC,WAAW,GAAIZ,KAAiC,IAAK;EACzD,IAAI,CAACA,KAAK,EAAE,OAAO,eAAe;EAElC,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAE3C,IAAIA,KAAK,YAAYa,KAAK,EAAE;IAC1B,OAAO;MACLC,OAAO,EAAEd,KAAK,CAACc,OAAO;MACtBC,IAAI,EAAEf,KAAK,CAACe,IAAI;MAChBC,KAAK,EAAEhB,KAAK,CAACgB;IACf,CAAC;EACH;EAEA,OAAOlB,IAAI,CAACS,KAAK,CAACT,IAAI,CAACC,SAAS,CAACC,KAAK,EAAEiB,MAAM,CAACC,mBAAmB,CAAClB,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,OAAO,MAAMmB,cAAc,GAAG,MAAAA,CAAO;EACnCC,GAAG;EACHC,UAAU;EACVC,cAAc;EACdC,aAAa;EACbC,aAAa;EACbC,OAAO;EACPC,mBAAmB,GAAG,IAAI;EAC1BC,YAAY,GAAG,IAAI;EACnBC;AACc,CAAC,KAAK;EACpB,IAAI;IACF,MAAMC,OAAO,GAAGJ,OAAO;IACvB,MAAMK,QAAQ,GAAG,MAAM9C,KAAK,CAAC+C,GAAG,CAC9B,GAAGF,OAAO,2BAA2BT,GAAG,eAAeC,UAAU,mBAAmBC,cAAc,EACpG,CAAC;IAED,MAAMU,cAAc,GAAG,MAAM5C,SAAS,CAAC6C,iBAAiB,CAAC,CAAC;IAC1D,MAAMC,IAAI,GACRjD,QAAQ,CAACkD,EAAE,KAAK,SAAS,GAAGL,QAAQ,EAAEI,IAAI,EAAEE,OAAO,GAAGN,QAAQ,EAAEI,IAAI,EAAEG,GAAG;IAC3E,MAAMC,OAAO,GAAGJ,IAAI,EAAEI,OAAO,IAAI,CAAC;IAClC,MAAMC,WAAW,GAAGL,IAAI,EAAEK,WAAW,IAAI,KAAK;IAC9C,MAAMC,GAAG,GAAGN,IAAI,EAAEM,GAAG,IAAI,EAAE;IAC3B,MAAMC,QAAQ,GAAGP,IAAI,EAAEO,QAAQ,IAAI,EAAE;IACrC,MAAMC,iBAAiB,GAAGvD,UAAU,CAACwD,UAAU,CAAC,CAAC;IACjD,MAAMC,gBAAgB,GAAGV,IAAI,EAAEW,UAAU,IAAIH,iBAAiB;IAE9D,IAAIJ,OAAO,IAAIN,cAAc,IAAIU,iBAAiB,KAAKE,gBAAgB,EAAE;MACvE;IACF;IAEA,MAAME,iBAAiB,GAAGA,CAAA,KAAM;MAC9BxD,SAAS,CAACyD,IAAI,CAACxB,aAAa,CAAC;MAC7BnC,SAAS,CAAC4D,iBAAiB,CAAC9D,mBAAmB,EAAEsD,GAAG,EAAEF,OAAO,EAAE;QAC7DW,QAAQ,EAAEA,CAACC,QAAQ,EAAEC,KAAK,KAAK;UAC7B,IAAI5B,aAAa,EAAE6B,YAAY,EAAE;YAC/B,MAAMC,UAAU,GAAG,CAChBC,MAAM,CAACJ,QAAQ,CAAC,GAAGI,MAAM,CAACH,KAAK,CAAC,GACjC,GAAG,EACHI,OAAO,CAAC,CAAC,CAAC;YACZjE,SAAS,CAACkE,cAAc,CAACF,MAAM,CAACD,UAAU,CAAC,CAAC;UAC9C;QACF,CAAC;QACDI,aAAa,EAAEA,CAAA,KAAM;UACnB,MAAMC,WAAW,GAAG;YAClBjB,QAAQ;YACRH,OAAO;YACPO,UAAU,EAAED,gBAAgB;YAC5Be,WAAW,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;UACtC,CAAC;UAEDlE,4BAA4B,CAAC+D,WAAW,CAAC,CACtCI,OAAO,CAAC,MAAM;YACb9E,KAAK,CACF+E,IAAI,CACH,GAAGlC,OAAO,WAAWY,QAAQ,QAAQ,EACrC;cAAEuB,MAAM,EAAE;YAAU,CAAC,EACrB;cAAEC,OAAO,EAAE;gBAAE,cAAc,EAAE;cAAmB;YAAE,CACpD,CAAC,CACAH,OAAO,CAAC,MAAM;cACbxE,SAAS,CAAC4E,IAAI,CAAC,CAAC;cAChBtC,iBAAiB,GAAG8B,WAAW,CAAC;YAClC,CAAC,CAAC;UACN,CAAC,CAAC,CACDS,KAAK,CAAEnE,KAAK,IAAK;YAChBC,OAAO,CAACC,IAAI,CACV,iDAAiD,EACjDF,KACF,CAAC;UACH,CAAC,CAAC;QACN,CAAC;QACDoE,UAAU,EAAGpE,KAAK,IAAK;UACrBhB,KAAK,CACF+E,IAAI,CACH,GAAGlC,OAAO,WAAWY,QAAQ,QAAQ,EACrC;YACEuB,MAAM,EAAE,SAAS;YACjBhE,KAAK,EAAEF,IAAI,CAACC,SAAS,CAACa,WAAW,CAACZ,KAAK,CAAC,CAAC;YACzCqE,UAAU,EAAE;cACVC,KAAK,EAAEnF,UAAU,CAACoF,QAAQ,CAAC,CAAC;cAC5BC,KAAK,EAAErF,UAAU,CAACsF,QAAQ,CAAC,CAAC;cAC5BC,UAAU,EAAEvF,UAAU,CAACwF,aAAa,CAAC,CAAC;cACtCC,aAAa,EAAEzF,UAAU,CAAC0F,gBAAgB,CAAC;YAC7C;UACF,CAAC,EACD;YAAEZ,OAAO,EAAE;cAAE,cAAc,EAAE;YAAmB;UAAE,CACpD,CAAC,CACAH,OAAO,CAAC,MAAMxE,SAAS,CAAC4E,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;QACDxC,mBAAmB;QACnBC;MACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAIY,WAAW,EAAE;MACfO,iBAAiB,CAAC,CAAC;IACrB,CAAC,MAAM;MACLzD,cAAc,CAACyF,WAAW,CAAC;QACzBC,KAAK,EAAE,mBAAmB;QAC1BjE,OAAO,EAAE,sCAAsC;QAC/CkE,WAAW,EAAE,QAAQ;QACrBC,UAAU,EAAE,QAAQ;QACpBC,SAAS,EAAEpC,iBAAiB;QAC5BqC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;QAClB,GAAG3D;MACL,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,OAAO4D,GAAG,EAAE;IACZnF,OAAO,CAACC,IAAI,CAAC,0BAA0B,EAAEkF,GAAG,CAAC;EAC/C;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["axios","Platform","ReactNativeBlobUtil","DeviceInfo","hotUpdate","AppAlertDialog","AppLoader","OTA_UPDATE_SUCCESS_FILE","fs","dirs","CacheDir","getOTAFilePath","dir","persistOTAUpdateSuccessState","state","filePath","console","error","writeFile","JSON","stringify","warn","readOTAUpdateSuccessState","exists","content","readFile","parse","consumeOTAUpdateSuccessState","unlink","reloadAppForOTAUpdate","resetApp","formatError","url","errorLog","message","code","domain","nativeStackIOS","userInfo","name","stack","extraData","Object","getOwnPropertyNames","forEach","key","keys","includes","rawString","toString","debugContext","attemptedUrl","cacheDir","documentDir","DocumentDir","targetFile","checkOTAUpdate","iosPackage","androidPackage","loaderOptions","dialogOptions","baseUrl","restartAfterInstall","restartDelay","onUpdateInstalled","API_URL","response","get","currentVersion","getCurrentVersion","data","OS","android","ios","version","forceUpdate","bundleId","currentAppVersion","getVersion","bundleAppVersion","appVersion","downloadAndReport","show","downloadBundleUri","progress","received","total","showProgress","percentage","Number","toFixed","updateProgress","updateSuccess","updateState","installedAt","Date","toISOString","finally","post","status","headers","hide","catch","updateFail","deviceInfo","model","getModel","brand","getBrand","systemName","getSystemName","systemVersion","getSystemVersion","showMessage","title","confirmText","cancelText","onConfirm","onCancel","err"],"sourceRoot":"../../src","sources":["checkOTAUpdate.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"checkOTAUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkOTAUpdate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAmCF,eAAO,MAAM,4BAA4B,6CAkBxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAkBF,eAAO,MAAM,cAAc,GAAU,mIAUlC,cAAc,kBAoGhB,CAAC"}
1
+ {"version":3,"file":"checkOTAUpdate.d.ts","sourceRoot":"","sources":["../../../src/checkOTAUpdate.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AA8CF,eAAO,MAAM,4BAA4B,6CAkBxC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAEjC,CAAC;AAuCF,eAAO,MAAM,cAAc,GAAU,mIAUlC,cAAc,kBAoGhB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-3rddigital-appupdate",
3
- "version": "1.0.22",
3
+ "version": "1.0.23",
4
4
  "description": "A React Native library for seamless over-the-air (OTA) updates with version checks, automatic bundle download, and customizable user prompts for iOS and Android.",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -27,10 +27,21 @@ export type OTAUpdateSuccessState = {
27
27
 
28
28
  const OTA_UPDATE_SUCCESS_FILE = `${ReactNativeBlobUtil.fs.dirs.CacheDir}/ota-update-success.json`;
29
29
 
30
+ const getOTAFilePath = () => {
31
+ const dir = ReactNativeBlobUtil.fs.dirs.CacheDir;
32
+ if (!dir) return null;
33
+ return `${dir}/ota-update-success.json`;
34
+ };
35
+
30
36
  const persistOTAUpdateSuccessState = async (state: OTAUpdateSuccessState) => {
31
37
  try {
38
+ const filePath = getOTAFilePath();
39
+ if (!filePath) {
40
+ console.error('OTA: Could not determine file path - CacheDir is null');
41
+ return;
42
+ }
32
43
  await ReactNativeBlobUtil.fs.writeFile(
33
- OTA_UPDATE_SUCCESS_FILE,
44
+ filePath,
34
45
  JSON.stringify(state),
35
46
  'utf8'
36
47
  );
@@ -82,20 +93,41 @@ export const reloadAppForOTAUpdate = () => {
82
93
  hotUpdate.resetApp();
83
94
  };
84
95
 
85
- const formatError = (error: string | Error | undefined) => {
96
+ const formatError = (error: any, url: string) => {
86
97
  if (!error) return 'Unknown error';
87
-
88
98
  if (typeof error === 'string') return error;
89
99
 
90
- if (error instanceof Error) {
91
- return {
92
- message: error.message,
93
- name: error.name,
94
- stack: error.stack,
95
- };
96
- }
97
-
98
- return JSON.parse(JSON.stringify(error, Object.getOwnPropertyNames(error)));
100
+ const errorLog = {
101
+ message: error?.message || 'No message',
102
+ code: error?.code || 'NO_CODE',
103
+ domain: error?.domain || 'RCTErrorDomain',
104
+ nativeStackIOS: error?.nativeStackIOS || [],
105
+ userInfo: error?.userInfo || null,
106
+ name: error?.name,
107
+ stack: error?.stack,
108
+ };
109
+
110
+ const extraData: Record<string, any> = {};
111
+ Object.getOwnPropertyNames(error).forEach((key) => {
112
+ if (!Object.keys(errorLog).includes(key)) {
113
+ extraData[key] = error[key];
114
+ }
115
+ });
116
+
117
+ return {
118
+ ...errorLog,
119
+ extraData,
120
+ rawString:
121
+ error?.toString() !== '[object Object]'
122
+ ? error.toString()
123
+ : `${error?.name}: ${error?.message}`,
124
+ debugContext: {
125
+ attemptedUrl: url,
126
+ cacheDir: ReactNativeBlobUtil.fs.dirs.CacheDir || 'NULL',
127
+ documentDir: ReactNativeBlobUtil.fs.dirs.DocumentDir || 'NULL',
128
+ targetFile: getOTAFilePath() || OTA_UPDATE_SUCCESS_FILE,
129
+ },
130
+ };
99
131
  };
100
132
 
101
133
  export const checkOTAUpdate = async ({
@@ -175,7 +207,7 @@ export const checkOTAUpdate = async ({
175
207
  `${API_URL}bundles/${bundleId}/count`,
176
208
  {
177
209
  status: 'failure',
178
- error: JSON.stringify(formatError(error)),
210
+ error: JSON.stringify(formatError(error, url)),
179
211
  deviceInfo: {
180
212
  model: DeviceInfo.getModel(),
181
213
  brand: DeviceInfo.getBrand(),