@onairos/react-native 3.0.35 → 3.0.36

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.
@@ -24,29 +24,67 @@ const OAuthWebView = ({
24
24
  }) => {
25
25
  const [isLoading, setIsLoading] = (0, _react.useState)(true);
26
26
  const [error, setError] = (0, _react.useState)(null);
27
+ const [retryCount, setRetryCount] = (0, _react.useState)(0);
27
28
  const webViewRef = (0, _react.useRef)(null);
29
+ const timeoutRef = (0, _react.useRef)(null);
28
30
  console.log('Opening OAuth WebView with URL:', url);
31
+
32
+ // Set up timeout for OAuth flow
33
+ _react.default.useEffect(() => {
34
+ // Clear any existing timeout
35
+ if (timeoutRef.current) {
36
+ clearTimeout(timeoutRef.current);
37
+ }
38
+
39
+ // Set a 60-second timeout for OAuth completion
40
+ timeoutRef.current = setTimeout(() => {
41
+ console.log('OAuth flow timeout - no completion detected');
42
+ setError('OAuth flow is taking too long. Please try again or use the browser option.');
43
+ setIsLoading(false);
44
+ }, 60000);
45
+ return () => {
46
+ if (timeoutRef.current) {
47
+ clearTimeout(timeoutRef.current);
48
+ }
49
+ };
50
+ }, [url]);
51
+
52
+ // Clear timeout when component unmounts or OAuth completes
53
+ _react.default.useEffect(() => {
54
+ return () => {
55
+ if (timeoutRef.current) {
56
+ clearTimeout(timeoutRef.current);
57
+ }
58
+ };
59
+ }, []);
29
60
  const handleNavigationStateChange = navState => {
30
61
  console.log(`Navigation state changed for ${platform}:`, navState.url);
31
62
 
63
+ // Check for error states first
64
+ if (navState.url.includes('error=') || navState.url.includes('access_denied')) {
65
+ console.log('OAuth error detected:', navState.url);
66
+ setError('Authentication was cancelled or failed. Please try again.');
67
+ return;
68
+ }
69
+
32
70
  // Check for the final redirect to onairos.uk domain (this means backend callback completed)
33
- const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home');
71
+ const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home') || navState.url.includes('onairos.uk') && navState.url.includes('success');
34
72
 
35
- // Platform-specific success patterns
73
+ // Enhanced platform-specific success patterns
36
74
  const platformSuccessPatterns = {
37
- reddit: [/reddit\.com\/api\/v1\/authorize\?done=true/, /reddit\.com\/api\/v1\/authorize\/success/],
38
- pinterest: [/pinterest\.com\/oauth\/success/, /pinterest\.com\/oauth\/complete/],
39
- linkedin: [/linkedin\.com\/oauth\/success/, /linkedin\.com\/oauth\/complete/, /linkedin\.com\/uas\/oauth2\/authorization\/success/],
40
- email: [/success/],
41
- instagram: [/instagram\.com\/oauth\/authorize\?done=true/, /instagram\.com\/oauth\/success/],
42
- youtube: [/accounts\.google\.com\/o\/oauth2\/approval/, /youtube\.com\/oauth\/success/]
75
+ reddit: [/reddit\.com\/api\/v1\/authorize\?done=true/, /reddit\.com\/api\/v1\/authorize\/success/, /reddit\.com.*code=/],
76
+ pinterest: [/pinterest\.com\/oauth\/success/, /pinterest\.com\/oauth\/complete/, /pinterest\.com.*code=/, /api2\.onairos\.uk\/pinterest\/callback/, /onairos\.uk.*pinterest/],
77
+ linkedin: [/linkedin\.com\/oauth\/success/, /linkedin\.com\/oauth\/complete/, /linkedin\.com\/uas\/oauth2\/authorization\/success/, /linkedin\.com.*code=/],
78
+ email: [/success/, /complete/],
79
+ instagram: [/instagram\.com\/oauth\/authorize\?done=true/, /instagram\.com\/oauth\/success/, /instagram\.com.*code=/, /api2\.onairos\.uk\/instagram\/callback/, /onairos\.uk.*instagram/],
80
+ youtube: [/accounts\.google\.com\/o\/oauth2\/approval/, /youtube\.com\/oauth\/success/, /accounts\.google\.com.*code=/, /api2\.onairos\.uk\/youtube\/callback/]
43
81
  };
44
82
 
45
83
  // Check for platform-specific success patterns
46
84
  const isPlatformSuccess = platform && platformSuccessPatterns[platform] ? platformSuccessPatterns[platform].some(pattern => pattern.test(navState.url)) : false;
47
85
 
48
86
  // Check for callback URLs that might contain the authorization code
49
- const isCallbackUrl = navState.url.includes('/callback') || navState.url.includes('code=') || navState.url.includes('token=') || navState.url.includes('access_token=');
87
+ const isCallbackUrl = navState.url.includes('/callback') || navState.url.includes('code=') || navState.url.includes('token=') || navState.url.includes('access_token=') || navState.url.includes('api2.onairos.uk') || navState.url.includes('oauth_token=');
50
88
 
51
89
  // Extract authorization code or token if present
52
90
  let authCode = null;
@@ -56,17 +94,36 @@ const OAuthWebView = ({
56
94
  // Try to extract code or token using different patterns
57
95
  const codeMatch = navState.url.match(/code=([^&]+)/);
58
96
  const tokenMatch = navState.url.match(/(?:token|access_token)=([^&]+)/);
97
+ const oauthTokenMatch = navState.url.match(/oauth_token=([^&]+)/);
59
98
  if (codeMatch && codeMatch[1]) {
60
- authCode = codeMatch[1];
99
+ authCode = decodeURIComponent(codeMatch[1]);
61
100
  console.log('OAuth code extracted:', authCode);
62
101
  } else if (tokenMatch && tokenMatch[1]) {
63
- authCode = tokenMatch[1];
102
+ authCode = decodeURIComponent(tokenMatch[1]);
103
+ console.log('OAuth token extracted:', authCode);
104
+ } else if (oauthTokenMatch && oauthTokenMatch[1]) {
105
+ authCode = decodeURIComponent(oauthTokenMatch[1]);
64
106
  console.log('OAuth token extracted:', authCode);
65
107
  }
66
108
 
67
109
  // Call onSuccess with the extracted code/token
68
110
  if (authCode) {
111
+ console.log(`Calling onSuccess for ${platform} with code:`, authCode);
112
+
113
+ // Clear timeout since OAuth completed successfully
114
+ if (timeoutRef.current) {
115
+ clearTimeout(timeoutRef.current);
116
+ }
69
117
  onSuccess(authCode);
118
+
119
+ // Close the OAuth window after a short delay
120
+ setTimeout(() => {
121
+ if (onComplete) {
122
+ console.log('Calling onComplete to close OAuth window');
123
+ onComplete();
124
+ }
125
+ }, 1000);
126
+ return;
70
127
  }
71
128
  }
72
129
 
@@ -76,6 +133,7 @@ const OAuthWebView = ({
76
133
 
77
134
  // If we haven't already extracted a code/token, consider this a generic success
78
135
  if (!authCode) {
136
+ console.log(`Calling onSuccess for ${platform} with generic success`);
79
137
  onSuccess('success');
80
138
  }
81
139
 
@@ -85,6 +143,17 @@ const OAuthWebView = ({
85
143
  onComplete();
86
144
  }
87
145
  }
146
+
147
+ // Handle specific redirect patterns that indicate completion
148
+ if (navState.url.includes('api2.onairos.uk') && (navState.url.includes('callback') || navState.url.includes('success'))) {
149
+ console.log(`Backend callback detected for ${platform}`);
150
+ onSuccess('backend_callback_success');
151
+ setTimeout(() => {
152
+ if (onComplete) {
153
+ onComplete();
154
+ }
155
+ }, 1500);
156
+ }
88
157
  };
89
158
  const handleLoadEnd = () => {
90
159
  setIsLoading(false);
@@ -95,14 +164,39 @@ const OAuthWebView = ({
95
164
  nativeEvent
96
165
  } = syntheticEvent;
97
166
  console.error('WebView error:', nativeEvent);
98
- setError('Failed to load OAuth page. Please try again.');
99
- setIsLoading(false);
167
+ if (retryCount < 2) {
168
+ console.log(`Retrying OAuth load (attempt ${retryCount + 1})`);
169
+ setRetryCount(prev => prev + 1);
170
+ setIsLoading(true);
171
+ setError(null);
172
+
173
+ // Retry after a short delay
174
+ setTimeout(() => {
175
+ if (webViewRef.current) {
176
+ webViewRef.current.reload();
177
+ }
178
+ }, 2000);
179
+ } else {
180
+ setError('Failed to load OAuth page. Please try again or use the browser option.');
181
+ setIsLoading(false);
182
+ }
100
183
  };
101
184
  const handleOpenInBrowser = () => {
185
+ console.log('Opening OAuth URL in external browser:', url);
102
186
  _reactNative.Linking.openURL(url).catch(err => {
103
187
  console.error('Failed to open URL in browser:', err);
188
+ setError('Unable to open browser. Please check your device settings.');
104
189
  });
105
190
  };
191
+ const handleRetry = () => {
192
+ console.log('Manual retry requested');
193
+ setError(null);
194
+ setIsLoading(true);
195
+ setRetryCount(0);
196
+ if (webViewRef.current) {
197
+ webViewRef.current.reload();
198
+ }
199
+ };
106
200
 
107
201
  /**
108
202
  * Get platform-specific icon
@@ -173,12 +267,19 @@ const OAuthWebView = ({
173
267
  style: styles.errorTitle
174
268
  }, "Connection Error"), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
175
269
  style: styles.errorMessage
176
- }, error), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
270
+ }, error), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
271
+ style: styles.buttonContainer
272
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
177
273
  style: styles.retryButton,
178
- onPress: handleOpenInBrowser
274
+ onPress: handleRetry
179
275
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
180
276
  style: styles.retryButtonText
181
- }, "Open in Browser"))));
277
+ }, "Retry")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
278
+ style: styles.browserButton,
279
+ onPress: handleOpenInBrowser
280
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
281
+ style: styles.browserButtonText
282
+ }, "Open in Browser")))));
182
283
  }
183
284
  return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
184
285
  style: styles.container
@@ -232,11 +333,35 @@ const OAuthWebView = ({
232
333
  mixedContentMode: "compatibility",
233
334
  thirdPartyCookiesEnabled: true,
234
335
  sharedCookiesEnabled: true,
235
- userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
336
+ cacheEnabled: true,
337
+ allowsBackForwardNavigationGestures: true,
338
+ allowsLinkPreview: false,
339
+ userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
236
340
  onShouldStartLoadWithRequest: request => {
237
- // Allow all requests by default
341
+ console.log('WebView attempting to load:', request.url);
342
+
343
+ // Block about:srcdoc and other problematic URLs
344
+ if (request.url.startsWith('about:') || request.url.startsWith('data:') || request.url === 'about:blank') {
345
+ console.log('Blocking problematic URL:', request.url);
346
+ return false;
347
+ }
348
+
349
+ // Allow all other requests
238
350
  return true;
239
351
  },
352
+ onLoadStart: syntheticEvent => {
353
+ const {
354
+ nativeEvent
355
+ } = syntheticEvent;
356
+ console.log('WebView load started:', nativeEvent.url);
357
+ setIsLoading(true);
358
+ },
359
+ onLoadProgress: syntheticEvent => {
360
+ const {
361
+ nativeEvent
362
+ } = syntheticEvent;
363
+ console.log('WebView load progress:', nativeEvent.progress);
364
+ },
240
365
  renderError: errorName => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
241
366
  style: styles.errorContainer
242
367
  }, /*#__PURE__*/_react.default.createElement(_MaterialIcons.default, {
@@ -249,10 +374,10 @@ const OAuthWebView = ({
249
374
  style: styles.errorMessage
250
375
  }, "Failed to load the authentication page. Error: ", errorName), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
251
376
  style: styles.retryButton,
252
- onPress: handleOpenInBrowser
377
+ onPress: handleRetry
253
378
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
254
379
  style: styles.retryButtonText
255
- }, "Open in Browser"))),
380
+ }, "Retry"))),
256
381
  renderLoading: () => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
