@onairos/react-native 3.0.69 → 3.0.70
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/lib/commonjs/components/onboarding/OAuthWebView.js +156 -10
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/commonjs/services/platformAuthService.js +189 -44
- package/lib/commonjs/services/platformAuthService.js.map +1 -1
- package/lib/module/components/onboarding/OAuthWebView.js +156 -10
- package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/module/services/platformAuthService.js +188 -43
- package/lib/module/services/platformAuthService.js.map +1 -1
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
- package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/onboarding/OAuthWebView.tsx +137 -6
- package/src/services/platformAuthService.ts +204 -39
|
@@ -156,52 +156,95 @@ const OAuthWebView = ({
|
|
|
156
156
|
|
|
157
157
|
// Check for specific NSURLErrorDomain codes
|
|
158
158
|
let errorMessage = 'Failed to load OAuth page.';
|
|
159
|
+
let isRetryable = true;
|
|
159
160
|
if (nativeEvent.domain === 'NSURLErrorDomain') {
|
|
160
161
|
switch (nativeEvent.code) {
|
|
161
162
|
case -1009:
|
|
162
163
|
// NSURLErrorNotConnectedToInternet
|
|
163
164
|
errorMessage = 'No internet connection. Please check your network and try again.';
|
|
165
|
+
isRetryable = true;
|
|
164
166
|
break;
|
|
165
167
|
case -1003:
|
|
166
168
|
// NSURLErrorCannotFindHost
|
|
167
169
|
errorMessage = 'Cannot reach authentication server. Please check your internet connection.';
|
|
170
|
+
isRetryable = true;
|
|
168
171
|
break;
|
|
169
172
|
case -1001:
|
|
170
173
|
// NSURLErrorTimedOut
|
|
171
174
|
errorMessage = 'Connection timed out. Please try again.';
|
|
175
|
+
isRetryable = true;
|
|
172
176
|
break;
|
|
173
177
|
case -1200:
|
|
174
178
|
// NSURLErrorSecureConnectionFailed
|
|
175
179
|
errorMessage = 'Secure connection failed. Please try again.';
|
|
180
|
+
isRetryable = true;
|
|
176
181
|
break;
|
|
177
182
|
case -1022:
|
|
178
183
|
// NSURLErrorAppTransportSecurityRequiresSecureConnection
|
|
179
184
|
errorMessage = 'App Transport Security error. Connection must be secure.';
|
|
185
|
+
isRetryable = false;
|
|
180
186
|
break;
|
|
181
187
|
case -1004:
|
|
182
188
|
// NSURLErrorCannotConnectToHost
|
|
183
189
|
errorMessage = 'Cannot connect to authentication server. Please try again later.';
|
|
190
|
+
isRetryable = true;
|
|
191
|
+
break;
|
|
192
|
+
case -1005:
|
|
193
|
+
// NSURLErrorNetworkConnectionLost
|
|
194
|
+
errorMessage = 'Network connection lost. Please check your connection and try again.';
|
|
195
|
+
isRetryable = true;
|
|
196
|
+
break;
|
|
197
|
+
case -1020:
|
|
198
|
+
// NSURLErrorDataNotAllowed
|
|
199
|
+
errorMessage = 'Data not allowed. Please check your cellular data settings.';
|
|
200
|
+
isRetryable = true;
|
|
184
201
|
break;
|
|
185
202
|
default:
|
|
186
203
|
errorMessage = `Network error (${nativeEvent.code}): ${nativeEvent.description || 'Please check your connection and try again.'}`;
|
|
204
|
+
isRetryable = true;
|
|
205
|
+
}
|
|
206
|
+
} else if (nativeEvent.domain === 'WebKitErrorDomain') {
|
|
207
|
+
switch (nativeEvent.code) {
|
|
208
|
+
case 102:
|
|
209
|
+
// WebKitErrorFrameLoadInterruptedByPolicyChange
|
|
210
|
+
errorMessage = 'Page load was interrupted. Please try again.';
|
|
211
|
+
isRetryable = true;
|
|
212
|
+
break;
|
|
213
|
+
case 204:
|
|
214
|
+
// WebKitErrorPlugInLoadFailed
|
|
215
|
+
errorMessage = 'Plugin failed to load. Please try again.';
|
|
216
|
+
isRetryable = true;
|
|
217
|
+
break;
|
|
218
|
+
default:
|
|
219
|
+
errorMessage = `WebKit error (${nativeEvent.code}): ${nativeEvent.description || 'Please try again.'}`;
|
|
220
|
+
isRetryable = true;
|
|
187
221
|
}
|
|
188
222
|
}
|
|
189
223
|
console.error('🔴 OAuth WebView Error:', errorMessage);
|
|
190
|
-
|
|
191
|
-
|
|
224
|
+
|
|
225
|
+
// Implement smart retry logic
|
|
226
|
+
if (isRetryable && retryCount < 3) {
|
|
227
|
+
console.log(`🔄 Auto-retrying OAuth load (attempt ${retryCount + 1}/3) in 3 seconds...`);
|
|
192
228
|
setRetryCount(prev => prev + 1);
|
|
193
229
|
setIsLoading(true);
|
|
194
230
|
setError(null);
|
|
195
231
|
|
|
196
|
-
// Retry after a
|
|
232
|
+
// Retry after a delay with exponential backoff
|
|
233
|
+
const retryDelay = 3000 * Math.pow(2, retryCount); // 3s, 6s, 12s
|
|
197
234
|
setTimeout(() => {
|
|
198
235
|
if (webViewRef.current) {
|
|
236
|
+
console.log(`🔄 Attempting retry ${retryCount + 1}...`);
|
|
199
237
|
webViewRef.current.reload();
|
|
200
238
|
}
|
|
201
|
-
},
|
|
239
|
+
}, retryDelay);
|
|
202
240
|
} else {
|
|
203
241
|
setError(errorMessage);
|
|
204
242
|
setIsLoading(false);
|
|
243
|
+
|
|
244
|
+
// Show additional help for persistent errors
|
|
245
|
+
if (retryCount >= 3) {
|
|
246
|
+
console.log('❌ Maximum retries reached, showing error to user');
|
|
247
|
+
}
|
|
205
248
|
}
|
|
206
249
|
};
|
|
207
250
|
const handleOpenInBrowser = () => {
|
|
@@ -290,19 +333,81 @@ const OAuthWebView = ({
|
|
|
290
333
|
style: styles.errorTitle
|
|
291
334
|
}, "Connection Error"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
292
335
|
style: styles.errorMessage
|
|
293
|
-
}, error), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
336
|
+
}, error), error.includes('internet') || error.includes('network') ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
337
|
+
style: styles.helpContainer
|
|
338
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
339
|
+
style: styles.helpTitle
|
|
340
|
+
}, "\uD83D\uDCA1 Troubleshooting Steps:"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
341
|
+
style: styles.helpText
|
|
342
|
+
}, "\u2022 Check your Wi-Fi or cellular connection"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
343
|
+
style: styles.helpText
|
|
344
|
+
}, "\u2022 Try switching between Wi-Fi and cellular"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
345
|
+
style: styles.helpText
|
|
346
|
+
}, "\u2022 Ensure you're not using a VPN that blocks OAuth"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
347
|
+
style: styles.helpText
|
|
348
|
+
}, "\u2022 Close other apps that might be using bandwidth")) : error.includes('timeout') ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
349
|
+
style: styles.helpContainer
|
|
350
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
351
|
+
style: styles.helpTitle
|
|
352
|
+
}, "\u23F1\uFE0F Connection Timeout:"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
353
|
+
style: styles.helpText
|
|
354
|
+
}, "\u2022 Your connection might be slow"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
355
|
+
style: styles.helpText
|
|
356
|
+
}, "\u2022 Try again when you have a stronger signal"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
357
|
+
style: styles.helpText
|
|
358
|
+
}, "\u2022 Use \"Open in Browser\" for better reliability")) : error.includes('secure') || error.includes('SSL') ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
359
|
+
style: styles.helpContainer
|
|
360
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
361
|
+
style: styles.helpTitle
|
|
362
|
+
}, "\uD83D\uDD12 Security Error:"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
363
|
+
style: styles.helpText
|
|
364
|
+
}, "\u2022 Check your device's date and time settings"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
365
|
+
style: styles.helpText
|
|
366
|
+
}, "\u2022 Update your device's operating system"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
367
|
+
style: styles.helpText
|
|
368
|
+
}, "\u2022 Try \"Open in Browser\" as an alternative")) : /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
369
|
+
style: styles.helpContainer
|
|
370
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
371
|
+
style: styles.helpTitle
|
|
372
|
+
}, "\uD83D\uDD27 General Solutions:"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
373
|
+
style: styles.helpText
|
|
374
|
+
}, "\u2022 Close and reopen the app"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
375
|
+
style: styles.helpText
|
|
376
|
+
}, "\u2022 Check your internet connection"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
377
|
+
style: styles.helpText
|
|
378
|
+
}, "\u2022 Use \"Open in Browser\" for better reliability")), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
294
379
|
style: styles.buttonContainer
|
|
295
380
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
296
381
|
style: styles.retryButton,
|
|
297
382
|
onPress: handleRetry
|
|
298
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
383
|
+
}, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
|
|
384
|
+
name: "refresh",
|
|
385
|
+
size: 20,
|
|
386
|
+
color: "#fff",
|
|
387
|
+
style: styles.buttonIcon
|
|
388
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
299
389
|
style: styles.retryButtonText
|
|
300
390
|
}, "Retry")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
301
391
|
style: styles.browserButton,
|
|
302
392
|
onPress: handleOpenInBrowser
|
|
303
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
393
|
+
}, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
|
|
394
|
+
name: "open-in-browser",
|
|
395
|
+
size: 20,
|
|
396
|
+
color: "#666",
|
|
397
|
+
style: styles.buttonIcon
|
|
398
|
+
}), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
304
399
|
style: styles.browserButtonText
|
|
305
|
-
}, "Open in Browser")))
|
|
400
|
+
}, "Open in Browser"))), retryCount >= 3 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
401
|
+
style: styles.persistentErrorContainer
|
|
402
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
403
|
+
style: styles.persistentErrorText
|
|
404
|
+
}, "Still having trouble? Try these steps:"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
405
|
+
style: styles.persistentErrorStep
|
|
406
|
+
}, "1. Use \"Open in Browser\" for more reliable authentication"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
407
|
+
style: styles.persistentErrorStep
|
|
408
|
+
}, "2. Check if other apps can access the internet"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
409
|
+
style: styles.persistentErrorStep
|
|
410
|
+
}, "3. Restart your device if the problem persists"))));
|
|
306
411
|
}
|
|
307
412
|
return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
|
|
308
413
|
style: styles.container
|
|
@@ -473,7 +578,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
473
578
|
borderColor: '#666',
|
|
474
579
|
paddingHorizontal: 24,
|
|
475
580
|
paddingVertical: 12,
|
|
476
|
-
borderRadius: 8
|
|
581
|
+
borderRadius: 8,
|
|
582
|
+
flexDirection: 'row',
|
|
583
|
+
alignItems: 'center',
|
|
584
|
+
justifyContent: 'center'
|
|
477
585
|
},
|
|
478
586
|
webView: {
|
|
479
587
|
flex: 1
|
|
@@ -513,7 +621,10 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
513
621
|
paddingHorizontal: 24,
|
|
514
622
|
paddingVertical: 12,
|
|
515
623
|
borderRadius: 8,
|
|
516
|
-
marginRight: 10
|
|
624
|
+
marginRight: 10,
|
|
625
|
+
flexDirection: 'row',
|
|
626
|
+
alignItems: 'center',
|
|
627
|
+
justifyContent: 'center'
|
|
517
628
|
},
|
|
518
629
|
retryButtonText: {
|
|
519
630
|
color: '#fff',
|
|
@@ -530,6 +641,41 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
530
641
|
color: '#666',
|
|
531
642
|
fontSize: 16,
|
|
532
643
|
fontWeight: '600'
|
|
644
|
+
},
|
|
645
|
+
helpContainer: {
|
|
646
|
+
marginBottom: 20
|
|
647
|
+
},
|
|
648
|
+
helpTitle: {
|
|
649
|
+
fontSize: 18,
|
|
650
|
+
fontWeight: '600',
|
|
651
|
+
color: '#333',
|
|
652
|
+
marginBottom: 8
|
|
653
|
+
},
|
|
654
|
+
helpText: {
|
|
655
|
+
fontSize: 14,
|
|
656
|
+
color: '#666',
|
|
657
|
+
textAlign: 'center'
|
|
658
|
+
},
|
|
659
|
+
buttonIcon: {
|
|
660
|
+
marginRight: 10
|
|
661
|
+
},
|
|
662
|
+
persistentErrorContainer: {
|
|
663
|
+
marginTop: 20,
|
|
664
|
+
padding: 20,
|
|
665
|
+
backgroundColor: '#f8f8f8',
|
|
666
|
+
borderRadius: 8
|
|
667
|
+
},
|
|
668
|
+
persistentErrorText: {
|
|
669
|
+
fontSize: 16,
|
|
670
|
+
fontWeight: '600',
|
|
671
|
+
color: '#333',
|
|
672
|
+
marginBottom: 10
|
|
673
|
+
},
|
|
674
|
+
persistentErrorStep: {
|
|
675
|
+
fontSize: 14,
|
|
676
|
+
color: '#666',
|
|
677
|
+
textAlign: 'center',
|
|
678
|
+
marginBottom: 5
|
|
533
679
|
}
|
|
534
680
|
});
|
|
535
681
|
//# sourceMappingURL=OAuthWebView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_MaterialIcons","_interopRequireDefault","_constants","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","width","height","Dimensions","OAuthWebView","url","onClose","onSuccess","platform","onComplete","_url$split$","_url$split$2","isLoading","setIsLoading","useState","error","setError","retryCount","setRetryCount","webViewRef","useRef","timeoutRef","console","log","protocol","split","domain","path","slice","join","React","useEffect","current","clearTimeout","setTimeout","handleNavigationStateChange","navState","includes","isFinalOAuthRedirect","handleLoadEnd","handleError","syntheticEvent","nativeEvent","description","code","canGoBack","canGoForward","loading","target","title","errorMessage","prev","reload","handleOpenInBrowser","Linking","openURL","catch","err","handleRetry","getPlatformIcon","getPlatformColor","COLORS","primary","createElement","SafeAreaView","style","styles","container","View","header","TouchableOpacity","onPress","closeButton","name","size","color","titleContainer","Text","titleText","charAt","toUpperCase","errorContainer","errorTitle","buttonContainer","retryButton","retryButtonText","browserButton","browserButtonText","WebView","ref","source","uri","onNavigationStateChange","onLoadEnd","onError","onHttpError","webView","javaScriptEnabled","domStorageEnabled","startInLoadingState","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","mixedContentMode","thirdPartyCookiesEnabled","sharedCookiesEnabled","cacheEnabled","allowsBackForwardNavigationGestures","allowsLinkPreview","userAgent","onShouldStartLoadWithRequest","request","startsWith","onLoadStart","onLoadProgress","progress","renderError","errorName","renderLoading","loadingContainer","ActivityIndicator","loadingText","injectedJavaScript","exports","StyleSheet","create","flex","backgroundColor","flexDirection","alignItems","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","marginLeft","fontSize","fontWeight","padding","position","left","zIndex","borderWidth","borderColor","paddingVertical","borderRadius","absoluteFillObject","marginTop","marginBottom","textAlign","marginRight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAyC,SAAAI,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAEzC,MAAM;EAAEgB,KAAK;EAAEC;AAAO,CAAC,GAAGC,uBAAU,CAACT,GAAG,CAAC,QAAQ,CAAC;AAU3C,MAAMU,YAAyC,GAAGA,CAAC;EACxDC,GAAG;EACHC,OAAO;EACPC,SAAS;EACTC,QAAQ,GAAG,UAAU;EACrBC;AACF,CAAC,KAAK;EAAA,IAAAC,WAAA,EAAAC,YAAA;EACJ,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAChD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;EACvD,MAAM,CAACG,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC,CAAC;EAC/C,MAAMK,UAAU,GAAG,IAAAC,aAAM,EAAU,IAAI,CAAC;EACxC,MAAMC,UAAU,GAAG,IAAAD,aAAM,EAAuC,IAAI,CAAC;EAErEE,OAAO,CAACC,GAAG,CAAC,oCAAoC,EAAElB,GAAG,CAAC;EACtDiB,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEf,QAAQ,CAAC;EACrCc,OAAO,CAACC,GAAG,CAAC,oBAAoB,EAAE;IAChCC,QAAQ,EAAEnB,GAAG,CAACoB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7BC,MAAM,GAAAhB,WAAA,GAAEL,GAAG,CAACoB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAAf,WAAA,uBAAnBA,WAAA,CAAqBe,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1CE,IAAI,GAAAhB,YAAA,GAAEN,GAAG,CAACoB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAAd,YAAA,uBAAnBA,YAAA,CAAqBc,KAAK,CAAC,GAAG,CAAC,CAACG,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG;EACzD,CAAC,CAAC;;EAEF;EACAC,cAAK,CAACC,SAAS,CAAC,MAAM;IACpB;IACA,IAAIV,UAAU,CAACW,OAAO,EAAE;MACtBC,YAAY,CAACZ,UAAU,CAACW,OAAO,CAAC;IAClC;;IAEA;IACAX,UAAU,CAACW,OAAO,GAAGE,UAAU,CAAC,MAAM;MACpCZ,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;MAC1DP,QAAQ,CAAC,4EAA4E,CAAC;MACtFH,YAAY,CAAC,KAAK,CAAC;IACrB,CAAC,EAAE,KAAK,CAAC;IAET,OAAO,MAAM;MACX,IAAIQ,UAAU,CAACW,OAAO,EAAE;QACtBC,YAAY,CAACZ,UAAU,CAACW,OAAO,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,CAAC3B,GAAG,CAAC,CAAC;;EAET;EACAyB,cAAK,CAACC,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,IAAIV,UAAU,CAACW,OAAO,EAAE;QACtBC,YAAY,CAACZ,UAAU,CAACW,OAAO,CAAC;MAClC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,2BAA2B,GAAIC,QAAa,IAAK;IACrDd,OAAO,CAACC,GAAG,CAAC,gCAAgCf,QAAQ,GAAG,EAAE4B,QAAQ,CAAC/B,GAAG,CAAC;;IAEtE;IACA,IAAIO,SAAS,EAAE;MACb;IACF;;IAEA;IACA,IAAIwB,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,QAAQ,CAAC,IAAID,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,eAAe,CAAC,EAAE;MAC7Ef,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEa,QAAQ,CAAC/B,GAAG,CAAC;MAClDW,QAAQ,CAAC,2DAA2D,CAAC;MACrE;IACF;;IAEA;IACA,IAAIR,QAAQ,KAAK,SAAS,EAAE;MAC1B;MACA,IAAI4B,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,iBAAiB,CAAC,IACxCD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,sBAAsB,CAAC,IAC7CD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAC/Cf,OAAO,CAACC,GAAG,CAAC,sDAAsD,CAAC;;QAEnE;QACA,IAAIF,UAAU,CAACW,OAAO,EAAE;UACtBC,YAAY,CAACZ,UAAU,CAACW,OAAO,CAAC;QAClC;QAEAzB,SAAS,CAAC,uBAAuB,CAAC;QAClC;MACF;;MAEA;MACA,IAAI6B,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,mBAAmB,CAAC,IAC1CD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAC7Cf,OAAO,CAACC,GAAG,CAAC,iEAAiE,CAAC;QAC9E;MACF;IACF;;IAEA;IACA;IACA,MAAMe,oBAAoB,GACxBF,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,iBAAiB,CAAC,IACxCD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,iBAAiB,CAAC,IACxCD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,oBAAoB,CAAC,IAC3CD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,sBAAsB,CAAC,IAC5CD,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,YAAY,CAAC,IAAID,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,UAAU,CACzE;;IAED;IACA,IAAIC,oBAAoB,EAAE;MACxBhB,OAAO,CAACC,GAAG,CAAC,qCAAqCf,QAAQ,6BAA6B,CAAC;;MAEvF;MACA,IAAIa,UAAU,CAACW,OAAO,EAAE;QACtBC,YAAY,CAACZ,UAAU,CAACW,OAAO,CAAC;MAClC;MAEAzB,SAAS,CAAC,gBAAgB,CAAC;;MAE3B;MACA2B,UAAU,CAAC,MAAM;QACjB,IAAIzB,UAAU,EAAE;UACda,OAAO,CAACC,GAAG,CAAC,0CAA0C,CAAC;UACvDd,UAAU,CAAC,CAAC;QACd;MACA,CAAC,EAAE,IAAI,CAAC;MACR;IACF;;IAEA;IACA,IAAI2B,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,WAAW,CAAC,IAAID,QAAQ,CAAC/B,GAAG,CAACgC,QAAQ,CAAC,OAAO,CAAC,EAAE;MACxEf,OAAO,CAACC,GAAG,CAAC,+BAA+Bf,QAAQ,uDAAuD,CAAC;MAC3G;MACA;IACF;;IAEA;IACAc,OAAO,CAACC,GAAG,CAAC,GAAGf,QAAQ,oBAAoB,EAAE4B,QAAQ,CAAC/B,GAAG,CAAC;EAC5D,CAAC;EAED,MAAMkC,aAAa,GAAGA,CAAA,KAAM;IAC1B1B,YAAY,CAAC,KAAK,CAAC;IACnBG,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC;EAED,MAAMwB,WAAW,GAAIC,cAAmB,IAAK;IAC3C,MAAM;MAAEC;IAAY,CAAC,GAAGD,cAAc;IACtCnB,OAAO,CAACP,KAAK,CAAC,2BAA2B,EAAE;MACzC4B,WAAW,EAAED,WAAW,CAACC,WAAW;MACpCC,IAAI,EAAEF,WAAW,CAACE,IAAI;MACtBlB,MAAM,EAAEgB,WAAW,CAAChB,MAAM;MAC1BrB,GAAG,EAAEqC,WAAW,CAACrC,GAAG;MACpBwC,SAAS,EAAEH,WAAW,CAACG,SAAS;MAChCC,YAAY,EAAEJ,WAAW,CAACI,YAAY;MACtCC,OAAO,EAAEL,WAAW,CAACK,OAAO;MAC5BC,MAAM,EAAEN,WAAW,CAACM,MAAM;MAC1BC,KAAK,EAAEP,WAAW,CAACO;IACrB,CAAC,CAAC;;IAEF;IACA,IAAIC,YAAY,GAAG,4BAA4B;IAE/C,IAAIR,WAAW,CAAChB,MAAM,KAAK,kBAAkB,EAAE;MAC7C,QAAQgB,WAAW,CAACE,IAAI;QACtB,KAAK,CAAC,IAAI;UAAE;UACVM,YAAY,GAAG,kEAAkE;UACjF;QACF,KAAK,CAAC,IAAI;UAAE;UACVA,YAAY,GAAG,4EAA4E;UAC3F;QACF,KAAK,CAAC,IAAI;UAAE;UACVA,YAAY,GAAG,yCAAyC;UACxD;QACF,KAAK,CAAC,IAAI;UAAE;UACVA,YAAY,GAAG,6CAA6C;UAC5D;QACF,KAAK,CAAC,IAAI;UAAE;UACVA,YAAY,GAAG,0DAA0D;UACzE;QACF,KAAK,CAAC,IAAI;UAAE;UACVA,YAAY,GAAG,kEAAkE;UACjF;QACF;UACEA,YAAY,GAAG,kBAAkBR,WAAW,CAACE,IAAI,MAAMF,WAAW,CAACC,WAAW,IAAI,6CAA6C,EAAE;MACrI;IACF;IAEArB,OAAO,CAACP,KAAK,CAAC,yBAAyB,EAAEmC,YAAY,CAAC;IAEtD,IAAIjC,UAAU,GAAG,CAAC,EAAE;MAClBK,OAAO,CAACC,GAAG,CAAC,mCAAmCN,UAAU,GAAG,CAAC,KAAK,CAAC;MACnEC,aAAa,CAACiC,IAAI,IAAIA,IAAI,GAAG,CAAC,CAAC;MAC/BtC,YAAY,CAAC,IAAI,CAAC;MAClBG,QAAQ,CAAC,IAAI,CAAC;;MAEd;MACAkB,UAAU,CAAC,MAAM;QACf,IAAIf,UAAU,CAACa,OAAO,EAAE;UACtBb,UAAU,CAACa,OAAO,CAACoB,MAAM,CAAC,CAAC;QAC7B;MACF,CAAC,EAAE,IAAI,CAAC;IACV,CAAC,MAAM;MACLpC,QAAQ,CAACkC,YAAY,CAAC;MACxBrC,YAAY,CAAC,KAAK,CAAC;IACnB;EACF,CAAC;EAED,MAAMwC,mBAAmB,GAAGA,CAAA,KAAM;IAChC/B,OAAO,CAACC,GAAG,CAAC,wCAAwC,EAAElB,GAAG,CAAC;IAC1DiD,oBAAO,CAACC,OAAO,CAAClD,GAAG,CAAC,CAACmD,KAAK,CAACC,GAAG,IAAI;MAChCnC,OAAO,CAACP,KAAK,CAAC,gCAAgC,EAAE0C,GAAG,CAAC;MACpDzC,QAAQ,CAAC,4DAA4D,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC;EAED,MAAM0C,WAAW,GAAGA,CAAA,KAAM;IACxBpC,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACrCP,QAAQ,CAAC,IAAI,CAAC;IACdH,YAAY,CAAC,IAAI,CAAC;IAClBK,aAAa,CAAC,CAAC,CAAC;IAEhB,IAAIC,UAAU,CAACa,OAAO,EAAE;MACtBb,UAAU,CAACa,OAAO,CAACoB,MAAM,CAAC,CAAC;IAC7B;EACF,CAAC;;EAED;AACF;AACA;EACE,MAAMO,eAAe,GAAInD,QAAgB,IAAa;IACpD,QAAQA,QAAQ;MACd,KAAK,WAAW;QACd,OAAO,cAAc;MACvB,KAAK,SAAS;QACZ,OAAO,eAAe;MACxB,KAAK,WAAW;QACd,OAAO,UAAU;MACnB,KAAK,QAAQ;QACX,OAAO,OAAO;MAChB,KAAK,OAAO;QACV,OAAO,OAAO;MAChB;QACE,OAAO,MAAM;IACjB;EACF,CAAC;;EAED;AACF;AACA;EACE,MAAMoD,gBAAgB,GAAIpD,QAAgB,IAAa;IACrD,QAAQA,QAAQ;MACd,KAAK,WAAW;QACd,OAAO,SAAS;MAClB,KAAK,SAAS;QACZ,OAAO,SAAS;MAClB,KAAK,WAAW;QACd,OAAO,SAAS;MAClB,KAAK,QAAQ;QACX,OAAO,SAAS;MAClB,KAAK,OAAO;QACV,OAAO,SAAS;MAClB;QACE,OAAOqD,iBAAM,CAACC,OAAO;IACzB;EACF,CAAC;EAED,IAAI/C,KAAK,EAAE;IACT,oBACEzC,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAuF,YAAY;MAACC,KAAK,EAAEC,MAAM,CAACC;IAAU,gBACpC7F,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACG;IAAO,gBACzB/F,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;MAACC,OAAO,EAAEjE,OAAQ;MAAC2D,KAAK,EAAEC,MAAM,CAACM;IAAY,gBAC5DlG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;MAACyF,IAAI,EAAC,OAAO;MAACC,IAAI,EAAE,EAAG;MAACC,KAAK,EAAC;IAAM,CAAE,CAC3B,CAAC,eACnBrG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACU;IAAe,gBACjCtG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;MACHyF,IAAI,EAAEd,eAAe,CAACnD,QAAQ,CAAE;MAChCkE,IAAI,EAAE,EAAG;MACTC,KAAK,EAAEf,gBAAgB,CAACpD,QAAQ;IAAE,CACnC,CAAC,eACFlC,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACY;IAAU,GAAEtE,QAAQ,CAACuE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGxE,QAAQ,CAACoB,KAAK,CAAC,CAAC,CAAC,EAAC,QAAY,CAC7F,CACF,CAAC,eAEPtD,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACe;IAAe,gBACjC3G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;MAACyF,IAAI,EAAC,eAAe;MAACC,IAAI,EAAE,EAAG;MAACC,KAAK,EAAC;IAAS,CAAE,CAAC,eACvDrG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACgB;IAAW,GAAC,kBAAsB,CAAC,eACvD5G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAAChB;IAAa,GAAEnC,KAAY,CAAC,eAChDzC,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACiB;IAAgB,gBAClC7G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;MAACL,KAAK,EAAEC,MAAM,CAACkB,WAAY;MAACb,OAAO,EAAEb;IAAY,gBAChEpF,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACmB;IAAgB,GAAC,OAAW,CAChC,CAAC,eACnB/G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;MAACL,KAAK,EAAEC,MAAM,CAACoB,aAAc;MAACf,OAAO,EAAElB;IAAoB,gBAC1E/E,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACqB;IAAkB,GAAC,iBAAqB,CAC9C,CACZ,CACF,CACM,CAAC;EAEnB;EAEA,oBACEjH,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAuF,YAAY;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBACpC7F,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;IAACH,KAAK,EAAEC,MAAM,CAACG;EAAO,gBACzB/F,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;IAACC,OAAO,EAAEjE,OAAQ;IAAC2D,KAAK,EAAEC,MAAM,CAACM;EAAY,gBAC5DlG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;IAACyF,IAAI,EAAC,OAAO;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAC3B,CAAC,eACnBrG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;IAACH,KAAK,EAAEC,MAAM,CAACU;EAAe,gBACjCtG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;IACHyF,IAAI,EAAEd,eAAe,CAACnD,QAAQ,CAAE;IAChCkE,IAAI,EAAE,EAAG;IACTC,KAAK,EAAEf,gBAAgB,CAACpD,QAAQ;EAAE,CACnC,CAAC,eACFlC,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;IAACZ,KAAK,EAAEC,MAAM,CAACY;EAAU,GAAEtE,QAAQ,CAACuE,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGxE,QAAQ,CAACoB,KAAK,CAAC,CAAC,CAAC,EAAC,QAAY,CAC7F,CAAC,eACPtD,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;IAACC,OAAO,EAAElB,mBAAoB;IAACY,KAAK,EAAEC,MAAM,CAACoB;EAAc,gBAC1EhH,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;IAACyF,IAAI,EAAC,iBAAiB;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CACrC,CACd,CAAC,eAEPrG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACrF,mBAAA,CAAA8G,OAAO;IACNC,GAAG,EAAEtE,UAAW;IAChBuE,MAAM,EAAE;MAAEC,GAAG,EAAEtF;IAAI,CAAE;IACrBuF,uBAAuB,EAAEzD,2BAA4B;IACrD0D,SAAS,EAAEtD,aAAc;IACzBuD,OAAO,EAAEtD,WAAY;IACrBuD,WAAW,EAAGtD,cAAc,IAAK;MAC/B,MAAM;QAAEC;MAAY,CAAC,GAAGD,cAAc;MACtCnB,OAAO,CAACP,KAAK,CAAC,qBAAqB,EAAE2B,WAAW,CAAC;MACjD1B,QAAQ,CAAC,mEAAmE,CAAC;MAC7EH,YAAY,CAAC,KAAK,CAAC;IACrB,CAAE;IACFoD,KAAK,EAAEC,MAAM,CAAC8B,OAAQ;IACtBC,iBAAiB,EAAE,IAAK;IACxBC,iBAAiB,EAAE,IAAK;IACxBC,mBAAmB,EAAE,IAAK;IAC1BC,eAAe,EAAE,IAAK;IACtBC,yBAAyB,EAAE,IAAK;IAChCC,+BAA+B,EAAE,KAAM;IACvCC,gBAAgB,EAAC,eAAe;IAChCC,wBAAwB,EAAE,IAAK;IAC/BC,oBAAoB,EAAE,IAAK;IAC3BC,YAAY,EAAE,IAAK;IACnBC,mCAAmC,EAAE,IAAK;IAC1CC,iBAAiB,EAAE,KAAM;IACzBC,SAAS,EAAC,yIAAyI;IACnJC,4BAA4B,EAAGC,OAAO,IAAK;MACzCzF,OAAO,CAACC,GAAG,CAAC,6BAA6B,EAAEwF,OAAO,CAAC1G,GAAG,CAAC;;MAEvD;MACA,IAAI0G,OAAO,CAAC1G,GAAG,CAAC2G,UAAU,CAAC,QAAQ,CAAC,IAChCD,OAAO,CAAC1G,GAAG,CAAC2G,UAAU,CAAC,OAAO,CAAC,IAC/BD,OAAO,CAAC1G,GAAG,KAAK,aAAa,EAAE;QACjCiB,OAAO,CAACC,GAAG,CAAC,2BAA2B,EAAEwF,OAAO,CAAC1G,GAAG,CAAC;QACrD,OAAO,KAAK;MACd;;MAEA;MACA,OAAO,IAAI;IACb,CAAE;IACF4G,WAAW,EAAGxE,cAAc,IAAK;MAC/B,MAAM;QAAEC;MAAY,CAAC,GAAGD,cAAc;MACtCnB,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEmB,WAAW,CAACrC,GAAG,CAAC;MACrDQ,YAAY,CAAC,IAAI,CAAC;IACpB,CAAE;IACFqG,cAAc,EAAGzE,cAAc,IAAK;MAClC,MAAM;QAAEC;MAAY,CAAC,GAAGD,cAAc;MACtCnB,OAAO,CAACC,GAAG,CAAC,wBAAwB,EAAEmB,WAAW,CAACyE,QAAQ,CAAC;IAC7D,CAAE;IACFC,WAAW,EAAGC,SAAS,iBACrB/I,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACe;IAAe,gBACjC3G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACpF,cAAA,CAAAK,OAAI;MAACyF,IAAI,EAAC,eAAe;MAACC,IAAI,EAAE,EAAG;MAACC,KAAK,EAAC;IAAS,CAAE,CAAC,eACvDrG,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACgB;IAAW,GAAC,eAAmB,CAAC,eACpD5G,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAAChB;IAAa,GAAC,iDACe,EAACmE,SAC5C,CAAC,eACP/I,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA6F,gBAAgB;MAACL,KAAK,EAAEC,MAAM,CAACkB,WAAY;MAACb,OAAO,EAAEb;IAAY,gBAChEpF,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACmB;IAAgB,GAAC,OAAW,CAChC,CACd,CACN;IACFiC,aAAa,EAAEA,CAAA,kBACfhJ,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA2F,IAAI;MAACH,KAAK,EAAEC,MAAM,CAACqD;IAAiB,gBACnCjJ,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAA+I,iBAAiB;MAAC9C,IAAI,EAAC,OAAO;MAACC,KAAK,EAAEd,iBAAM,CAACC;IAAQ,CAAE,CAAC,eACzDxF,MAAA,CAAAU,OAAA,CAAA+E,aAAA,CAACtF,YAAA,CAAAoG,IAAI;MAACZ,KAAK,EAAEC,MAAM,CAACuD;IAAY,GAAC,UAAQ,EAACjH,QAAQ,EAAC,KAAS,CACxD,CACN;IACAkH,kBAAkB,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAAU,CACH,CACW,CAAC;AAEnB,CAAC;AAACC,OAAA,CAAAvH,YAAA,GAAAA,YAAA;AAEF,MAAM8D,MAAM,GAAG0D,uBAAU,CAACC,MAAM,CAAC;EAC/B1D,SAAS,EAAE;IACT2D,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE;EACnB,CAAC;EACD1D,MAAM,EAAE;IACN2D,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpB/H,MAAM,EAAE,EAAE;IACV6H,eAAe,EAAE,SAAS;IAC1BG,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE,SAAS;IAC5BC,iBAAiB,EAAE;EACrB,CAAC;EACDxD,cAAc,EAAE;IACdkD,IAAI,EAAE,CAAC;IACPE,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBI,cAAc,EAAE;EAClB,CAAC;EACDvD,SAAS,EAAE;IACTwD,UAAU,EAAE,CAAC;IACbC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjB7D,KAAK,EAAE;EACT,CAAC;EACDH,WAAW,EAAE;IACXiE,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,EAAE;IACRC,MAAM,EAAE;EACV,CAAC;EACDtD,aAAa,EAAE;IACbyC,eAAe,EAAE,aAAa;IAC9Bc,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,MAAM;IACnBV,iBAAiB,EAAE,EAAE;IACrBW,eAAe,EAAE,EAAE;IACnBC,YAAY,EAAE;EAChB,CAAC;EACDhD,OAAO,EAAE;IACP8B,IAAI,EAAE;EACR,CAAC;EACDP,gBAAgB,EAAE;IAChB,GAAGK,uBAAU,CAACqB,kBAAkB;IAChClB,eAAe,EAAE,0BAA0B;IAC3CE,UAAU,EAAE,QAAQ;IACpBI,cAAc,EAAE;EAClB,CAAC;EACDZ,WAAW,EAAE;IACXyB,SAAS,EAAE,EAAE;IACbX,QAAQ,EAAE,EAAE;IACZ5D,KAAK,EAAE;EACT,CAAC;EACDM,cAAc,EAAE;IACd6C,IAAI,EAAE,CAAC;IACPG,UAAU,EAAE,QAAQ;IACpBI,cAAc,EAAE,QAAQ;IACxBI,OAAO,EAAE;EACX,CAAC;EACDvD,UAAU,EAAE;IACVqD,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjB7D,KAAK,EAAE,MAAM;IACbuE,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE;EAChB,CAAC;EACDjG,YAAY,EAAE;IACZqF,QAAQ,EAAE,EAAE;IACZ5D,KAAK,EAAE,MAAM;IACbyE,SAAS,EAAE,QAAQ;IACnBD,YAAY,EAAE;EAChB,CAAC;EACD/D,WAAW,EAAE;IACX2C,eAAe,EAAElE,iBAAM,CAACC,OAAO;IAC/BsE,iBAAiB,EAAE,EAAE;IACrBW,eAAe,EAAE,EAAE;IACnBC,YAAY,EAAE,CAAC;IACfK,WAAW,EAAE;EACf,CAAC;EACDhE,eAAe,EAAE;IACfV,KAAK,EAAE,MAAM;IACb4D,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDrD,eAAe,EAAE;IACf6C,aAAa,EAAE,KAAK;IACpBK,cAAc,EAAE,QAAQ;IACxBJ,UAAU,EAAE,QAAQ;IACpBiB,SAAS,EAAE;EACb,CAAC;EACD3D,iBAAiB,EAAE;IACjBZ,KAAK,EAAE,MAAM;IACb4D,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_MaterialIcons","_interopRequireDefault","_constants","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","width","height","Dimensions","OAuthWebView","url","onClose","onSuccess","platform","onComplete","_url$split$","_url$split$2","isLoading","setIsLoading","useState","error","setError","retryCount","setRetryCount","webViewRef","useRef","timeoutRef","console","log","protocol","split","domain","path","slice","join","React","useEffect","current","clearTimeout","setTimeout","handleNavigationStateChange","navState","includes","isFinalOAuthRedirect","handleLoadEnd","handleError","syntheticEvent","nativeEvent","description","code","canGoBack","canGoForward","loading","target","title","errorMessage","isRetryable","prev","retryDelay","Math","pow","reload","handleOpenInBrowser","Linking","openURL","catch","err","handleRetry","getPlatformIcon","getPlatformColor","COLORS","primary","createElement","SafeAreaView","style","styles","container","View","header","TouchableOpacity","onPress","closeButton","name","size","color","titleContainer","Text","titleText","charAt","toUpperCase","errorContainer","errorTitle","helpContainer","helpTitle","helpText","buttonContainer","retryButton","buttonIcon","retryButtonText","browserButton","browserButtonText","persistentErrorContainer","persistentErrorText","persistentErrorStep","WebView","ref","source","uri","onNavigationStateChange","onLoadEnd","onError","onHttpError","webView","javaScriptEnabled","domStorageEnabled","startInLoadingState","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","mixedContentMode","thirdPartyCookiesEnabled","sharedCookiesEnabled","cacheEnabled","allowsBackForwardNavigationGestures","allowsLinkPreview","userAgent","onShouldStartLoadWithRequest","request","startsWith","onLoadStart","onLoadProgress","progress","renderError","errorName","renderLoading","loadingContainer","ActivityIndicator","loadingText","injectedJavaScript","exports","StyleSheet","create","flex","backgroundColor","flexDirection","alignItems","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","marginLeft","fontSize","fontWeight","padding","position","left","zIndex","borderWidth","borderColor","paddingVertical","borderRadius","absoluteFillObject","marginTop","marginBottom","textAlign","marginRight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -99,6 +99,15 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
99
99
|
console.log('🌐 Platform uses OAuth WebView flow');
|
|
100
100
|
console.log('🔗 Auth endpoint:', PLATFORM_AUTH_CONFIG[platform].authEndpoint);
|
|
101
101
|
|
|
102
|
+
// Pre-flight connectivity check
|
|
103
|
+
console.log('🔍 Performing pre-flight connectivity check...');
|
|
104
|
+
const connectivityResult = await testApiConnectivity();
|
|
105
|
+
if (!connectivityResult.success) {
|
|
106
|
+
console.error('❌ Pre-flight connectivity check failed:', connectivityResult.error);
|
|
107
|
+
throw new Error(`Cannot reach authentication server: ${connectivityResult.error}`);
|
|
108
|
+
}
|
|
109
|
+
console.log('✅ Pre-flight connectivity check passed');
|
|
110
|
+
|
|
102
111
|
// Handle Instagram with specific API format
|
|
103
112
|
if (platform === 'instagram') {
|
|
104
113
|
const state = 'djksbfds';
|
|
@@ -109,13 +118,28 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
109
118
|
}
|
|
110
119
|
};
|
|
111
120
|
console.log('📤 Sending Instagram OAuth request:', jsonData);
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
const controller = new AbortController();
|
|
122
|
+
const timeoutId = setTimeout(() => controller.abort(), 30000); // 30 second timeout
|
|
123
|
+
|
|
124
|
+
let response;
|
|
125
|
+
try {
|
|
126
|
+
response = await fetch('https://api2.onairos.uk/instagram/authorize', {
|
|
127
|
+
method: 'POST',
|
|
128
|
+
headers: {
|
|
129
|
+
'Content-Type': 'application/json',
|
|
130
|
+
'User-Agent': 'OnairosReactNative/1.0'
|
|
131
|
+
},
|
|
132
|
+
body: JSON.stringify(jsonData),
|
|
133
|
+
signal: controller.signal
|
|
134
|
+
});
|
|
135
|
+
} catch (fetchError) {
|
|
136
|
+
clearTimeout(timeoutId);
|
|
137
|
+
if (fetchError.name === 'AbortError') {
|
|
138
|
+
throw new Error(`Request timeout: Instagram OAuth server took too long to respond`);
|
|
139
|
+
}
|
|
140
|
+
throw new Error(`Network error: ${fetchError.message || 'Failed to connect to Instagram OAuth server'}`);
|
|
141
|
+
}
|
|
142
|
+
clearTimeout(timeoutId);
|
|
119
143
|
console.log('📡 Instagram OAuth response status:', response.status);
|
|
120
144
|
console.log('📡 Instagram OAuth response headers:', response.headers);
|
|
121
145
|
if (!response.ok) {
|
|
@@ -127,7 +151,13 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
127
151
|
console.log('📥 Instagram OAuth response data:', responseData);
|
|
128
152
|
if (responseData.instagramURL) {
|
|
129
153
|
console.log('✅ Instagram OAuth URL received:', responseData.instagramURL);
|
|
130
|
-
|
|
154
|
+
|
|
155
|
+
// Validate the URL before returning
|
|
156
|
+
if (await validateOAuthUrl(responseData.instagramURL)) {
|
|
157
|
+
return responseData.instagramURL;
|
|
158
|
+
} else {
|
|
159
|
+
throw new Error('Received invalid Instagram OAuth URL');
|
|
160
|
+
}
|
|
131
161
|
}
|
|
132
162
|
console.error('❌ No Instagram URL found in response');
|
|
133
163
|
throw new Error('No Instagram URL found in response');
|
|
@@ -144,14 +174,29 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
144
174
|
};
|
|
145
175
|
console.log(`📤 Sending ${platform} OAuth request:`, jsonData);
|
|
146
176
|
|
|
147
|
-
// Make the request to get the OAuth URL
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
177
|
+
// Make the request to get the OAuth URL with enhanced error handling
|
|
178
|
+
const controller = new AbortController();
|
|
179
|
+
const timeoutId = setTimeout(() => controller.abort(), 30000); // 30 second timeout
|
|
180
|
+
|
|
181
|
+
let response;
|
|
182
|
+
try {
|
|
183
|
+
response = await fetch(PLATFORM_AUTH_CONFIG[platform].authEndpoint, {
|
|
184
|
+
method: 'POST',
|
|
185
|
+
headers: {
|
|
186
|
+
'Content-Type': 'application/json',
|
|
187
|
+
'User-Agent': 'OnairosReactNative/1.0'
|
|
188
|
+
},
|
|
189
|
+
body: JSON.stringify(jsonData),
|
|
190
|
+
signal: controller.signal
|
|
191
|
+
});
|
|
192
|
+
} catch (fetchError) {
|
|
193
|
+
clearTimeout(timeoutId);
|
|
194
|
+
if (fetchError.name === 'AbortError') {
|
|
195
|
+
throw new Error(`Request timeout: ${platform} OAuth server took too long to respond`);
|
|
196
|
+
}
|
|
197
|
+
throw new Error(`Network error: ${fetchError.message || 'Failed to connect to OAuth server'}`);
|
|
198
|
+
}
|
|
199
|
+
clearTimeout(timeoutId);
|
|
155
200
|
console.log(`📡 ${platform} OAuth response status:`, response.status);
|
|
156
201
|
console.log(`📡 ${platform} OAuth response headers:`, response.headers);
|
|
157
202
|
if (!response.ok) {
|
|
@@ -171,41 +216,108 @@ const initiateOAuth = async (platform, username, appName) => {
|
|
|
171
216
|
}
|
|
172
217
|
|
|
173
218
|
// Check if the response contains the OAuth URL based on platform
|
|
219
|
+
let oauthUrl = null;
|
|
174
220
|
switch (platform) {
|
|
175
221
|
case 'reddit':
|
|
176
|
-
|
|
222
|
+
oauthUrl = data.redditURL;
|
|
177
223
|
break;
|
|
178
224
|
case 'pinterest':
|
|
179
|
-
|
|
225
|
+
oauthUrl = data.pinterestURL;
|
|
180
226
|
break;
|
|
181
227
|
case 'youtube':
|
|
182
|
-
|
|
228
|
+
oauthUrl = data.youtubeURL;
|
|
183
229
|
break;
|
|
184
230
|
case 'email':
|
|
185
231
|
// Gmail might return under different field names
|
|
186
|
-
|
|
187
|
-
if (data.gmailURL) return data.gmailURL;
|
|
188
|
-
if (data.authUrl) return data.authUrl;
|
|
189
|
-
if (data.url) return data.url;
|
|
232
|
+
oauthUrl = data.emailURL || data.gmailURL || data.authUrl || data.url;
|
|
190
233
|
break;
|
|
191
234
|
default:
|
|
192
|
-
|
|
235
|
+
oauthUrl = data.url;
|
|
193
236
|
break;
|
|
194
237
|
}
|
|
195
|
-
|
|
196
|
-
|
|
238
|
+
if (!oauthUrl) {
|
|
239
|
+
console.error(`❌ No OAuth URL found in response for ${platform}. Response:`, data);
|
|
240
|
+
throw new Error(`No OAuth URL found in response for ${platform}`);
|
|
241
|
+
}
|
|
242
|
+
console.log(`✅ ${platform} OAuth URL received:`, oauthUrl);
|
|
243
|
+
|
|
244
|
+
// Validate the URL before returning
|
|
245
|
+
if (await validateOAuthUrl(oauthUrl)) {
|
|
246
|
+
return oauthUrl;
|
|
247
|
+
} else {
|
|
248
|
+
throw new Error(`Received invalid ${platform} OAuth URL`);
|
|
249
|
+
}
|
|
197
250
|
} catch (error) {
|
|
198
251
|
console.error(`Error initiating OAuth for ${platform}:`, error);
|
|
199
252
|
throw error;
|
|
200
253
|
}
|
|
201
254
|
};
|
|
202
255
|
|
|
256
|
+
/**
|
|
257
|
+
* Validates an OAuth URL to ensure it's reachable
|
|
258
|
+
* @param url The OAuth URL to validate
|
|
259
|
+
* @returns Promise<boolean> indicating if the URL is valid and reachable
|
|
260
|
+
*/
|
|
261
|
+
exports.initiateOAuth = initiateOAuth;
|
|
262
|
+
const validateOAuthUrl = async url => {
|
|
263
|
+
try {
|
|
264
|
+
console.log('🔍 Validating OAuth URL:', url);
|
|
265
|
+
|
|
266
|
+
// Basic URL format validation
|
|
267
|
+
if (!url || typeof url !== 'string') {
|
|
268
|
+
console.error('❌ Invalid URL format:', url);
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Check if URL starts with https
|
|
273
|
+
if (!url.startsWith('https://')) {
|
|
274
|
+
console.error('❌ URL must use HTTPS:', url);
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Try to parse the URL
|
|
279
|
+
try {
|
|
280
|
+
new URL(url);
|
|
281
|
+
} catch (parseError) {
|
|
282
|
+
console.error('❌ URL parsing failed:', parseError);
|
|
283
|
+
return false;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
// Make a HEAD request to check if the URL is reachable
|
|
287
|
+
const controller = new AbortController();
|
|
288
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout
|
|
289
|
+
|
|
290
|
+
try {
|
|
291
|
+
const response = await fetch(url, {
|
|
292
|
+
method: 'HEAD',
|
|
293
|
+
signal: controller.signal
|
|
294
|
+
});
|
|
295
|
+
clearTimeout(timeoutId);
|
|
296
|
+
|
|
297
|
+
// Accept any response that's not a network error
|
|
298
|
+
// OAuth pages might return various status codes
|
|
299
|
+
console.log('✅ OAuth URL validation successful, status:', response.status);
|
|
300
|
+
return true;
|
|
301
|
+
} catch (fetchError) {
|
|
302
|
+
clearTimeout(timeoutId);
|
|
303
|
+
if (fetchError.name === 'AbortError') {
|
|
304
|
+
console.warn('⚠️ OAuth URL validation timeout, but proceeding anyway');
|
|
305
|
+
return true; // Allow timeout as URLs might be slow to respond
|
|
306
|
+
}
|
|
307
|
+
console.warn('⚠️ OAuth URL validation failed, but proceeding anyway:', fetchError.message);
|
|
308
|
+
return true; // Allow network errors as they might be temporary
|
|
309
|
+
}
|
|
310
|
+
} catch (error) {
|
|
311
|
+
console.warn('⚠️ OAuth URL validation error, but proceeding anyway:', error);
|
|
312
|
+
return true; // Allow validation errors to not block the flow
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
|
|
203
316
|
/**
|
|
204
317
|
* Initiates the native SDK authentication flow for a platform
|
|
205
318
|
* @param platform The platform to authenticate with
|
|
206
319
|
* @returns A Promise that resolves to the authentication result
|
|
207
320
|
*/
|
|
208
|
-
exports.initiateOAuth = initiateOAuth;
|
|
209
321
|
const initiateNativeAuth = async (platform, username) => {
|
|
210
322
|
if (platform === 'youtube') {
|
|
211
323
|
console.log('🔗 Initiating native Google Sign-In for YouTube');
|
|
@@ -463,25 +575,58 @@ exports.isOAuthCallback = isOAuthCallback;
|
|
|
463
575
|
const testApiConnectivity = async () => {
|
|
464
576
|
try {
|
|
465
577
|
console.log('🔍 Testing connectivity to Onairos API...');
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
578
|
+
|
|
579
|
+
// Test multiple endpoints for better reliability
|
|
580
|
+
const testEndpoints = ['https://api2.onairos.uk/health', 'https://api2.onairos.uk' // Base URL
|
|
581
|
+
];
|
|
582
|
+
let lastError = null;
|
|
583
|
+
for (const endpoint of testEndpoints) {
|
|
584
|
+
try {
|
|
585
|
+
console.log(`🔍 Testing endpoint: ${endpoint}`);
|
|
586
|
+
const controller = new AbortController();
|
|
587
|
+
const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout
|
|
588
|
+
|
|
589
|
+
const response = await fetch(endpoint, {
|
|
590
|
+
method: 'GET',
|
|
591
|
+
headers: {
|
|
592
|
+
'Content-Type': 'application/json',
|
|
593
|
+
'User-Agent': 'OnairosReactNative/1.0'
|
|
594
|
+
},
|
|
595
|
+
signal: controller.signal
|
|
596
|
+
});
|
|
597
|
+
clearTimeout(timeoutId);
|
|
598
|
+
console.log(`🌐 API connectivity test response for ${endpoint}:`, response.status);
|
|
599
|
+
if (response.ok || response.status === 404) {
|
|
600
|
+
// Accept 404 as it means the server is reachable
|
|
601
|
+
console.log('✅ API server is reachable');
|
|
602
|
+
return {
|
|
603
|
+
success: true
|
|
604
|
+
};
|
|
605
|
+
} else {
|
|
606
|
+
console.log(`⚠️ API server responded with status ${response.status} for ${endpoint}`);
|
|
607
|
+
lastError = `API server error: ${response.status}`;
|
|
608
|
+
// Continue to next endpoint
|
|
609
|
+
}
|
|
610
|
+
} catch (fetchError) {
|
|
611
|
+
console.log(`❌ Failed to reach ${endpoint}:`, fetchError);
|
|
612
|
+
if (fetchError.name === 'AbortError') {
|
|
613
|
+
lastError = 'Connection timeout - API server took too long to respond';
|
|
614
|
+
} else if (fetchError.message.includes('Network request failed')) {
|
|
615
|
+
lastError = 'Network error - check your internet connection';
|
|
616
|
+
} else if (fetchError.message.includes('not connected to the internet')) {
|
|
617
|
+
lastError = 'No internet connection';
|
|
618
|
+
} else {
|
|
619
|
+
lastError = `Network error: ${fetchError.message}`;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
// Continue to next endpoint
|
|
470
623
|
}
|
|
471
|
-
});
|
|
472
|
-
console.log('🌐 API connectivity test response:', response.status);
|
|
473
|
-
if (response.ok) {
|
|
474
|
-
console.log('✅ API server is reachable');
|
|
475
|
-
return {
|
|
476
|
-
success: true
|
|
477
|
-
};
|
|
478
|
-
} else {
|
|
479
|
-
console.log('⚠️ API server responded with error:', response.status);
|
|
480
|
-
return {
|
|
481
|
-
success: false,
|
|
482
|
-
error: `API server error: ${response.status}`
|
|
483
|
-
};
|
|
484
624
|
}
|
|
625
|
+
console.error('❌ All API connectivity tests failed');
|
|
626
|
+
return {
|
|
627
|
+
success: false,
|
|
628
|
+
error: lastError || 'Cannot reach API server'
|
|
629
|
+
};
|
|
485
630
|
} catch (error) {
|
|
486
631
|
console.error('❌ API connectivity test failed:', error);
|
|
487
632
|
return {
|