From c96d74701fee2eed6e9b6f9659b286af30ebaa88 Mon Sep 17 00:00:00 2001 From: Yogendra Shelke Date: Wed, 31 Dec 2025 22:12:24 +0530 Subject: [PATCH] feat: persist session cookies on iOS and update MendixNative to v0.3.1 --- ios/DeveloperApp/AppDelegate.swift | 9 +++ ios/Podfile.lock | 6 +- package-lock.json | 110 ++++++++++++++++++++++------- package.json | 2 +- 4 files changed, 97 insertions(+), 30 deletions(-) diff --git a/ios/DeveloperApp/AppDelegate.swift b/ios/DeveloperApp/AppDelegate.swift index 89c8be2..7f9a97d 100644 --- a/ios/DeveloperApp/AppDelegate.swift +++ b/ios/DeveloperApp/AppDelegate.swift @@ -16,6 +16,7 @@ class AppDelegate: ReactAppProvider { override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { super.setUpProvider() super.application(application, didFinishLaunchingWithOptions: launchOptions) + NativeCookieModule.restoreSessionCookies() clearKeychainIfNecessary() setUpDevice() setUpGoogleMaps() @@ -36,6 +37,14 @@ class AppDelegate: ReactAppProvider { return true } + override func applicationDidEnterBackground(_ application: UIApplication) { + NativeCookieModule.persistSessionCookies() + } + + override func applicationWillTerminate(_ application: UIApplication) { + NativeCookieModule.persistSessionCookies() + } + private func launchMendixAppWithOptions(options: [AnyHashable: Any] = [:]) { ReactNative.shared.setup(MendixAppEntryType.deeplink.mendixApp, launchOptions: options) ReactNative.shared.start() diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 5d9dec1..0ae35ef 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -189,7 +189,7 @@ PODS: - libwebp/sharpyuv (1.5.0) - libwebp/webp (1.5.0): - libwebp/sharpyuv - - MendixNative (0.3.0): + - MendixNative (0.3.1): - DoubleConversion - glog - hermes-engine @@ -2974,7 +2974,7 @@ SPEC CHECKSUMS: hermes-engine: 2771b98fb813fdc6f92edd7c9c0035ecabf9fee7 IQKeyboardManager: c8665b3396bd0b79402b4c573eac345a31c7d485 libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8 - MendixNative: a55e00448d33a66d59bd4b5c5d3057123d34337c + MendixNative: 358ef00fc883a39da69680c6c2a09ecf85a0b887 MultiplatformBleAdapter: 5a6a897b006764392f9cef785e4360f54fb9477d nanopb: 438bc412db1928dac798aa6fd75726007be04262 op-sqlite: 12554de3e1a0cb86cbad3cf1f0c50450f57d3855 @@ -3086,6 +3086,6 @@ SPEC CHECKSUMS: VisionCamera: 9a8f98ae344fe5d148f84bb45829f9e4caab9d2f Yoga: e14bad835e12b6c7e2260fc320bd00e0f4b45add -PODFILE CHECKSUM: 31efe3f3eb2c09c2c2cd75ac7556c032a5324d1f +PODFILE CHECKSUM: 6d3ca2b313f2042ecffa8f1e7cca1d98ea668bfe COCOAPODS: 1.16.2 diff --git a/package-lock.json b/package-lock.json index 0538398..4507e37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,7 +30,7 @@ "@react-native-picker/picker": "2.11.0", "@sbaiahmed1/react-native-biometrics": "0.4.0", "@swan-io/react-native-browser": "0.4.1", - "mendix-native": "https://github.com/mendix/mendix-native/releases/download/v0.3.0/mendix-native-v0.3.0.tgz", + "mendix-native": "https://github.com/mendix/mendix-native/releases/download/v0.3.1/mendix-native-v0.3.1.tgz", "react-native": "0.78.2", "react-native-ble-plx": "2.0.3", "react-native-blob-util": "0.21.3", @@ -3847,23 +3847,23 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -3879,12 +3879,41 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -6751,9 +6780,9 @@ "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" }, "node_modules/mendix-native": { - "version": "0.3.0", - "resolved": "https://github.com/mendix/mendix-native/releases/download/v0.3.0/mendix-native-v0.3.0.tgz", - "integrity": "sha512-h1dNSBaUHu+XEqa7GW8LfnWmguKNoZkZHZuLE4+OoWNatXh/MHkYaZwmN1zX3y9uQGOVBQdx5R1yaUvLqmrvTQ==", + "version": "0.3.1", + "resolved": "https://github.com/mendix/mendix-native/releases/download/v0.3.1/mendix-native-v0.3.1.tgz", + "integrity": "sha512-AgBSUsgWoQJ8wdfToyKgBgg4MFt3MDafJp9ScA37CGsaSlp3Wc2ie1GJGN9ItbFQHr7LIwKYUFynAcOENHfJ+w==", "license": "MIT", "workspaces": [ "example" @@ -8194,12 +8223,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -8255,16 +8284,45 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "engines": { "node": ">= 0.8" } diff --git a/package.json b/package.json index 5ab2ee1..363abc1 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@gorhom/bottom-sheet": "5.1.1", - "mendix-native": "https://github.com/mendix/mendix-native/releases/download/v0.3.0/mendix-native-v0.3.0.tgz", + "mendix-native": "https://github.com/mendix/mendix-native/releases/download/v0.3.1/mendix-native-v0.3.1.tgz", "@notifee/react-native": "9.1.8", "@octokit/rest": "^21.1.1", "@op-engineering/op-sqlite": "15.0.7",