257
382
  style: styles.loadingContainer
258
383
  }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
@@ -260,7 +385,30 @@ const OAuthWebView = ({
260
385
  color: _constants.COLORS.primary
261
386
  }), /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
262
387
  style: styles.loadingText
263
- }, "Loading ", platform, "..."))
388
+ }, "Loading ", platform, "...")),
389
+ injectedJavaScript: `
390
+ // Prevent white screen issues
391
+ window.addEventListener('error', function(e) {
392
+ console.log('JavaScript error:', e.message);
393
+ });
394
+
395
+ // Handle OAuth redirects
396
+ window.addEventListener('beforeunload', function(e) {
397
+ console.log('Page unloading:', window.location.href);
398
+ });
399
+
400
+ // Monitor for OAuth completion
401
+ setInterval(function() {
402
+ if (window.location.href.includes('code=') ||
403
+ window.location.href.includes('access_token=') ||
404
+ window.location.href.includes('oauth_token=') ||
405
+ window.location.href.includes('api2.onairos.uk')) {
406
+ console.log('OAuth completion detected:', window.location.href);
407
+ }
408
+ }, 1000);
409
+
410
+ true; // Required for injected JavaScript
411
+ `
264
412
  }));
265
413
  };
266
414
  exports.OAuthWebView = OAuthWebView;
