diff --git a/ios/DeveloperApp/Info.plist b/ios/DeveloperApp/Info.plist
index c1da527..78360bb 100644
--- a/ios/DeveloperApp/Info.plist
+++ b/ios/DeveloperApp/Info.plist
@@ -86,7 +86,7 @@
NSPhotoLibraryUsageDescription
To use that feature the app needs access to your photo library.
Native Binary Version
- 8
+ 9
NativeOTAEnabled
ReferenceGuideUrl
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index de3dcb0..25b8018 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -182,6 +182,12 @@ PODS:
- nanopb/encode (= 2.30909.1)
- nanopb/decode (2.30909.1)
- nanopb/encode (2.30909.1)
+ - op-sqlite (9.1.2):
+ - OpenSSL-Universal
+ - React
+ - React-callinvoker
+ - React-Core
+ - OpenSSL-Universal (3.3.2000)
- PromisesObjC (2.4.0)
- QRCodeReader.swift (10.1.0)
- RCT-Folly (2024.01.01.00):
@@ -1472,9 +1478,6 @@ PODS:
- React-Core
- react-native-splash-screen (3.2.0):
- React
- - react-native-sqlite-storage (7.1.0):
- - React-Core
- - SQLCipher
- react-native-video (6.4.5):
- DoubleConversion
- glog
@@ -1909,11 +1912,6 @@ PODS:
- libwebp (~> 1.0)
- SDWebImage/Core (~> 5.10)
- SocketRocket (0.7.0)
- - SQLCipher (4.6.1):
- - SQLCipher/standard (= 4.6.1)
- - SQLCipher/common (4.6.1)
- - SQLCipher/standard (4.6.1):
- - SQLCipher/common
- SSZipArchive (2.4.3)
- TouchID (4.4.1):
- React
@@ -1933,6 +1931,7 @@ DEPENDENCIES:
- GoogleUtilities
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- IQKeyboardManager
+ - "op-sqlite (from `../node_modules/@op-engineering/op-sqlite`)"
- QRCodeReader.swift (~> 10.1.0)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
@@ -1980,7 +1979,6 @@ DEPENDENCIES:
- react-native-pager-view (from `../node_modules/react-native-pager-view`)
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
- react-native-splash-screen (from `../node_modules/react-native-splash-screen`)
- - "react-native-sqlite-storage (from `../node_modules/@mendix/react-native-sqlite-storage`)"
- react-native-video (from `../node_modules/react-native-video`)
- react-native-view-shot (from `../node_modules/react-native-view-shot`)
- react-native-webview (from `../node_modules/react-native-webview`)
@@ -2057,12 +2055,12 @@ SPEC REPOS:
- libwebp
- MultiplatformBleAdapter
- nanopb
+ - OpenSSL-Universal
- PromisesObjC
- QRCodeReader.swift
- SDWebImage
- SDWebImageWebPCoder
- SocketRocket
- - SQLCipher
- SSZipArchive
EXTERNAL SOURCES:
@@ -2081,6 +2079,8 @@ EXTERNAL SOURCES:
hermes-engine:
:podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
:tag: hermes-2024-08-15-RNv0.75.1-4b3bf912cc0f705b51b71ce1a5b8bd79b93a451b
+ op-sqlite:
+ :path: "../node_modules/@op-engineering/op-sqlite"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTDeprecation:
@@ -2169,8 +2169,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-safe-area-context"
react-native-splash-screen:
:path: "../node_modules/react-native-splash-screen"
- react-native-sqlite-storage:
- :path: "../node_modules/@mendix/react-native-sqlite-storage"
react-native-video:
:path: "../node_modules/react-native-video"
react-native-view-shot:
@@ -2307,6 +2305,8 @@ SPEC CHECKSUMS:
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
MultiplatformBleAdapter: 5a6a897b006764392f9cef785e4360f54fb9477d
nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5
+ op-sqlite: ea5fd8301f488c7544281b3f85f257d520172049
+ OpenSSL-Universal: b60a3702c9fea8b3145549d421fdb018e53ab7b4
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
QRCodeReader.swift: 373a389fe9a22d513c879a32a6f647c58f4ef572
RCT-Folly: 4464f4d875961fce86008d45f4ecf6cef6de0740
@@ -2353,7 +2353,6 @@ SPEC CHECKSUMS:
react-native-pager-view: c476f76d54f946df5147645e902d3d7173688187
react-native-safe-area-context: 851c62c48dce80ccaa5637b6aa5991a1bc36eca9
react-native-splash-screen: 200d11d188e2e78cea3ad319964f6142b6384865
- react-native-sqlite-storage: 7697e1df2125d556c58de9d9764549195b25afcf
react-native-video: b0057ead963adc4b3b0d0936626bbcc18f5f9f00
react-native-view-shot: 4475fde003fe8a210053d1f98fb9e06c1d834e1c
react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1
@@ -2410,10 +2409,9 @@ SPEC CHECKSUMS:
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
- SQLCipher: 77fbe633cd84db04b07876dd50766b4924b57d61
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
TouchID: ba4c656d849cceabc2e4eef722dea5e55959ecf4
- Yoga: aa3df615739504eebb91925fc9c58b4922ea9a08
+ Yoga: 055f92ad73f8c8600a93f0e25ac0b2344c3b07e6
PODFILE CHECKSUM: fb4e6bff4732388e5d912d6494c81cbf7e12d31c
diff --git a/ios/developerapp.xcodeproj/project.pbxproj b/ios/developerapp.xcodeproj/project.pbxproj
index 55edb38..1c3a110 100644
--- a/ios/developerapp.xcodeproj/project.pbxproj
+++ b/ios/developerapp.xcodeproj/project.pbxproj
@@ -469,7 +469,7 @@
13B07F8E1A680F5B00A75B9A /* Resources */,
DF17395E25B4582800B65592 /* Embed Frameworks */,
C172FBA7B7AE84E7986F03ED /* [CP] Copy Pods Resources */,
- E824638682A9BB3DDC1FA05C /* [CP] Embed Pods Frameworks */,
+ 640967B95A03B5199E113383 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -580,6 +580,26 @@
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
+ 640967B95A03B5199E113383 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Mendix-DeveloperApp/Pods-Mendix-DeveloperApp-frameworks.sh",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL",
+ "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Mendix-DeveloperApp/Pods-Mendix-DeveloperApp-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
C172FBA7B7AE84E7986F03ED /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -620,7 +640,6 @@
"${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/React-Core_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact/React-cxxreact_privacy.bundle",
- "${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher/SQLCipher.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/boost/boost_privacy.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/glog/glog_privacy.bundle",
);
@@ -658,7 +677,6 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-Core_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/React-cxxreact_privacy.bundle",
- "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SQLCipher.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/boost_privacy.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/glog_privacy.bundle",
);
@@ -667,24 +685,6 @@
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Mendix-DeveloperApp/Pods-Mendix-DeveloperApp-resources.sh\"\n";
showEnvVarsInLog = 0;
};
- E824638682A9BB3DDC1FA05C /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_ROOT}/Target Support Files/Pods-Mendix-DeveloperApp/Pods-Mendix-DeveloperApp-frameworks.sh",
- "${PODS_XCFRAMEWORKS_BUILD_DIR}/hermes-engine/Pre-built/hermes.framework/hermes",
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Mendix-DeveloperApp/Pods-Mendix-DeveloperApp-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
diff --git a/package-lock.json b/package-lock.json
index 53c5966..d3b6ab5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,8 +14,8 @@
"@babylonjs/loaders": "6.8.1",
"@babylonjs/react-native": "1.6.3",
"@babylonjs/react-native-iosandroid-0-71": "1.6.3",
- "@mendix/native": "6.0.1",
- "@mendix/react-native-sqlite-storage": "^7.1.0",
+ "@mendix/native": "7.0.0",
+ "@op-engineering/op-sqlite": "9.1.2",
"@react-native-async-storage/async-storage": "2.0.0",
"@react-native-community/art": "1.2.0",
"@react-native-community/cameraroll": "4.0.1",
@@ -1596,17 +1596,9 @@
}
},
"node_modules/@mendix/native": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@mendix/native/-/native-6.0.1.tgz",
- "integrity": "sha512-u5XfDMfqjf6v9OPITxA6lv/T7Le2ptBkMOQXAOFR4x/lhkP42CrZdUyWvpGhYFi/f4oaNXbgOZgOiKTU+KsV5Q=="
- },
- "node_modules/@mendix/react-native-sqlite-storage": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@mendix/react-native-sqlite-storage/-/react-native-sqlite-storage-7.1.0.tgz",
- "integrity": "sha512-DWPPaKJYsE4a6VEJgXNG26tZiY6tY+fMcQsjwVjTuya15ve1EI8baBUqBgvgNtLBeW/Bfr+RUNAMxRHPQx8fvQ==",
- "peerDependencies": {
- "react-native": ">=0.14.0"
- }
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@mendix/native/-/native-7.0.0.tgz",
+ "integrity": "sha512-JyRtdGknmlEHCZh5VnIHZa6Dm8GD6MjB++jlWBMktMZHUSM6PSUXxFfatpv1/1aQO2HhOr1bRxibiQELzcgJNg=="
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
@@ -1640,10 +1632,20 @@
"node": ">= 8"
}
},
+ "node_modules/@op-engineering/op-sqlite": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/@op-engineering/op-sqlite/-/op-sqlite-9.1.2.tgz",
+ "integrity": "sha512-u6VhzuZO+pbA71OuIMQl7jsJXSPSmimStdvI6a5SXsqCr32L5Sh6TxRdmO1ISepdvceMIWcoTxrdD3bDp6qAbA==",
+ "peerDependencies": {
+ "react": "*",
+ "react-native": ">0.73.0"
+ }
+ },
"node_modules/@react-native-async-storage/async-storage": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.0.0.tgz",
"integrity": "sha512-af6H9JjfL6G/PktBfUivvexoiFKQTJGQCtSWxMdivLzNIY94mu9DdiY0JqCSg/LyPCLGKhHPUlRQhNvpu3/KVA==",
+ "license": "MIT",
"dependencies": {
"merge-options": "^3.0.4"
},
@@ -9717,14 +9719,9 @@
}
},
"@mendix/native": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@mendix/native/-/native-6.0.1.tgz",
- "integrity": "sha512-u5XfDMfqjf6v9OPITxA6lv/T7Le2ptBkMOQXAOFR4x/lhkP42CrZdUyWvpGhYFi/f4oaNXbgOZgOiKTU+KsV5Q=="
- },
- "@mendix/react-native-sqlite-storage": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@mendix/react-native-sqlite-storage/-/react-native-sqlite-storage-7.1.0.tgz",
- "integrity": "sha512-DWPPaKJYsE4a6VEJgXNG26tZiY6tY+fMcQsjwVjTuya15ve1EI8baBUqBgvgNtLBeW/Bfr+RUNAMxRHPQx8fvQ=="
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@mendix/native/-/native-7.0.0.tgz",
+ "integrity": "sha512-JyRtdGknmlEHCZh5VnIHZa6Dm8GD6MjB++jlWBMktMZHUSM6PSUXxFfatpv1/1aQO2HhOr1bRxibiQELzcgJNg=="
},
"@nodelib/fs.scandir": {
"version": "2.1.5",
@@ -9749,6 +9746,11 @@
"fastq": "^1.6.0"
}
},
+ "@op-engineering/op-sqlite": {
+ "version": "9.1.2",
+ "resolved": "https://registry.npmjs.org/@op-engineering/op-sqlite/-/op-sqlite-9.1.2.tgz",
+ "integrity": "sha512-u6VhzuZO+pbA71OuIMQl7jsJXSPSmimStdvI6a5SXsqCr32L5Sh6TxRdmO1ISepdvceMIWcoTxrdD3bDp6qAbA=="
+ },
"@react-native-async-storage/async-storage": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@react-native-async-storage/async-storage/-/async-storage-2.0.0.tgz",
diff --git a/package.json b/package.json
index 54b7acf..3aa37fb 100644
--- a/package.json
+++ b/package.json
@@ -22,8 +22,8 @@
"@babylonjs/loaders": "6.8.1",
"@babylonjs/react-native": "1.6.3",
"@babylonjs/react-native-iosandroid-0-71": "1.6.3",
- "@mendix/native": "6.0.1",
- "@mendix/react-native-sqlite-storage": "^7.1.0",
+ "@mendix/native": "7.0.0",
+ "@op-engineering/op-sqlite": "9.1.2",
"@react-native-community/art": "1.2.0",
"@react-native-async-storage/async-storage": "2.0.0",
"@react-native-community/datetimepicker": "8.2.0",
diff --git a/patches/@op-engineering+op-sqlite+9.1.2.patch b/patches/@op-engineering+op-sqlite+9.1.2.patch
new file mode 100644
index 0000000..36765ea
--- /dev/null
+++ b/patches/@op-engineering+op-sqlite+9.1.2.patch
@@ -0,0 +1,127 @@
+diff --git a/node_modules/@op-engineering/op-sqlite/android/build.gradle b/node_modules/@op-engineering/op-sqlite/android/build.gradle
+index 4186aa3..242dd95 100644
+--- a/node_modules/@op-engineering/op-sqlite/android/build.gradle
++++ b/node_modules/@op-engineering/op-sqlite/android/build.gradle
+@@ -1,5 +1,4 @@
+ import java.nio.file.Paths
+-import groovy.json.JsonSlurper
+
+ buildscript {
+ repositories {
+@@ -27,28 +26,14 @@ def isNewArchitectureEnabled() {
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
+ }
+
+-def useSQLCipher = false
++def useSQLCipher = true
+ def useLibsql = false
+ def useCRSQLite = false
+-def performanceMode = "0"
++def performanceMode = "2"
+ def sqliteFlags = ""
+ def enableFTS5 = false
+ def useSqliteVec = false
+
+-def packageJsonFile = new File("$rootDir/../package.json")
+-def packageJson = new JsonSlurper().parseText(packageJsonFile.text)
+-
+-def opsqliteConfig = packageJson["op-sqlite"]
+-if(opsqliteConfig) {
+- useSQLCipher = opsqliteConfig["sqlcipher"]
+- useCRSQLite = opsqliteConfig["crsqlite"]
+- useSqliteVec = opsqliteConfig["sqliteVec"]
+- performanceMode = opsqliteConfig["performanceMode"] ? opsqliteConfig["performanceMode"] : ""
+- sqliteFlags = opsqliteConfig["sqliteFlags"] ? opsqliteConfig["sqliteFlags"] : ""
+- enableFTS5 = opsqliteConfig["fts5"]
+- useLibsql = opsqliteConfig["libsql"]
+-}
+-
+ if(useSQLCipher) {
+ println "[OP-SQLITE] using SQLCipher 🔒"
+ } else if(useLibsql) {
+@@ -171,8 +156,8 @@ android {
+ }
+
+ compileOptions {
+- sourceCompatibility JavaVersion.VERSION_1_8
+- targetCompatibility JavaVersion.VERSION_1_8
++ sourceCompatibility JavaVersion.VERSION_17
++ targetCompatibility JavaVersion.VERSION_17
+ }
+
+ externalNativeBuild {
+diff --git a/node_modules/@op-engineering/op-sqlite/android/src/main/java/com/op/sqlite/OPSQLiteBridge.kt b/node_modules/@op-engineering/op-sqlite/android/src/main/java/com/op/sqlite/OPSQLiteBridge.kt
+index 7445a4c..2d922aa 100644
+--- a/node_modules/@op-engineering/op-sqlite/android/src/main/java/com/op/sqlite/OPSQLiteBridge.kt
++++ b/node_modules/@op-engineering/op-sqlite/android/src/main/java/com/op/sqlite/OPSQLiteBridge.kt
+@@ -2,9 +2,7 @@ package com.op.sqlite
+
+ import com.facebook.react.bridge.ReactContext
+ import com.facebook.react.turbomodule.core.CallInvokerHolderImpl
+-import com.facebook.react.common.annotations.FrameworkAPI
+
+-@OptIn(FrameworkAPI::class)
+ class OPSQLiteBridge {
+ private external fun installNativeJsi(
+ jsContextNativePointer: Long,
+diff --git a/node_modules/@op-engineering/op-sqlite/cpp/bindings.cpp b/node_modules/@op-engineering/op-sqlite/cpp/bindings.cpp
+index f5a3c48..512deaa 100644
+--- a/node_modules/@op-engineering/op-sqlite/cpp/bindings.cpp
++++ b/node_modules/@op-engineering/op-sqlite/cpp/bindings.cpp
+@@ -68,13 +68,6 @@ void install(jsi::Runtime &rt, std::shared_ptr invoker,
+ options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt);
+ }
+
+-#ifdef OP_SQLITE_USE_SQLCIPHER
+- if (encryptionKey.empty()) {
+- throw std::runtime_error(
+- "[OP SQLite] using SQLCipher encryption key is required");
+- }
+-#endif
+-
+ if (!location.empty()) {
+ if (location == ":memory:") {
+ path = ":memory:";
+diff --git a/node_modules/@op-engineering/op-sqlite/op-sqlite.podspec b/node_modules/@op-engineering/op-sqlite/op-sqlite.podspec
+index ee168c4..103e3bf 100644
+--- a/node_modules/@op-engineering/op-sqlite/op-sqlite.podspec
++++ b/node_modules/@op-engineering/op-sqlite/op-sqlite.podspec
+@@ -9,36 +9,16 @@ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1
+ fabric_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == '1'
+
+ parent_folder_name = File.basename(__dir__)
+-app_package = nil
+-# for development purposes on user machines the podspec should be able to read the package.json from the root folder
+-# since it lives inside node_modules/@op-engineering/op-sqlite
+-if __dir__.include?("node_modules")
+- app_package = JSON.parse(File.read(File.join(__dir__, "..", "..", "..", "package.json")))
+-else
+- app_package = JSON.parse(File.read(File.join(__dir__, "example", "package.json")))
+-end
+
+-op_sqlite_config = app_package["op-sqlite"]
+-use_sqlcipher = false
++use_sqlcipher = true
+ use_crsqlite = false
+ use_libsql = false
+-performance_mode = "0"
++performance_mode = "2"
+ phone_version = false
+ sqlite_flags = ""
+ fts5 = false
+ use_sqlite_vec = false
+
+-if(op_sqlite_config != nil)
+- use_sqlcipher = op_sqlite_config["sqlcipher"] == true
+- use_crsqlite = op_sqlite_config["crsqlite"] == true
+- use_libsql = op_sqlite_config["libsql"] == true
+- performance_mode = op_sqlite_config["performanceMode"] || "0"
+- phone_version = op_sqlite_config["iosSqlite"] == true
+- sqlite_flags = op_sqlite_config["sqliteFlags"] || ""
+- fts5 = op_sqlite_config["fts5"] == true
+- use_sqlite_vec = op_sqlite_config["sqliteVec"] == true
+-end
+-
+ if phone_version && use_sqlcipher
+ raise "Cannot use phone embedded version and SQLCipher. SQLCipher needs to be compiled from sources with the project."
+ end