From 1bf8e33206884840df3e83983fa3ddba8edcd027 Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Tue, 4 Aug 2026 12:45:24 +0100 Subject: [PATCH 1/7] fix(ios): replace deprecated languageCode/regionCode with iOS 16 Locale APIs --- ios/Capacitor/Capacitor/Plugins/CapacitorUrlRequest.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ios/Capacitor/Capacitor/Plugins/CapacitorUrlRequest.swift b/ios/Capacitor/Capacitor/Plugins/CapacitorUrlRequest.swift index 344333688..2387f9935 100644 --- a/ios/Capacitor/Capacitor/Plugins/CapacitorUrlRequest.swift +++ b/ios/Capacitor/Capacitor/Plugins/CapacitorUrlRequest.swift @@ -12,8 +12,8 @@ open class CapacitorUrlRequest: NSObject, URLSessionTaskDelegate { request = URLRequest(url: url) request.httpMethod = method headers = [:] - if let lang = Locale.autoupdatingCurrent.languageCode { - if let country = Locale.autoupdatingCurrent.regionCode { + if let lang = Locale.autoupdatingCurrent.language.languageCode?.identifier { + if let country = Locale.autoupdatingCurrent.region?.identifier { headers["Accept-Language"] = "\(lang)-\(country),\(lang);q=0.5" } else { headers["Accept-Language"] = "\(lang);q=0.5" From 4bb472bc395569f5539cf413cae82343cce6e098 Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:05:00 +0100 Subject: [PATCH 2/7] fix(android): stop using deprecated hasPermission to read Cordova prefs --- .../getcapacitor/cordova/CordovaPlugin.java | 18 ++++++++---------- .../src/main/java/com/getcapacitor/Bridge.java | 14 ++++++-------- .../com/getcapacitor/CordovaBridgeConfig.java | 6 ++++++ 3 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 android/capacitor/src/main/java/com/getcapacitor/CordovaBridgeConfig.java diff --git a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java index 5fe4e74b5..8821bf51d 100644 --- a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java +++ b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java @@ -3,6 +3,7 @@ import android.content.Intent; import android.os.Bundle; import android.webkit.WebView; +import com.getcapacitor.CordovaBridgeConfig; import com.getcapacitor.Logger; import com.getcapacitor.Plugin; import com.getcapacitor.annotation.CapacitorPlugin; @@ -16,7 +17,7 @@ import org.json.JSONException; @CapacitorPlugin(name = "__CordovaPlugin") -public class CordovaPlugin extends Plugin { +public class CordovaPlugin extends Plugin implements CordovaBridgeConfig { private MockCordovaInterfaceImpl cordovaInterface; private CordovaWebView webView; @@ -83,16 +84,13 @@ protected void handleRequestPermissionsResult(int requestCode, String[] permissi } @Override - public boolean hasPermission(String permission) { - if (permission.equals("DisableDeploy")) { - return preferences.getBoolean(permission, false); - } - - if (permission.equals("KeepRunning")) { - return preferences.getBoolean(permission, true); - } + public boolean isDeployDisabled() { + return preferences.getBoolean("DisableDeploy", false); + } - return false; + @Override + public boolean shouldKeepRunning() { + return preferences.getBoolean("KeepRunning", true); } @Override diff --git a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java index 00dd89d60..1c7d178cc 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java +++ b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java @@ -381,20 +381,18 @@ private Plugin cordova() { public boolean isDeployDisabled() { Plugin cordova = this.cordova(); - if (cordova != null) { - return cordova.hasPermission("DisableDeploy"); - } else { - return false; + if (cordova instanceof CordovaBridgeConfig) { + return ((CordovaBridgeConfig) cordova).isDeployDisabled(); } + return false; } public boolean shouldKeepRunning() { Plugin cordova = this.cordova(); - if (cordova != null) { - return cordova.hasPermission("KeepRunning"); - } else { - return false; + if (cordova instanceof CordovaBridgeConfig) { + return ((CordovaBridgeConfig) cordova).shouldKeepRunning(); } + return false; } public void handleAppUrlLoadError(Exception ex) { diff --git a/android/capacitor/src/main/java/com/getcapacitor/CordovaBridgeConfig.java b/android/capacitor/src/main/java/com/getcapacitor/CordovaBridgeConfig.java new file mode 100644 index 000000000..784062aed --- /dev/null +++ b/android/capacitor/src/main/java/com/getcapacitor/CordovaBridgeConfig.java @@ -0,0 +1,6 @@ +package com.getcapacitor; + +public interface CordovaBridgeConfig { + boolean isDeployDisabled(); + boolean shouldKeepRunning(); +} From 172effa08ccdf6c29c5663eb7ab1229c4f7c1f48 Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:08:48 +0100 Subject: [PATCH 3/7] format code --- .../capacitor/src/main/java/com/getcapacitor/Bridge.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java index 1c7d178cc..7caa35848 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java +++ b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java @@ -379,18 +379,19 @@ private Plugin cordova() { return null; } - public boolean isDeployDisabled() { + + public boolean shouldKeepRunning() { Plugin cordova = this.cordova(); if (cordova instanceof CordovaBridgeConfig) { - return ((CordovaBridgeConfig) cordova).isDeployDisabled(); + return ((CordovaBridgeConfig) cordova).shouldKeepRunning(); } return false; } - public boolean shouldKeepRunning() { + public boolean isDeployDisabled() { Plugin cordova = this.cordova(); if (cordova instanceof CordovaBridgeConfig) { - return ((CordovaBridgeConfig) cordova).shouldKeepRunning(); + return ((CordovaBridgeConfig) cordova).isDeployDisabled(); } return false; } From b2970260b85fa9dd8aadb7c57731e094fc78f901 Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:09:52 +0100 Subject: [PATCH 4/7] format --- .../src/main/java/com/getcapacitor/Bridge.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java index 7caa35848..7c15abf4d 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java +++ b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java @@ -380,22 +380,6 @@ private Plugin cordova() { } - public boolean shouldKeepRunning() { - Plugin cordova = this.cordova(); - if (cordova instanceof CordovaBridgeConfig) { - return ((CordovaBridgeConfig) cordova).shouldKeepRunning(); - } - return false; - } - - public boolean isDeployDisabled() { - Plugin cordova = this.cordova(); - if (cordova instanceof CordovaBridgeConfig) { - return ((CordovaBridgeConfig) cordova).isDeployDisabled(); - } - return false; - } - public void handleAppUrlLoadError(Exception ex) { if (ex instanceof SocketTimeoutException) { Logger.error( From 25f00babcae38642c472ebd17fd31dfc17dd858d Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:11:23 +0100 Subject: [PATCH 5/7] format --- .../com/getcapacitor/cordova/CordovaPlugin.java | 10 +++++----- .../src/main/java/com/getcapacitor/Bridge.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java index 8821bf51d..c69c79b53 100644 --- a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java +++ b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java @@ -83,16 +83,16 @@ protected void handleRequestPermissionsResult(int requestCode, String[] permissi } } - @Override - public boolean isDeployDisabled() { - return preferences.getBoolean("DisableDeploy", false); - } - @Override public boolean shouldKeepRunning() { return preferences.getBoolean("KeepRunning", true); } + @Override + public boolean isDeployDisabled() { + return preferences.getBoolean("DisableDeploy", false); + } + @Override public boolean hasDefinedRequiredPermissions() { boolean currentPermissionResult = pluginHadPermissionResult; diff --git a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java index 7c15abf4d..171d4b6d1 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/Bridge.java +++ b/android/capacitor/src/main/java/com/getcapacitor/Bridge.java @@ -379,6 +379,21 @@ private Plugin cordova() { return null; } + public boolean shouldKeepRunning() { + Plugin cordova = this.cordova(); + if (cordova instanceof CordovaBridgeConfig) { + return ((CordovaBridgeConfig) cordova).shouldKeepRunning(); + } + return false; + } + + public boolean isDeployDisabled() { + Plugin cordova = this.cordova(); + if (cordova instanceof CordovaBridgeConfig) { + return ((CordovaBridgeConfig) cordova).isDeployDisabled(); + } + return false; + } public void handleAppUrlLoadError(Exception ex) { if (ex instanceof SocketTimeoutException) { From 8755ca9b8e32f444027d6e8f4d39dbe4f139b70c Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:12:11 +0100 Subject: [PATCH 6/7] format --- .../com/getcapacitor/cordova/CordovaPlugin.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java index c69c79b53..c2fc5a2ca 100644 --- a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java +++ b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java @@ -83,23 +83,23 @@ protected void handleRequestPermissionsResult(int requestCode, String[] permissi } } + @Override + public boolean hasDefinedRequiredPermissions() { + boolean currentPermissionResult = pluginHadPermissionResult; + pluginHadPermissionResult = false; + return currentPermissionResult; + } + @Override public boolean shouldKeepRunning() { return preferences.getBoolean("KeepRunning", true); } - @Override + @Override public boolean isDeployDisabled() { return preferences.getBoolean("DisableDeploy", false); } - @Override - public boolean hasDefinedRequiredPermissions() { - boolean currentPermissionResult = pluginHadPermissionResult; - pluginHadPermissionResult = false; - return currentPermissionResult; - } - @Override protected void handleOnActivityResult(int requestCode, int resultCode, Intent data) { pluginHadActivityResult = cordovaInterface.onActivityResult(requestCode, resultCode, data); From 019dd8a76d42e1a2fa4259e57f13565b87cb8934 Mon Sep 17 00:00:00 2001 From: Rui Moreira Mendes Date: Wed, 5 Aug 2026 12:13:14 +0100 Subject: [PATCH 7/7] format --- .../com/getcapacitor/cordova/CordovaPlugin.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java index c2fc5a2ca..0f42d5aae 100644 --- a/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java +++ b/android/capacitor-cordova/src/main/java/com/getcapacitor/cordova/CordovaPlugin.java @@ -83,13 +83,6 @@ protected void handleRequestPermissionsResult(int requestCode, String[] permissi } } - @Override - public boolean hasDefinedRequiredPermissions() { - boolean currentPermissionResult = pluginHadPermissionResult; - pluginHadPermissionResult = false; - return currentPermissionResult; - } - @Override public boolean shouldKeepRunning() { return preferences.getBoolean("KeepRunning", true); @@ -100,6 +93,13 @@ public boolean isDeployDisabled() { return preferences.getBoolean("DisableDeploy", false); } + @Override + public boolean hasDefinedRequiredPermissions() { + boolean currentPermissionResult = pluginHadPermissionResult; + pluginHadPermissionResult = false; + return currentPermissionResult; + } + @Override protected void handleOnActivityResult(int requestCode, int resultCode, Intent data) { pluginHadActivityResult = cordovaInterface.onActivityResult(requestCode, resultCode, data);