@@ -297,10 +445,12 @@ const styles = _reactNative.StyleSheet.create({
297
445
  zIndex: 10
298
446
  },
299
447
  browserButton: {
300
- padding: 8,
301
- position: 'absolute',
302
- right: 16,
303
- zIndex: 10
448
+ backgroundColor: 'transparent',
449
+ borderWidth: 1,
450
+ borderColor: '#666',
451
+ paddingHorizontal: 24,
452
+ paddingVertical: 12,
453
+ borderRadius: 8
304
454
  },
305
455
  webView: {
306
456
  flex: 1
@@ -339,12 +489,24 @@ const styles = _reactNative.StyleSheet.create({
339
489
  backgroundColor: _constants.COLORS.primary,
340
490
  paddingHorizontal: 24,
341
491
  paddingVertical: 12,
342
- borderRadius: 8
492
+ borderRadius: 8,
493
+ marginRight: 10
343
494
  },
344
495
  retryButtonText: {
345
496
  color: '#fff',
346
497
  fontSize: 16,
347
498
  fontWeight: '600'
499
+ },
500
+ buttonContainer: {
501
+ flexDirection: 'row',
502
+ justifyContent: 'center',
503
+ alignItems: 'center',
504
+ marginTop: 10
505
+ },
506
+ browserButtonText: {
507
+ color: '#666',
508
+ fontSize: 16,
509
+ fontWeight: '600'
348
510
  }
349
511
  });
350
512
  //# 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","isLoading","setIsLoading","useState","error","setError","webViewRef","useRef","console","log","handleNavigationStateChange","navState","isFinalRedirect","includes","startsWith","platformSuccessPatterns","reddit","pinterest","linkedin","email","instagram","youtube","isPlatformSuccess","some","pattern","test","isCallbackUrl","authCode","codeMatch","match","tokenMatch","handleLoadEnd","handleError","syntheticEvent","nativeEvent","handleOpenInBrowser","Linking","openURL","catch","err","getPlatformIcon","getPlatformColor","COLORS","primary","createElement","SafeAreaView","style","styles","container","View","header","TouchableOpacity","onPress","closeButton","name","size","color","titleContainer","Text","titleText","charAt","toUpperCase","slice","errorContainer","errorTitle","errorMessage","retryButton","retryButtonText","browserButton","WebView","ref","source","uri","onNavigationStateChange","onLoadEnd","onError","onHttpError","webView","javaScriptEnabled","domStorageEnabled","startInLoadingState","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","mixedContentMode","thirdPartyCookiesEnabled","sharedCookiesEnabled","userAgent","onShouldStartLoadWithRequest","request","renderError","errorName","renderLoading","loadingContainer","ActivityIndicator","loadingText","exports","StyleSheet","create","flex","backgroundColor","flexDirection","alignItems","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","marginLeft","fontSize","fontWeight","padding","position","left","zIndex","right","absoluteFillObject","marginTop","marginBottom","textAlign","paddingVertical","borderRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","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","isLoading","setIsLoading","useState","error","setError","retryCount","setRetryCount","webViewRef","useRef","timeoutRef","console","log","React","useEffect","current","clearTimeout","setTimeout","handleNavigationStateChange","navState","includes","isFinalRedirect","startsWith","platformSuccessPatterns","reddit","pinterest","linkedin","email","instagram","youtube","isPlatformSuccess","some","pattern","test","isCallbackUrl","authCode","codeMatch","match","tokenMatch","oauthTokenMatch","decodeURIComponent","handleLoadEnd","handleError","syntheticEvent","nativeEvent","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","slice","errorContainer","errorTitle","errorMessage","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","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":[]}
@@ -16,29 +16,67 @@ export const OAuthWebView = ({
16
16
  }) => {
17
17
  const [isLoading, setIsLoading] = useState(true);
18
18
  const [error, setError] = useState(null);
19
+ const [retryCount, setRetryCount] = useState(0);
19
20
  const webViewRef = useRef(null);
21
+ const timeoutRef = useRef(null);
20
22
  console.log('Opening OAuth WebView with URL:', url);
23
+
24
+ // Set up timeout for OAuth flow
25
+ React.useEffect(() => {
26
+ // Clear any existing timeout
27
+ if (timeoutRef.current) {
28
+ clearTimeout(timeoutRef.current);
29
+ }
30
+
31
+ // Set a 60-second timeout for OAuth completion
32
+ timeoutRef.current = setTimeout(() => {
33
+ console.log('OAuth flow timeout - no completion detected');
34
+ setError('OAuth flow is taking too long. Please try again or use the browser option.');
35
+ setIsLoading(false);
36
+ }, 60000);
37
+ return () => {
38
+ if (timeoutRef.current) {
39
+ clearTimeout(timeoutRef.current);
40
+ }
41
+ };
42
+ }, [url]);
43
+
44
+ // Clear timeout when component unmounts or OAuth completes
45
+ React.useEffect(() => {
46
+ return () => {
47
+ if (timeoutRef.current) {
48
+ clearTimeout(timeoutRef.current);
49
+ }
50
+ };
51
+ }, []);
21
52
  const handleNavigationStateChange = navState => {
22
53
  console.log(`Navigation state changed for ${platform}:`, navState.url);
23
54
 
55
+ // Check for error states first
56
+ if (navState.url.includes('error=') || navState.url.includes('access_denied')) {
57
+ console.log('OAuth error detected:', navState.url);
58
+ setError('Authentication was cancelled or failed. Please try again.');
59
+ return;
60
+ }
61
+
24
62
  // Check for the final redirect to onairos.uk domain (this means backend callback completed)
25
- const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home');
63
+ const isFinalRedirect = navState.url.includes('onairos.uk/Home') || navState.url.includes('onairos.uk/home') || navState.url.includes('onairos.uk/success') || navState.url.startsWith('https://onairos.uk/Home') || navState.url.includes('onairos.uk') && navState.url.includes('success');
26
64
 
27
- // Platform-specific success patterns
65
+ // Enhanced platform-specific success patterns
28
66
  const platformSuccessPatterns = {
29
- reddit: [/reddit\.com\/api\/v1\/authorize\?done=true/, /reddit\.com\/api\/v1\/authorize\/success/],
30
- pinterest: [/pinterest\.com\/oauth\/success/, /pinterest\.com\/oauth\/complete/],
31
- linkedin: [/linkedin\.com\/oauth\/success/, /linkedin\.com\/oauth\/complete/, /linkedin\.com\/uas\/oauth2\/authorization\/success/],
32
- email: [/success/],
33
- instagram: [/instagram\.com\/oauth\/authorize\?done=true/, /instagram\.com\/oauth\/success/],
34
- youtube: [/accounts\.google\.com\/o\/oauth2\/approval/, /youtube\.com\/oauth\/success/]
67
+ reddit: [/reddit\.com\/api\/v1\/authorize\?done=true/, /reddit\.com\/api\/v1\/authorize\/success/, /reddit\.com.*code=/],
68
+ pinterest: [/pinterest\.com\/oauth\/success/, /pinterest\.com\/oauth\/complete/, /pinterest\.com.*code=/, /api2\.onairos\.uk\/pinterest\/callback/, /onairos\.uk.*pinterest/],
69
+ linkedin: [/linkedin\.com\/oauth\/success/, /linkedin\.com\/oauth\/complete/, /linkedin\.com\/uas\/oauth2\/authorization\/success/, /linkedin\.com.*code=/],
70
+ email: [/success/, /complete/],
71
+ instagram: [/instagram\.com\/oauth\/authorize\?done=true/, /instagram\.com\/oauth\/success/, /instagram\.com.*code=/, /api2\.onairos\.uk\/instagram\/callback/, /onairos\.uk.*instagram/],
72
+ youtube: [/accounts\.google\.com\/o\/oauth2\/approval/, /youtube\.com\/oauth\/success/, /accounts\.google\.com.*code=/, /api2\.onairos\.uk\/youtube\/callback/]
35
73
  };
36
74
 
37
75
  // Check for platform-specific success patterns
38
76
  const isPlatformSuccess = platform && platformSuccessPatterns[platform] ? platformSuccessPatterns[platform].some(pattern => pattern.test(navState.url)) : false;
39
77
 
40
78
  // Check for callback URLs that might contain the authorization code
41
- const isCallbackUrl = navState.url.includes('/callback') || navState.url.includes('code=') || navState.url.includes('token=') || navState.url.includes('access_token=');
79
+ const isCallbackUrl = navState.url.includes('/callback') || navState.url.includes('code=') || navState.url.includes('token=') || navState.url.includes('access_token=') || navState.url.includes('api2.onairos.uk') || navState.url.includes('oauth_token=');
42
80
 
43
81
  // Extract authorization code or token if present
44
82
  let authCode = null;
@@ -48,17 +86,36 @@ export const OAuthWebView = ({
48
86
  // Try to extract code or token using different patterns
49
87
  const codeMatch = navState.url.match(/code=([^&]+)/);
50
88
  const tokenMatch = navState.url.match(/(?:token|access_token)=([^&]+)/);
89
+ const oauthTokenMatch = navState.url.match(/oauth_token=([^&]+)/);
51
90
  if (codeMatch && codeMatch[1]) {
52
- authCode = codeMatch[1];
91
+ authCode = decodeURIComponent(codeMatch[1]);
53
92
  console.log('OAuth code extracted:', authCode);
54
93
  } else if (tokenMatch && tokenMatch[1]) {
55
- authCode = tokenMatch[1];
94
+ authCode = decodeURIComponent(tokenMatch[1]);
95
+ console.log('OAuth token extracted:', authCode);
96
+ } else if (oauthTokenMatch && oauthTokenMatch[1]) {
97
+ authCode = decodeURIComponent(oauthTokenMatch[1]);
56
98
  console.log('OAuth token extracted:', authCode);
57
99
  }
58
100
 
59
101
  // Call onSuccess with the extracted code/token
60
102
  if (authCode) {
103
+ console.log(`Calling onSuccess for ${platform} with code:`, authCode);
104
+
105
+ // Clear timeout since OAuth completed successfully
106
+ if (timeoutRef.current) {
107
+ clearTimeout(timeoutRef.current);
108
+ }
61
109
  onSuccess(authCode);
110
+
111
+ // Close the OAuth window after a short delay
112
+ setTimeout(() => {
113
+ if (onComplete) {
114
+ console.log('Calling onComplete to close OAuth window');
115
+ onComplete();
116
+ }
117
+ }, 1000);
118
+ return;
62
119
  }
63
120
  }
64
121
 
@@ -68,6 +125,7 @@ export const OAuthWebView = ({
68
125
 
69
126
  // If we haven't already extracted a code/token, consider this a generic success
70
127
  if (!authCode) {
128
+ console.log(`Calling onSuccess for ${platform} with generic success`);
71
129
  onSuccess('success');
72
130
  }
73
131
 
@@ -77,6 +135,17 @@ export const OAuthWebView = ({
77
135
  onComplete();
78
136
  }
79
137
  }
138
+
139
+ // Handle specific redirect patterns that indicate completion
140
+ if (navState.url.includes('api2.onairos.uk') && (navState.url.includes('callback') || navState.url.includes('success'))) {
141
+ console.log(`Backend callback detected for ${platform}`);
142
+ onSuccess('backend_callback_success');
143
+ setTimeout(() => {
144
+ if (onComplete) {
145
+ onComplete();
146
+ }
147
+ }, 1500);
148
+ }
80
149
  };
81
150
  const handleLoadEnd = () => {
82
151
  setIsLoading(false);
@@ -87,14 +156,39 @@ export const OAuthWebView = ({
87
156
  nativeEvent
88
157
  } = syntheticEvent;
89
158
  console.error('WebView error:', nativeEvent);
90
- setError('Failed to load OAuth page. Please try again.');
91
- setIsLoading(false);
159
+ if (retryCount < 2) {
160
+ console.log(`Retrying OAuth load (attempt ${retryCount + 1})`);
161
+ setRetryCount(prev => prev + 1);
162
+ setIsLoading(true);
163
+ setError(null);
164
+
165
+ // Retry after a short delay
166
+ setTimeout(() => {
167
+ if (webViewRef.current) {
168
+ webViewRef.current.reload();
169
+ }
170
+ }, 2000);
171
+ } else {
172
+ setError('Failed to load OAuth page. Please try again or use the browser option.');
173
+ setIsLoading(false);
174
+ }
92
175
  };
93
176
  const handleOpenInBrowser = () => {
177
+ console.log('Opening OAuth URL in external browser:', url);
94
178
  Linking.openURL(url).catch(err => {
95
179
  console.error('Failed to open URL in browser:', err);
180
+ setError('Unable to open browser. Please check your device settings.');
96
181
  });
97
182
  };
183
+ const handleRetry = () => {
184
+ console.log('Manual retry requested');
185
+ setError(null);
186
+ setIsLoading(true);
187
+ setRetryCount(0);
188
+ if (webViewRef.current) {
189
+ webViewRef.current.reload();
190
+ }
191
+ };
98
192
 
99
193
  /**
100
194
  * Get platform-specific icon
@@ -165,12 +259,19 @@ export const OAuthWebView = ({
165
259
  style: styles.errorTitle
166
260
  }, "Connection Error"), /*#__PURE__*/React.createElement(Text, {
167
261
  style: styles.errorMessage
168
- }, error), /*#__PURE__*/React.createElement(TouchableOpacity, {
262
+ }, error), /*#__PURE__*/React.createElement(View, {
263
+ style: styles.buttonContainer
264
+ }, /*#__PURE__*/React.createElement(TouchableOpacity, {
169
265
  style: styles.retryButton,
170
- onPress: handleOpenInBrowser
266
+ onPress: handleRetry
171
267
  }, /*#__PURE__*/React.createElement(Text, {
172
268
  style: styles.retryButtonText
173
- }, "Open in Browser"))));
269
+ }, "Retry")), /*#__PURE__*/React.createElement(TouchableOpacity, {
270
+ style: styles.browserButton,
271
+ onPress: handleOpenInBrowser
272
+ }, /*#__PURE__*/React.createElement(Text, {
273
+ style: styles.browserButtonText
274
+ }, "Open in Browser")))));
174
275
  }
