diff --git a/android/app/build.gradle b/android/app/build.gradle index d18b7869f..42a73ea3b 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -260,7 +260,6 @@ android { dependencies { addUnimodulesDependencies() - implementation project(':watermelondb') implementation project(':@react-native-community_viewpager') playImplementation project(':reactnativenotifications') playImplementation project(':@react-native-firebase_app') diff --git a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java index afbb076b4..bf7dc5ef7 100644 --- a/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java +++ b/android/app/src/main/java/chat/rocket/reactnative/MainApplication.java @@ -9,7 +9,6 @@ import com.facebook.react.ReactApplication; import com.facebook.react.ReactNativeHost; import com.facebook.react.ReactPackage; import com.facebook.soloader.SoLoader; -import com.nozbe.watermelondb.WatermelonDBPackage; import com.reactnativecommunity.viewpager.RNCViewPagerPackage; import com.facebook.react.bridge.JSIModulePackage; import com.swmansion.reanimated.ReanimatedJSIModulePackage; @@ -37,7 +36,6 @@ public class MainApplication extends Application implements ReactApplication { protected List getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List packages = new PackageList(this).getPackages(); - packages.add(new WatermelonDBPackage()); packages.add(new RNCViewPagerPackage()); packages.add(new SSLPinningPackage()); List unimodules = Arrays.asList( diff --git a/android/settings.gradle b/android/settings.gradle index d50ac2137..98573a99f 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -2,8 +2,6 @@ apply from: '../node_modules/react-native-unimodules/gradle.groovy' includeUnimodulesProjects() rootProject.name = 'RocketChatRN' -include ':watermelondb' -project(':watermelondb').projectDir = new File(rootProject.projectDir, '../node_modules/@nozbe/watermelondb/native/android') include ':reactnativenotifications' project(':reactnativenotifications').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-notifications/android/app') include ':@react-native-community_viewpager' diff --git a/app/lib/database/index.js b/app/lib/database/index.js index dfda88a98..ee02e6212 100644 --- a/app/lib/database/index.js +++ b/app/lib/database/index.js @@ -60,8 +60,7 @@ export const getDatabase = (database = '') => { Permission, SlashCommand, User - ], - actionsEnabled: true + ] }); }; @@ -73,8 +72,7 @@ class DB { schema: serversSchema, migrations: serversMigrations }), - modelClasses: [Server, LoggedUser, ServersHistory], - actionsEnabled: true + modelClasses: [Server, LoggedUser, ServersHistory] }) }; @@ -117,8 +115,7 @@ class DB { FrequentlyUsedEmoji, Setting, User - ], - actionsEnabled: true + ] }); } diff --git a/ios/NotificationService/NotificationService-Bridging-Header.h b/ios/NotificationService/NotificationService-Bridging-Header.h index 2417bb56d..cb9650a24 100644 --- a/ios/NotificationService/NotificationService-Bridging-Header.h +++ b/ios/NotificationService/NotificationService-Bridging-Header.h @@ -7,3 +7,10 @@ #import #import #import +#import +#import +#import +#import + +// Silence warning +#import "../../node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/SupportingFiles/Bridging.h" \ No newline at end of file diff --git a/ios/Podfile b/ios/Podfile index 40be1ede6..fdc7c3ab9 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -4,6 +4,9 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ require_relative '../node_modules/react-native-unimodules/cocoapods.rb' def all_pods + pod 'WatermelonDB', :path => '../node_modules/@nozbe/watermelondb' + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi', :modular_headers => true + pod 'simdjson', path: '../node_modules/@nozbe/simdjson' config = use_native_modules! use_unimodules! use_react_native!( diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 69c845f71..98abdd502 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -582,6 +582,7 @@ PODS: - SDWebImageWebPCoder (0.4.1): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.5) + - simdjson (0.9.6-fix2) - TOCropViewController (2.5.3) - UMAppLoader (1.2.0) - UMBarCodeScannerInterface (5.2.1) @@ -600,6 +601,9 @@ PODS: - UMFontInterface - UMSensorsInterface (5.2.1) - UMTaskManagerInterface (5.2.1) + - WatermelonDB (0.23.0): + - React + - React-jsi - Yoga (1.14.0) - YogaKit (1.18.1): - Yoga (~> 1.14) @@ -708,6 +712,7 @@ DEPENDENCIES: - RNRootView (from `../node_modules/rn-root-view`) - RNScreens (from `../node_modules/react-native-screens`) - RNVectorIcons (from `../node_modules/react-native-vector-icons`) + - "simdjson (from `../node_modules/@nozbe/simdjson`)" - UMAppLoader (from `../node_modules/unimodules-app-loader/ios`) - UMBarCodeScannerInterface (from `../node_modules/unimodules-barcode-scanner-interface/ios`) - UMCameraInterface (from `../node_modules/unimodules-camera-interface/ios`) @@ -721,6 +726,7 @@ DEPENDENCIES: - "UMReactNativeAdapter (from `../node_modules/@unimodules/react-native-adapter/ios`)" - UMSensorsInterface (from `../node_modules/unimodules-sensors-interface/ios`) - UMTaskManagerInterface (from `../node_modules/unimodules-task-manager-interface/ios`) + - "WatermelonDB (from `../node_modules/@nozbe/watermelondb`)" - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -916,6 +922,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-screens" RNVectorIcons: :path: "../node_modules/react-native-vector-icons" + simdjson: + :path: "../node_modules/@nozbe/simdjson" UMAppLoader: :path: "../node_modules/unimodules-app-loader/ios" UMBarCodeScannerInterface: @@ -942,6 +950,8 @@ EXTERNAL SOURCES: :path: "../node_modules/unimodules-sensors-interface/ios" UMTaskManagerInterface: :path: "../node_modules/unimodules-task-manager-interface/ios" + WatermelonDB: + :path: "../node_modules/@nozbe/watermelondb" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" @@ -1059,6 +1069,7 @@ SPEC CHECKSUMS: RNVectorIcons: 31cebfcf94e8cf8686eb5303ae0357da64d7a5a4 SDWebImage: cf6922231e95550934da2ada0f20f2becf2ceba9 SDWebImageWebPCoder: 36f8f47bd9879a8aea6044765c1351120fd8e3a8 + simdjson: 85016870cd17207312b718ef6652eb6a1cd6a2b0 TOCropViewController: 20a14b6a7a098308bf369e7c8d700dc983a974e6 UMAppLoader: 61049c8d55590b74e9ae1d5429bf68d96b4a2528 UMBarCodeScannerInterface: e5e4c87797d3d01214e25cd1618866caf5d4f17f @@ -1073,9 +1084,10 @@ SPEC CHECKSUMS: UMReactNativeAdapter: 538efe92e781b5d7678cf95b34c46f2d0989a557 UMSensorsInterface: cb5bf31d52c4349f0ff9e3c049bbe4df0d80d383 UMTaskManagerInterface: 80653f25c55d9e6d79d6a0a65589fa213feaee11 + WatermelonDB: 577c61fceff16e9f9103b59d14aee4850c0307b6 Yoga: 575c581c63e0d35c9a83f4b46d01d63abc1100ac YogaKit: f782866e155069a2cca2517aafea43200b01fd5a -PODFILE CHECKSUM: 2cb6f38193d69310b4dfc466be3cf4ff7a5e98d3 +PODFILE CHECKSUM: 46fb1ed324f44252f8900c63e7c93e4391658bad COCOAPODS: 1.10.1 diff --git a/ios/RocketChatRN.xcodeproj/project.pbxproj b/ios/RocketChatRN.xcodeproj/project.pbxproj index d54f2e216..a2835d109 100644 --- a/ios/RocketChatRN.xcodeproj/project.pbxproj +++ b/ios/RocketChatRN.xcodeproj/project.pbxproj @@ -24,7 +24,6 @@ 1E068CFF24FD2DC700A0FFC1 /* AppGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E068CFD24FD2DC700A0FFC1 /* AppGroup.swift */; }; 1E068D0124FD2E0500A0FFC1 /* AppGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E068D0024FD2E0500A0FFC1 /* AppGroup.m */; }; 1E068D0224FD2E0500A0FFC1 /* AppGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1E068D0024FD2E0500A0FFC1 /* AppGroup.m */; }; - 1E1C2F7E250FACB5005DCE7D /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */; }; 1E1C2F80250FCB69005DCE7D /* Database.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E1C2F7F250FCB69005DCE7D /* Database.swift */; }; 1E1EA80A2326CD2200E22452 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1EA8092326CD2200E22452 /* AVFoundation.framework */; }; 1E1EA80C2326CD2800E22452 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1E1EA80B2326CD2800E22452 /* AudioToolbox.framework */; }; @@ -43,7 +42,6 @@ 1E470E832513A71E00E3DD1D /* RocketChat.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E470E822513A71E00E3DD1D /* RocketChat.swift */; }; 1E51D962251263CD00DC95DE /* MessageType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51D961251263CD00DC95DE /* MessageType.swift */; }; 1E51D965251263D600DC95DE /* NotificationType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E51D964251263D600DC95DE /* NotificationType.swift */; }; - 1E55FDB32320675C0048D2F9 /* libWatermelonDB.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */; }; 1E598AE42515057D002BDFBD /* Date+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE32515057D002BDFBD /* Date+Extensions.swift */; }; 1E598AE725150660002BDFBD /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE625150660002BDFBD /* Data+Extensions.swift */; }; 1E598AE925151A63002BDFBD /* SendMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E598AE825151A63002BDFBD /* SendMessage.swift */; }; @@ -158,13 +156,6 @@ remoteGlobalIDString = 1EFEB5942493B6640072EDC0; remoteInfo = NotificationService; }; - 7AAA749A23043AD300F1ADE9 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6E660D5E213BCCD300189354; - remoteInfo = WatermelonDB; - }; 7AAB3E0F257E6A6E00707CF6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; @@ -265,7 +256,6 @@ 1EFEB5972493B6640072EDC0 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; 1EFEB5992493B6640072EDC0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 1EFEB5A12493B67D0072EDC0 /* NotificationService.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = NotificationService.entitlements; sourceTree = ""; }; - 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = "wrapper.pb-project"; name = WatermelonDB.xcodeproj; path = "../node_modules/@nozbe/watermelondb/native/ios/WatermelonDB.xcodeproj"; sourceTree = ""; }; 2977818A2C0F18284F485E2B /* Pods-defaults-Rocket.Chat.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-Rocket.Chat.release.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-Rocket.Chat/Pods-defaults-Rocket.Chat.release.xcconfig"; sourceTree = ""; }; 298C921C910A1A2FD60068AE /* Pods-defaults-RocketChatRN.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-defaults-RocketChatRN.debug.xcconfig"; path = "Pods/Target Support Files/Pods-defaults-RocketChatRN/Pods-defaults-RocketChatRN.debug.xcconfig"; sourceTree = ""; }; 2B2C0164CCC5BED03F5A257E /* libPods-defaults-NotificationService.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-defaults-NotificationService.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -321,7 +311,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1E55FDB32320675C0048D2F9 /* libWatermelonDB.a in Frameworks */, 1E25743422CBA2CF005A877F /* JavaScriptCore.framework in Frameworks */, DC5529EC3B4695AC7319279F /* libPods-defaults-ShareRocketChatRN.a in Frameworks */, ); @@ -331,7 +320,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1E1C2F7E250FACB5005DCE7D /* libWatermelonDB.a in Frameworks */, EDE8A8F63A3ADB93A6640F8E /* libPods-defaults-NotificationService.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -503,18 +491,9 @@ name = Pods; sourceTree = ""; }; - 7AAA749723043AD300F1ADE9 /* Products */ = { - isa = PBXGroup; - children = ( - 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */, - ); - name = Products; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */, ); name = Libraries; sourceTree = ""; @@ -747,12 +726,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 7AAA749723043AD300F1ADE9 /* Products */; - ProjectRef = 290E43E48AD8418287FA99D6 /* WatermelonDB.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* RocketChatRN */, @@ -763,16 +736,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 7AAA749B23043AD300F1ADE9 /* libWatermelonDB.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libWatermelonDB.a; - remoteRef = 7AAA749A23043AD300F1ADE9 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; diff --git a/package.json b/package.json index 3fd13db90..15eea8cfe 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@bugsnag/react-native": "^7.10.5", "@codler/react-native-keyboard-aware-scroll-view": "^1.0.1", - "@nozbe/watermelondb": "0.19.0", + "@nozbe/watermelondb": "0.23.0", "@react-native-community/art": "^1.2.0", "@react-native-community/async-storage": "1.12.1", "@react-native-community/blur": "^3.6.0", diff --git a/patches/@nozbe+watermelondb+0.19.0.patch b/patches/@nozbe+watermelondb+0.23.0.patch similarity index 61% rename from patches/@nozbe+watermelondb+0.19.0.patch rename to patches/@nozbe+watermelondb+0.23.0.patch index 5398cc067..da8f8509c 100644 --- a/patches/@nozbe+watermelondb+0.19.0.patch +++ b/patches/@nozbe+watermelondb+0.23.0.patch @@ -1,9 +1,32 @@ +diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt +index 802f137..cfcac91 100644 +--- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt ++++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt +@@ -8,7 +8,7 @@ import android.database.sqlite.SQLiteDatabase + import android.database.sqlite.SQLiteQuery + import java.io.File + +-class Database(private val name: String, private val context: Context) { ++public class Database(private val name: String, private val context: Context) { + + private val db: SQLiteDatabase by lazy { + SQLiteDatabase.openOrCreateDatabase( +@@ -44,7 +44,7 @@ class Database(private val name: String, private val context: Context) { + + fun delete(query: SQL, args: QueryArgs) = db.execSQL(query, args) + +- fun rawQuery(sql: SQL, args: QueryArgs = emptyArray()): Cursor { ++ public fun rawQuery(sql: SQL, args: QueryArgs = emptyArray()): Cursor { + // HACK: db.rawQuery only supports String args, and there's no clean way AFAIK to construct + // a query with arbitrary args (like with execSQL). However, we can misuse cursor factory + // to get the reference of a SQLiteQuery before it's executed diff --git a/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift b/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift -index 43f2c9c..e24a24f 100644 +index b4d7151..429e318 100644 --- a/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift +++ b/node_modules/@nozbe/watermelondb/native/ios/WatermelonDB/Database.swift -@@ -1,14 +1,14 @@ +@@ -1,15 +1,15 @@ import Foundation + import SQLite3 -class Database { - typealias SQL = String @@ -22,7 +45,7 @@ index 43f2c9c..e24a24f 100644 self.path = path fmdb = FMDatabase(path: path) open() -@@ -53,7 +53,7 @@ class Database { +@@ -54,7 +54,7 @@ class Database { } } @@ -31,38 +54,3 @@ index 43f2c9c..e24a24f 100644 let resultSet = try fmdb.executeQuery(query, values: args) return AnyIterator { -diff --git a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -index 2217222..5b2eb73 100644 ---- a/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -+++ b/node_modules/@nozbe/watermelondb/native/android/src/main/java/com/nozbe/watermelondb/Database.kt -@@ -5,7 +5,7 @@ import android.database.Cursor - import android.database.sqlite.SQLiteDatabase - import java.io.File - --class Database(private val name: String, private val context: Context) { -+public class Database(private val name: String, private val context: Context) { - - private val db: SQLiteDatabase by lazy { - SQLiteDatabase.openOrCreateDatabase( -@@ -41,7 +41,7 @@ class Database(private val name: String, private val context: Context) { - - fun delete(query: SQL, args: QueryArgs) = db.execSQL(query, args) - -- fun rawQuery(query: SQL, args: RawQueryArgs = emptyArray()): Cursor = db.rawQuery(query, args) -+ public fun rawQuery(query: SQL, args: RawQueryArgs = emptyArray()): Cursor = db.rawQuery(query, args) - - fun count(query: SQL, args: RawQueryArgs = emptyArray()): Int = - rawQuery(query, args).use { -diff --git a/node_modules/@nozbe/watermelondb/decorators/date/index.js b/node_modules/@nozbe/watermelondb/decorators/date/index.js -index 65690af..ce71aa0 100644 ---- a/node_modules/@nozbe/watermelondb/decorators/date/index.js -+++ b/node_modules/@nozbe/watermelondb/decorators/date/index.js -@@ -44,7 +44,7 @@ var dateDecorator = (0, _makeDecorator.default)(function (columnName) { - var rawValue = date ? +new Date(date) : null; - - if (rawValue && date) { -- cache.set(rawValue, date); -+ cache.set(rawValue, new Date(date)); - } - - this.asModel._setRaw(columnName, rawValue); diff --git a/react-native.config.js b/react-native.config.js index f90e1e797..6f2362f43 100644 --- a/react-native.config.js +++ b/react-native.config.js @@ -5,12 +5,6 @@ module.exports = { android: null } }, - '@nozbe/watermelondb': { - platforms: { - android: null, - ios: null - } - }, '@react-native-firebase/app': { platforms: { android: null diff --git a/yarn.lock b/yarn.lock index 5bda91838..011a14210 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1799,6 +1799,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.11.2": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.12.1": version "7.14.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" @@ -2847,23 +2854,37 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nozbe/simdjson@0.9.6-fix2": + version "0.9.6-fix2" + resolved "https://registry.yarnpkg.com/@nozbe/simdjson/-/simdjson-0.9.6-fix2.tgz#00d1c8ec76bfac25c022b07511c8fff4568b2973" + integrity sha512-xKzrhtH7elBUOOihtNwN4Jr0iVcI7+95NCzC2gLvBYkITiCYqqOUm+2badFMkWFEE9gKQLUJJaux4qtgPPItaQ== + "@nozbe/sqlite@3.31.1": version "3.31.1" resolved "https://registry.yarnpkg.com/@nozbe/sqlite/-/sqlite-3.31.1.tgz#ffd394ad7c188c6b73f89fd6e1ccb849a1b96dba" integrity sha512-z5+GdcHZl9OQ1g0pnygORAnwCYUlYw/gQxdW/8rS0HxD2Gnn/k3DBQOvqQIH4Z3Z3KWVMbGUYhcH1v4SqTAdwg== -"@nozbe/watermelondb@0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@nozbe/watermelondb/-/watermelondb-0.19.0.tgz#70dae4bfca9dde8d61819a6092846e178a50e2f7" - integrity sha512-x7sclLu/4RDmLzANIYQioKjWdmoIxgqYw7OJnS7UtWEtJGn28l5Z69SWojll/RM0X2KOEem0BIcjqM46CA53GA== +"@nozbe/watermelondb@0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@nozbe/watermelondb/-/watermelondb-0.23.0.tgz#505b1dda6445c734708d1af0d82b10b7fcc58c07" + integrity sha512-nQCQCZe9jthWlVPDI5WfOPc9lx3hI+sxG74vlyDH3NXgzjJiLEkVmpV+zF71U6VQLHsFRE7pGntys4SdsuEmzg== dependencies: + "@babel/runtime" "^7.11.2" + "@nozbe/simdjson" "0.9.6-fix2" "@nozbe/sqlite" "3.31.1" - lokijs "npm:@nozbe/lokijs@1.5.10-wmelon0" - rambdax "2.15.0" - rxjs "^6.2.2" - rxjs-compat "^6.3.2" + "@nozbe/with-observables" "1.4.0" + hoist-non-react-statics "^3.3.2" + lokijs "npm:@nozbe/lokijs@1.5.12-wmelon2" + rxjs "^6.5.3" sql-escape-string "^1.1.0" +"@nozbe/with-observables@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@nozbe/with-observables/-/with-observables-1.4.0.tgz#38d91186c932d431b767302f9f31214335912c6a" + integrity sha512-vzc0QiYcXK/GmflBGBXTs02ayL25e1l4Cr9aYgSuYCZVqpyMfep9xp89RygNbiibAfVLbgEUa7thxlm3jw8hFw== + dependencies: + hoist-non-react-statics "^3.3.2" + "@reach/router@^1.2.1": version "1.3.3" resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.3.tgz#58162860dce6c9449d49be86b0561b5ef46d80db" @@ -11219,10 +11240,10 @@ logkitty@^0.7.1: dayjs "^1.8.15" yargs "^15.1.0" -"lokijs@npm:@nozbe/lokijs@1.5.10-wmelon0": - version "1.5.10-wmelon0" - resolved "https://registry.yarnpkg.com/@nozbe/lokijs/-/lokijs-1.5.10-wmelon0.tgz#dcad682083b85c238d14cdcd1f016125fff54336" - integrity sha512-GSLyRUTxCPwWLLKxMxA8/Pujm2xAgPGSehze9ICHZDG9yyMMfuWYae+qY+fQctgA1HuKiwoRUEvrrKBCQj9jzA== +"lokijs@npm:@nozbe/lokijs@1.5.12-wmelon2": + version "1.5.12-wmelon2" + resolved "https://registry.yarnpkg.com/@nozbe/lokijs/-/lokijs-1.5.12-wmelon2.tgz#31bc7b2d0c62edc1ccabd50ba795635d40e3e8c9" + integrity sha512-/YkZghPWKmyXgVpZ2MaIe3y/t/IYm/wQxXyEoi0G8JrjTrO9tlrAs2uiHUhbdY/2ZSPMLKbw1q9EqXZxA8ZqnQ== long@~3: version "3.2.0" @@ -13406,11 +13427,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -rambdax@2.15.0: - version "2.15.0" - resolved "https://registry.yarnpkg.com/rambdax/-/rambdax-2.15.0.tgz#34fb481cea1a88e64a25e3a25e34a258fa18ca12" - integrity sha512-9ScXRMAcLaiist63yYDeDTRSIbL9DFY5yaIkoWyodaHS94PUL1ECQxQkxPP+h76oXG6bLo9b/ML+yvIRd78qeg== - ramda@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" @@ -14614,18 +14630,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rxjs-compat@^6.3.2: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs-compat/-/rxjs-compat-6.5.5.tgz#073c40510f29c45a2a5fc02dde87f8c3ad75f2c2" - integrity sha512-F42sssVbUyWH4vJswEo6m+Eh02xHv3q93n8S7nUJO58R7sbc3CvJIOts605zdaBhWa1xMB9aVSyqPqhQ5q3eXg== - -rxjs@^6.2.2, rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - rxjs@^6.4.0, rxjs@^6.6.7: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" @@ -14633,6 +14637,13 @@ rxjs@^6.4.0, rxjs@^6.6.7: dependencies: tslib "^1.9.0" +rxjs@^6.5.3: + version "6.5.5" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" + integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"