diff --git a/android/gradlew b/android/gradlew old mode 100644 new mode 100755 diff --git a/src/screens/AddonsScreen.tsx b/src/screens/AddonsScreen.tsx index 1bc8b64..77f556f 100644 --- a/src/screens/AddonsScreen.tsx +++ b/src/screens/AddonsScreen.tsx @@ -700,7 +700,7 @@ const AddonsScreen = () => { }; const handleAddAddon = async (url?: string) => { - const urlToInstall = url || addonUrl; + let urlToInstall = url || addonUrl; if (!urlToInstall) { setAlertTitle('Error'); setAlertMessage('Please enter an addon URL or select a community addon'); @@ -709,6 +709,11 @@ const AddonsScreen = () => { return; } + // Replace stremio:// with https:// if present + if (urlToInstall.startsWith('stremio://')) { + urlToInstall = urlToInstall.replace(/^stremio:\/\//, 'https://'); + } + try { setInstalling(true); const manifest = await stremioService.getManifest(urlToInstall); @@ -716,11 +721,11 @@ const AddonsScreen = () => { setAddonUrl(urlToInstall); setShowConfirmModal(true); } catch (error) { - logger.error('Failed to fetch addon details:', error); - setAlertTitle('Error'); - setAlertMessage(`Failed to fetch addon details from ${urlToInstall}`); - setAlertActions([{ label: 'OK', onPress: () => setAlertVisible(false) }]); - setAlertVisible(true); + logger.error('Failed to fetch addon details:', error); + setAlertTitle('Error'); + setAlertMessage(`Failed to fetch addon details from ${urlToInstall}`); + setAlertActions([{ label: 'OK', onPress: () => setAlertVisible(false) }]); + setAlertVisible(true); } finally { setInstalling(false); }