175
276
  return /*#__PURE__*/React.createElement(SafeAreaView, {
176
277
  style: styles.container
@@ -224,11 +325,35 @@ export const OAuthWebView = ({
224
325
  mixedContentMode: "compatibility",
225
326
  thirdPartyCookiesEnabled: true,
226
327
  sharedCookiesEnabled: true,
227
- userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1",
328
+ cacheEnabled: true,
329
+ allowsBackForwardNavigationGestures: true,
330
+ allowsLinkPreview: false,
331
+ userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
228
332
  onShouldStartLoadWithRequest: request => {
229
- // Allow all requests by default
333
+ console.log('WebView attempting to load:', request.url);
334
+
335
+ // Block about:srcdoc and other problematic URLs
336
+ if (request.url.startsWith('about:') || request.url.startsWith('data:') || request.url === 'about:blank') {
337
+ console.log('Blocking problematic URL:', request.url);
338
+ return false;
339
+ }
340
+
341
+ // Allow all other requests
230
342
  return true;
231
343
  },
344
+ onLoadStart: syntheticEvent => {
345
+ const {
346
+ nativeEvent
347
+ } = syntheticEvent;
348
+ console.log('WebView load started:', nativeEvent.url);
349
+ setIsLoading(true);
350
+ },
351
+ onLoadProgress: syntheticEvent => {
352
+ const {
353
+ nativeEvent
354
+ } = syntheticEvent;
355
+ console.log('WebView load progress:', nativeEvent.progress);
356
+ },
232
357
  renderError: errorName => /*#__PURE__*/React.createElement(View, {
233
358
  style: styles.errorContainer
234
359
  }, /*#__PURE__*/React.createElement(Icon, {
@@ -241,10 +366,10 @@ export const OAuthWebView = ({
241
366
  style: styles.errorMessage
242
367
  }, "Failed to load the authentication page. Error: ", errorName), /*#__PURE__*/React.createElement(TouchableOpacity, {
243
368
  style: styles.retryButton,
244
- onPress: handleOpenInBrowser
369
+ onPress: handleRetry
245
370
  }, /*#__PURE__*/React.createElement(Text, {
246
371
  style: styles.retryButtonText
247
- }, "Open in Browser"))),
372
+ }, "Retry"))),
248
373
  renderLoading: () => /*#__PURE__*/React.createElement(View, {
249
374
  style: styles.loadingContainer
250
375
  }, /*#__PURE__*/React.createElement(ActivityIndicator, {
@@ -252,7 +377,30 @@ export const OAuthWebView = ({
252
377
  color: COLORS.primary
253
378
  }), /*#__PURE__*/React.createElement(Text, {
254
379
  style: styles.loadingText
255
- }, "Loading ", platform, "..."))
380
+ }, "Loading ", platform, "...")),
381
+ injectedJavaScript: `
382
+ // Prevent white screen issues
383
+ window.addEventListener('error', function(e) {
384
+ console.log('JavaScript error:', e.message);
385
+ });
386
+
387
+ // Handle OAuth redirects
388
+ window.addEventListener('beforeunload', function(e) {
389
+ console.log('Page unloading:', window.location.href);
390
+ });
391
+
392
+ // Monitor for OAuth completion
393
+ setInterval(function() {
394
+ if (window.location.href.includes('code=') ||
395
+ window.location.href.includes('access_token=') ||
396
+ window.location.href.includes('oauth_token=') ||
397
+ window.location.href.includes('api2.onairos.uk')) {
398
+ console.log('OAuth completion detected:', window.location.href);
399
+ }
400
+ }, 1000);
401
+
402
+ true; // Required for injected JavaScript
403
+ `
256
404
  }));
