chore: unify desktop and mobile databases (#764)

* chore: unify desktop and mobile databases

- migrate `package:sqflite_flutter` to `sqlcipher_flutter_libs`
- use FFI for all SQLite operations
- use `SQfLiteEncryptionHelper` for database encryption
- enforce encryption for new SQLite datbase implementation
- migrate existing SQLite databases
 - encrypt unencrypted ones
 - migrate database locations to unified approach
- drop dependency on sqlite

Signed-off-by: The one with the braid <info@braid.business>

* chore: add sqlcipher to macos CI

Signed-off-by: The one with the braid <info@braid.business>

---------

Signed-off-by: The one with the braid <info@braid.business>
This commit is contained in:
The one with the braid (she/her) | Dфҿ mit dem Zopf (sie/ihr) 2024-03-29 15:47:11 +01:00 committed by GitHub
commit 3c532f90ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 207 additions and 125 deletions

View file

@ -38,6 +38,12 @@ post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
# ensure all dependencies are using SQLCipher instead of SQLite
xcconfig_path = config.base_configuration_reference.real_path
xcconfig = File.read(xcconfig_path)
new_xcconfig = xcconfig.sub(' -l"sqlite3"', '')
File.open(xcconfig_path, "w") { |file| file << new_xcconfig }
config.build_settings['ENABLE_BITCODE'] = 'NO'
# see https://github.com/flutter-webrtc/flutter-webrtc/issues/1054