From 2440c72bab271dfd753b88c9c62dcb2d738183e7 Mon Sep 17 00:00:00 2001 From: stelselim Date: Fri, 14 Aug 2026 13:50:43 +0200 Subject: [PATCH 1/2] fix: changelog.md --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4feba264..217e8c1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +- We hardened the Android main screen against overlay and tapjacking attacks, and removed the unused `SYSTEM_ALERT_WINDOW` permission. + +## [19.1.3] - 2026-08-07 + - We fixed an issue that could cause iOS apps to restart repeatedly after an OTA update. - Replaced @notifee/react-native with react-native-notify-kit library. - We addressed an issue on iOS, where a iOS-system dialogue would pop up during app startup, requesting a password. This was identified as part of Keychain read queries when a one-time keychain migration occurred. +## [19.1.2] - 2026-07-03 + +- Clean up of react-native patch, removing native-side patching to allow using prebuilt binaries on iOS. + +## [19.1.1] - 2026-06-23 + +- We fixed an issue that could cause iOS apps to restart repeatedly after an OTA update. + ## [19.1.0] - 2026-06-03 - We updated the react-native to v0.84.1 From 84108fd22863e116ec163860833aa885ecfb9260 Mon Sep 17 00:00:00 2001 From: stelselim Date: Fri, 14 Aug 2026 14:01:46 +0200 Subject: [PATCH 2/2] fix: address security issues and improve overlay handling on Android --- .../appstore/java/com/mendix/nativetemplate/MainActivity.java | 4 ++++ android/app/src/debug/AndroidManifest.xml | 1 - android/app/src/dev/AndroidManifest.xml | 3 ++- .../src/dev/java/com/mendix/nativetemplate/MainActivity.java | 4 ++++ android/app/src/main/AndroidManifest.xml | 4 +++- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/android/app/src/appstore/java/com/mendix/nativetemplate/MainActivity.java b/android/app/src/appstore/java/com/mendix/nativetemplate/MainActivity.java index 2532632c..9d5c50d8 100644 --- a/android/app/src/appstore/java/com/mendix/nativetemplate/MainActivity.java +++ b/android/app/src/appstore/java/com/mendix/nativetemplate/MainActivity.java @@ -21,6 +21,10 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { boolean hasDeveloperSupport = ((MainApplication) getApplication()).getUseDeveloperSupport(); mendixApp = new MendixApp(AppUrl.getUrlFromResource(this), MxConfiguration.WarningsFilter.none, hasDeveloperSupport, false); super.onCreate(savedInstanceState); + getWindow().getDecorView().setFilterTouchesWhenObscured(true); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + getWindow().setHideOverlayWindows(true); + } // Checks the current theme and apply the correct style (Backwards compatible) boolean isDarkMode; diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 2e1d956a..fa3b6d6e 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -4,7 +4,6 @@ package="com.mendix.nativetemplate"> - diff --git a/android/app/src/dev/AndroidManifest.xml b/android/app/src/dev/AndroidManifest.xml index 26739c5d..7cb684c8 100644 --- a/android/app/src/dev/AndroidManifest.xml +++ b/android/app/src/dev/AndroidManifest.xml @@ -17,6 +17,7 @@ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode|fontScale" android:launchMode="singleInstance" android:windowSoftInputMode="adjustPan" - android:exported="true"> + android:taskAffinity="" + android:exported="false"> diff --git a/android/app/src/dev/java/com/mendix/nativetemplate/MainActivity.java b/android/app/src/dev/java/com/mendix/nativetemplate/MainActivity.java index 63977ae7..b7158db4 100644 --- a/android/app/src/dev/java/com/mendix/nativetemplate/MainActivity.java +++ b/android/app/src/dev/java/com/mendix/nativetemplate/MainActivity.java @@ -57,6 +57,10 @@ public class MainActivity extends AppCompatActivity implements ZXingScannerView. protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_dev); + getWindow().getDecorView().setFilterTouchesWhenObscured(true); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + getWindow().setHideOverlayWindows(true); + } appPreferences = new AppPreferences(this); diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 37bef24e..77014ef9 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -7,7 +7,8 @@ tools:ignore="QueryAllPackagesPermission"/> - + + @@ -68,6 +69,7 @@ android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode|fontScale" android:windowSoftInputMode="adjustPan" + android:taskAffinity="" android:exported="true">