257
405
  };
258
406
  const styles = StyleSheet.create({
@@ -288,10 +436,12 @@ const styles = StyleSheet.create({
288
436
  zIndex: 10
289
437
  },
290
438
  browserButton: {
291
- padding: 8,
292
- position: 'absolute',
293
- right: 16,
294
- zIndex: 10
439
+ backgroundColor: 'transparent',
440
+ borderWidth: 1,
441
+ borderColor: '#666',
442
+ paddingHorizontal: 24,
443
+ paddingVertical: 12,
444
+ borderRadius: 8
295
445
  },
296
446
  webView: {
297
447
  flex: 1
@@ -330,12 +480,24 @@ const styles = StyleSheet.create({
330
480
  backgroundColor: COLORS.primary,
331
481
  paddingHorizontal: 24,
332
482
  paddingVertical: 12,
333
- borderRadius: 8
483
+ borderRadius: 8,
484
+ marginRight: 10
334
485
  },
335
486
  retryButtonText: {
336
487
  color: '#fff',
337
488
  fontSize: 16,
338
489
  fontWeight: '600'
490
+ },
491
+ buttonContainer: {
492
+ flexDirection: 'row',
493
+ justifyContent: 'center',
494
+ alignItems: 'center',
495
+ marginTop: 10
496
+ },
497
+ browserButtonText: {
498
+ color: '#666',
499
+ fontSize: 16,
500
+ fontWeight: '600'
339
501
  }
340
502
  });
341
503
  //# sourceMappingURL=OAuthWebView.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useRef","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","SafeAreaView","Dimensions","Linking","WebView","Icon","COLORS","width","height","get","OAuthWebView","url","onClose","onSuccess","platform","onComplete","isLoading","setIsLoading","error","setError","webViewRef","console","log","handleNavigationStateChange","navState","isFinalRedirect","includes","startsWith","platformSuccessPatterns","reddit","pinterest","linkedin","email","instagram","youtube","isPlatformSuccess","some","pattern","test","isCallbackUrl","authCode","codeMatch","match","tokenMatch","handleLoadEnd","handleError","syntheticEvent","nativeEvent","handleOpenInBrowser","openURL","catch","err","getPlatformIcon","getPlatformColor","primary","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","titleText","charAt","toUpperCase","slice","errorContainer","errorTitle","errorMessage","retryButton","retryButtonText","browserButton","ref","source","uri","onNavigationStateChange","onLoadEnd","onError","onHttpError","webView","javaScriptEnabled","domStorageEnabled","startInLoadingState","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","mixedContentMode","thirdPartyCookiesEnabled","sharedCookiesEnabled","userAgent","onShouldStartLoadWithRequest","request","renderError","errorName","renderLoading","loadingContainer","loadingText","create","flex","backgroundColor","flexDirection","alignItems","borderBottomWidth","borderBottomColor","paddingHorizontal","justifyContent","marginLeft","fontSize","fontWeight","padding","position","left","zIndex","right","absoluteFillObject","marginTop","marginBottom","textAlign","paddingVertical","borderRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/onboarding/OAuthWebView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useRef","View","Text","StyleSheet","TouchableOpacity","ActivityIndicator","SafeAreaView","Dimensions","Linking","WebView","Icon","COLORS","width","height","get","OAuthWebView","url","onClose","onSuccess","platform","onComplete","isLoading","setIsLoading","error","setError","retryCount","setRetryCount","webViewRef","timeoutRef","console","log","useEffect","current","clearTimeout","setTimeout","handleNavigationStateChange","navState","includes","isFinalRedirect","startsWith","platformSuccessPatterns","reddit","pinterest","linkedin","email","instagram","youtube","isPlatformSuccess","some","pattern","test","isCallbackUrl","authCode","codeMatch","match","tokenMatch","oauthTokenMatch","decodeURIComponent","handleLoadEnd","handleError","syntheticEvent","nativeEvent","prev","reload","handleOpenInBrowser","openURL","catch","err","handleRetry","getPlatformIcon","getPlatformColor","primary","createElement","style","styles","container","header","onPress","closeButton","name","size","color","titleContainer","titleText","charAt","toUpperCase","slice","errorContainer","errorTitle","errorMessage","buttonContainer","retryButton","retryButtonText","browserButton","browserButtonText","ref","source","uri","onNavigationStateChange","onLoadEnd","onError","onHttpError","webView","javaScriptEnabled","domStorageEnabled","startInLoadingState","scalesPageToFit","allowsInlineMediaPlayback","mediaPlaybackRequiresUserAction","mixedContentMode","thirdPartyCookiesEnabled","sharedCookiesEnabled","cacheEnabled","allowsBackForwardNavigationGestures","allowsLinkPreview","userAgent","onShouldStartLoadWithRequest","request","onLoadStart","onLoadProgress","progress","renderError","errorName","renderLoading","loadingContainer","loadingText","injectedJavaScript","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":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthWebView.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/OAuthWebView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAiBhD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiQpD,CAAC"}
1
+ {"version":3,"file":"OAuthWebView.d.ts","sourceRoot":"","sources":["../../../../src/components/onboarding/OAuthWebView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAiBhD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqapD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onairos/react-native",
3
- "version": "3.0.35",
3
+ "version": "3.0.36",
4
4
  "description": "Onairos React Native SDK for social media authentication and AI model training",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -32,44 +32,94 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
32
32
  }) => {
33
33
  const [isLoading, setIsLoading] = useState(true);
34
34
  const [error, setError] = useState<string | null>(null);
35
+ const [retryCount, setRetryCount] = useState(0);
35
36
  const webViewRef = useRef<WebView>(null);
37
+ const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);
36
38
 
37
39
  console.log('Opening OAuth WebView with URL:', url);
38
40
 
41
+ // Set up timeout for OAuth flow
42
+ React.useEffect(() => {
43
+ // Clear any existing timeout
44
+ if (timeoutRef.current) {
45
+ clearTimeout(timeoutRef.current);
46
+ }
47
+
48
+ // Set a 60-second timeout for OAuth completion
49
+ timeoutRef.current = setTimeout(() => {
50
+ console.log('OAuth flow timeout - no completion detected');
51
+ setError('OAuth flow is taking too long. Please try again or use the browser option.');
52
+ setIsLoading(false);
53
+ }, 60000);
54
+
55
+ return () => {
56
+ if (timeoutRef.current) {
57
+ clearTimeout(timeoutRef.current);
58
+ }
59
+ };
60
+ }, [url]);
61
+
62
+ // Clear timeout when component unmounts or OAuth completes
63
+ React.useEffect(() => {
64
+ return () => {
65
+ if (timeoutRef.current) {
66
+ clearTimeout(timeoutRef.current);
67
+ }
68
+ };
69
+ }, []);
70
+
39
71
  const handleNavigationStateChange = (navState: any) => {
40
72
  console.log(`Navigation state changed for ${platform}:`, navState.url);
41
73
 
74
+ // Check for error states first
75
+ if (navState.url.includes('error=') || navState.url.includes('access_denied')) {
76
+ console.log('OAuth error detected:', navState.url);
77
+ setError('Authentication was cancelled or failed. Please try again.');
78
+ return;
79
+ }
80
+
42
81
  // Check for the final redirect to onairos.uk domain (this means backend callback completed)
43
82
  const isFinalRedirect = (
44
83
  navState.url.includes('onairos.uk/Home') ||
45
84
  navState.url.includes('onairos.uk/home') ||
46
85
  navState.url.includes('onairos.uk/success') ||
47
- navState.url.startsWith('https://onairos.uk/Home')
86
+ navState.url.startsWith('https://onairos.uk/Home') ||
87
+ navState.url.includes('onairos.uk') && navState.url.includes('success')
48
88
  );
49
89
 
50
- // Platform-specific success patterns
90
+ // Enhanced platform-specific success patterns
51
91
  const platformSuccessPatterns: Record<string, RegExp[]> = {
52
92
  reddit: [
53
93
  /reddit\.com\/api\/v1\/authorize\?done=true/,
54
- /reddit\.com\/api\/v1\/authorize\/success/
94
+ /reddit\.com\/api\/v1\/authorize\/success/,
95
+ /reddit\.com.*code=/
55
96
  ],
56
97
  pinterest: [
57
98
  /pinterest\.com\/oauth\/success/,
58
- /pinterest\.com\/oauth\/complete/
99
+ /pinterest\.com\/oauth\/complete/,
100
+ /pinterest\.com.*code=/,
101
+ /api2\.onairos\.uk\/pinterest\/callback/,
102
+ /onairos\.uk.*pinterest/
59
103
  ],
60
104
  linkedin: [
61
105
  /linkedin\.com\/oauth\/success/,
62
106
  /linkedin\.com\/oauth\/complete/,
63
- /linkedin\.com\/uas\/oauth2\/authorization\/success/
107
+ /linkedin\.com\/uas\/oauth2\/authorization\/success/,
108
+ /linkedin\.com.*code=/
64
109
  ],
65
- email: [/success/],
110
+ email: [/success/, /complete/],
66
111
  instagram: [
67
112
  /instagram\.com\/oauth\/authorize\?done=true/,
68
- /instagram\.com\/oauth\/success/
113
+ /instagram\.com\/oauth\/success/,
114
+ /instagram\.com.*code=/,
115
+ /api2\.onairos\.uk\/instagram\/callback/,
116
+ /onairos\.uk.*instagram/
69
117
  ],
70
118
  youtube: [
71
119
  /accounts\.google\.com\/o\/oauth2\/approval/,
72
- /youtube\.com\/oauth\/success/
120
+ /youtube\.com\/oauth\/success/,
121
+ /accounts\.google\.com.*code=/,
122
+ /api2\.onairos\.uk\/youtube\/callback/
73
123
  ]
74
124
  };
75
125
 
@@ -83,7 +133,9 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
83
133
  navState.url.includes('/callback') ||
84
134
  navState.url.includes('code=') ||
85
135
  navState.url.includes('token=') ||
86
- navState.url.includes('access_token=')
136
+ navState.url.includes('access_token=') ||
137
+ navState.url.includes('api2.onairos.uk') ||
138
+ navState.url.includes('oauth_token=')
87
139
  );
88
140
 
89
141
  // Extract authorization code or token if present
@@ -94,18 +146,38 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
94
146
  // Try to extract code or token using different patterns
95
147
  const codeMatch = navState.url.match(/code=([^&]+)/);
96
148
  const tokenMatch = navState.url.match(/(?:token|access_token)=([^&]+)/);
149
+ const oauthTokenMatch = navState.url.match(/oauth_token=([^&]+)/);
97
150
 
98
151
  if (codeMatch && codeMatch[1]) {
99
- authCode = codeMatch[1];
152
+ authCode = decodeURIComponent(codeMatch[1]);
100
153
  console.log('OAuth code extracted:', authCode);
101
154
  } else if (tokenMatch && tokenMatch[1]) {
102
- authCode = tokenMatch[1];
155
+ authCode = decodeURIComponent(tokenMatch[1]);
156
+ console.log('OAuth token extracted:', authCode);
157
+ } else if (oauthTokenMatch && oauthTokenMatch[1]) {
158
+ authCode = decodeURIComponent(oauthTokenMatch[1]);
103
159
  console.log('OAuth token extracted:', authCode);
104
160
  }
105
161
 
106
162
  // Call onSuccess with the extracted code/token
107
163
  if (authCode) {
164
+ console.log(`Calling onSuccess for ${platform} with code:`, authCode);
165
+
166
+ // Clear timeout since OAuth completed successfully
167
+ if (timeoutRef.current) {
168
+ clearTimeout(timeoutRef.current);
169
+ }
170
+
108
171
  onSuccess(authCode);
172
+
173
+ // Close the OAuth window after a short delay
174
+ setTimeout(() => {
175
+ if (onComplete) {
176
+ console.log('Calling onComplete to close OAuth window');
177
+ onComplete();
178
+ }
179
+ }, 1000);
180
+ return;
109
181
  }
110
182
  }
111
183
 
@@ -115,6 +187,7 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
115
187
 
116
188
  // If we haven't already extracted a code/token, consider this a generic success
117
189
  if (!authCode) {
190
+ console.log(`Calling onSuccess for ${platform} with generic success`);
118
191
  onSuccess('success');
119
192
  }
120
193
 
@@ -124,6 +197,19 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
124
197
  onComplete();
125
198
  }
126
199
  }
200
+
201
+ // Handle specific redirect patterns that indicate completion
202
+ if (navState.url.includes('api2.onairos.uk') &&
203
+ (navState.url.includes('callback') || navState.url.includes('success'))) {
204
+ console.log(`Backend callback detected for ${platform}`);
205
+ onSuccess('backend_callback_success');
206
+
207
+ setTimeout(() => {
208
+ if (onComplete) {
209
+ onComplete();
210
+ }
211
+ }, 1500);
212
+ }
127
213
  };
128
214
 
129
215
  const handleLoadEnd = () => {
@@ -134,16 +220,44 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
134
220
  const handleError = (syntheticEvent: any) => {
135
221
  const { nativeEvent } = syntheticEvent;
136
222
  console.error('WebView error:', nativeEvent);
137
- setError('Failed to load OAuth page. Please try again.');
138
- setIsLoading(false);
223
+
224
+ if (retryCount < 2) {
225
+ console.log(`Retrying OAuth load (attempt ${retryCount + 1})`);
226
+ setRetryCount(prev => prev + 1);
227
+ setIsLoading(true);
228
+ setError(null);
229
+
230
+ // Retry after a short delay
231
+ setTimeout(() => {
232
+ if (webViewRef.current) {
233
+ webViewRef.current.reload();
234
+ }
235
+ }, 2000);
236
+ } else {
237
+ setError('Failed to load OAuth page. Please try again or use the browser option.');
238
+ setIsLoading(false);
239
+ }
139
240
  };
140
241
 
141
242
  const handleOpenInBrowser = () => {
243
+ console.log('Opening OAuth URL in external browser:', url);
142
244
  Linking.openURL(url).catch(err => {
143
245
  console.error('Failed to open URL in browser:', err);
246
+ setError('Unable to open browser. Please check your device settings.');
144
247
  });
145
248
  };
146
249
 
250
+ const handleRetry = () => {
251
+ console.log('Manual retry requested');
252
+ setError(null);
253
+ setIsLoading(true);
254
+ setRetryCount(0);
255
+
256
+ if (webViewRef.current) {
257
+ webViewRef.current.reload();
258
+ }
259
+ };
260
+
147
261
  /**
148
262
  * Get platform-specific icon
149
263
  */
@@ -205,9 +319,14 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
205
319
  <Icon name="error-outline" size={48} color="#FF6B6B" />
206
320
  <Text style={styles.errorTitle}>Connection Error</Text>
207
321
  <Text style={styles.errorMessage}>{error}</Text>
208
- <TouchableOpacity style={styles.retryButton} onPress={handleOpenInBrowser}>
209
- <Text style={styles.retryButtonText}>Open in Browser</Text>
210
- </TouchableOpacity>
322
+ <View style={styles.buttonContainer}>
323
+ <TouchableOpacity style={styles.retryButton} onPress={handleRetry}>
324
+ <Text style={styles.retryButtonText}>Retry</Text>
325
+ </TouchableOpacity>
326
+ <TouchableOpacity style={styles.browserButton} onPress={handleOpenInBrowser}>
327
+ <Text style={styles.browserButtonText}>Open in Browser</Text>
328
+ </TouchableOpacity>
329
+ </View>
211
330
  </View>
212
331
  </SafeAreaView>
213
332
  );
@@ -254,11 +373,33 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
254
373
  mixedContentMode="compatibility"
255
374
  thirdPartyCookiesEnabled={true}
256
375
  sharedCookiesEnabled={true}
257
- userAgent="Mozilla/5.0 (iPhone; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1"
376
+ cacheEnabled={true}
377
+ allowsBackForwardNavigationGestures={true}
378
+ allowsLinkPreview={false}
379
+ userAgent="Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
258
380
  onShouldStartLoadWithRequest={(request) => {
259
- // Allow all requests by default
381
+ console.log('WebView attempting to load:', request.url);
382
+
383
+ // Block about:srcdoc and other problematic URLs
384
+ if (request.url.startsWith('about:') ||
385
+ request.url.startsWith('data:') ||
386
+ request.url === 'about:blank') {
387
+ console.log('Blocking problematic URL:', request.url);
388
+ return false;
389
+ }
390
+
391
+ // Allow all other requests
260
392
  return true;
261
393
  }}
394
+ onLoadStart={(syntheticEvent) => {
395
+ const { nativeEvent } = syntheticEvent;
396
+ console.log('WebView load started:', nativeEvent.url);
397
+ setIsLoading(true);
398
+ }}
399
+ onLoadProgress={(syntheticEvent) => {
400
+ const { nativeEvent } = syntheticEvent;
401
+ console.log('WebView load progress:', nativeEvent.progress);
402
+ }}
262
403
  renderError={(errorName) => (
263
404
  <View style={styles.errorContainer}>
264
405
  <Icon name="error-outline" size={48} color="#FF6B6B" />
@@ -266,8 +407,8 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
266
407
  <Text style={styles.errorMessage}>
267
408
  Failed to load the authentication page. Error: {errorName}
268
409
  </Text>
269
- <TouchableOpacity style={styles.retryButton} onPress={handleOpenInBrowser}>
270
- <Text style={styles.retryButtonText}>Open in Browser</Text>
410
+ <TouchableOpacity style={styles.retryButton} onPress={handleRetry}>
411
+ <Text style={styles.retryButtonText}>Retry</Text>
271
412
  </TouchableOpacity>
272
413
  </View>
273
414
  )}
@@ -277,6 +418,29 @@ export const OAuthWebView: React.FC<OAuthWebViewProps> = ({
277
418
  <Text style={styles.loadingText}>Loading {platform}...</Text>
278
419
  </View>
279
420
  )}
421
+ injectedJavaScript={`
422
+ // Prevent white screen issues
423
+ window.addEventListener('error', function(e) {
424
+ console.log('JavaScript error:', e.message);
425
+ });
426
+
427
+ // Handle OAuth redirects
428
+ window.addEventListener('beforeunload', function(e) {
429
+ console.log('Page unloading:', window.location.href);
430
+ });
431
+
432
+ // Monitor for OAuth completion
433
+ setInterval(function() {
434
+ if (window.location.href.includes('code=') ||
435
+ window.location.href.includes('access_token=') ||
436
+ window.location.href.includes('oauth_token=') ||
437
+ window.location.href.includes('api2.onairos.uk')) {
438
+ console.log('OAuth completion detected:', window.location.href);
439
+ }
440
+ }, 1000);
441
+
442
+ true; // Required for injected JavaScript
443
+ `}
280
444
  />
281
445
  </SafeAreaView>
282
446
  );
@@ -315,10 +479,12 @@ const styles = StyleSheet.create({
315
479
  zIndex: 10,
316
480
  },
317
481
  browserButton: {
318
- padding: 8,
319
- position: 'absolute',
320
- right: 16,
321
- zIndex: 10,
482
+ backgroundColor: 'transparent',
483
+ borderWidth: 1,
484
+ borderColor: '#666',
485
+ paddingHorizontal: 24,
486
+ paddingVertical: 12,
487
+ borderRadius: 8,
322
488
  },
323
489
  webView: {
324
490
  flex: 1,
@@ -358,10 +524,22 @@ const styles = StyleSheet.create({
358
524
  paddingHorizontal: 24,
359
525
  paddingVertical: 12,
360
526
  borderRadius: 8,
527
+ marginRight: 10,
361
528
  },
362
529
  retryButtonText: {
363
530
  color: '#fff',
364
531
  fontSize: 16,
365
532
  fontWeight: '600',
366
533
  },
534
+ buttonContainer: {
535
+ flexDirection: 'row',
536
+ justifyContent: 'center',
537
+ alignItems: 'center',
538
+ marginTop: 10,
539
+ },
540
+ browserButtonText: {
541
+ color: '#666',
542
+ fontSize: 16,
543
+ fontWeight: '600',
544
+ },
367
545
  });