From e3279267e0020f12e2b75b5fc991faeb5146ed86 Mon Sep 17 00:00:00 2001
From: Conrad Hofmeyr
Date: Thu, 30 May 2024 08:56:54 -0600
Subject: [PATCH 01/47] Readme update: Messaging/description of powersync
---
README.md | 10 +++++-----
packages/powersync/README.md | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/README.md b/README.md
index 64f47e72..88c1df6a 100644
--- a/README.md
+++ b/README.md
@@ -2,15 +2,15 @@
-*Bad connectivity is everywhere, and we're tired of it. PowerSync is on a mission to help developers write offline-first real-time reactive apps.*
+*[PowerSync](https://www.powersync.com) is a Postgres-SQLite sync layer, which helps developers to create local-first real-time reactive apps that work seamlessly both online and offline.*
PowerSync SDK for Dart and Flutter
===========
| package | build | pub | likes | popularity | pub points |
|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------| ------- | ------- |
-| powersync | [](https://github.com/powersync-ja/powersync.dart/actions?query=workflow%3Apackages) | [](https://pub.dev/packages/powersync) | [](https://pub.dev/packages/powersync/score) | [](https://pub.dev/packages/powersync/score) | [](https://pub.dev/packages/powersync/score)
-| powersync_attachments_helper | [](https://github.com/powersync-ja/powersync.dart/actions?query=workflow%3Apackages) | [](https://pub.dev/packages/powersync_attachments_helper) | [](https://pub.dev/packages/powersync_attachments_helper/score) | [](https://pub.dev/packages/powersync_attachments_helper/score) | [](https://pub.dev/packages/powersync_attachments_helper/score)
+| [powersync](https://github.com/powersync-ja/powersync.dart/tree/master/packages/powersync) | [](https://github.com/powersync-ja/powersync.dart/actions?query=workflow%3Apackages) | [](https://pub.dev/packages/powersync) | [](https://pub.dev/packages/powersync/score) | [](https://pub.dev/packages/powersync/score) | [](https://pub.dev/packages/powersync/score)
+| [powersync_attachments_helper](https://github.com/powersync-ja/powersync.dart/tree/master/packages/powersync_attachments_helper) | [](https://github.com/powersync-ja/powersync.dart/actions?query=workflow%3Apackages) | [](https://pub.dev/packages/powersync_attachments_helper) | [](https://pub.dev/packages/powersync_attachments_helper/score) | [](https://pub.dev/packages/powersync_attachments_helper/score) | [](https://pub.dev/packages/powersync_attachments_helper/score)
#### Usage
@@ -25,6 +25,6 @@ For detailed usage, check out the inner [powersync](https://github.com/powersync
#### Resources
- [](https://docs.powersync.com/client-sdk-references/flutter)
-- [](https://discord.gg/powersync)
-- [](https://twitter.com/intent/follow?screen_name=powersync_)
+- [](https://discord.gg/powersync)
+- [](https://twitter.com/intent/follow?screen_name=powersync_)
- [](https://twitter.com/intent/follow?screen_name=powersync_)
diff --git a/packages/powersync/README.md b/packages/powersync/README.md
index f2935aa1..ad3cfbee 100644
--- a/packages/powersync/README.md
+++ b/packages/powersync/README.md
@@ -4,9 +4,9 @@
# PowerSync SDK for Dart/Flutter
-[PowerSync](https://powersync.com) is a service and set of SDKs that keeps Postgres databases in sync with on-device SQLite databases.
+*[PowerSync](https://www.powersync.com) is a Postgres-SQLite sync layer, which helps developers to create local-first real-time reactive apps that work seamlessly both online and offline.*
-This package (`powersync`) is the PowerSync SDK for Dart/Flutter clients.
+This package (`powersync`) is the PowerSync client SDK for Dart/Flutter clients.
See a summary of features [here](https://docs.powersync.com/client-sdk-references/flutter).
From e57381f9c5340d9d0118f91cd3d3f1d7a9b07395 Mon Sep 17 00:00:00 2001
From: Conrad Hofmeyr
Date: Thu, 30 May 2024 11:09:17 -0600
Subject: [PATCH 02/47] remove duplicate word
---
packages/powersync/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/powersync/README.md b/packages/powersync/README.md
index ad3cfbee..be7e50c3 100644
--- a/packages/powersync/README.md
+++ b/packages/powersync/README.md
@@ -6,7 +6,7 @@
*[PowerSync](https://www.powersync.com) is a Postgres-SQLite sync layer, which helps developers to create local-first real-time reactive apps that work seamlessly both online and offline.*
-This package (`powersync`) is the PowerSync client SDK for Dart/Flutter clients.
+This package (`powersync`) is the PowerSync client SDK for Dart/Flutter.
See a summary of features [here](https://docs.powersync.com/client-sdk-references/flutter).
From d812f78a5ae830e4ccdf29e1cb0a76aa27b01042 Mon Sep 17 00:00:00 2001
From: Mughees Khan
Date: Thu, 6 Jun 2024 12:21:28 +0200
Subject: [PATCH 03/47] Load and use PowerSync rust extension (#92)
* Initial extension testing.
* Replace schema logic with rust extension.
* Use extension for saving operations.
* Auto tx_id.
* Use sync_local op.
* Validate checksums using extension.
* clear_remove_ops
* delete_pending_buckets
* delete_bucket
* Fix deadlock on closing of connection.
* WIP.
* Update/fix tests.
* Add view name override.
* Retry opening database if locked.
* Fix lint issues.
* Use higher-level `updateSchema` in tests; test viewName alias.
* Load extension for android and iOS
* Load extension for iOS, MacOS and Android
* Include powersync_flutter_libs
* Rename android package
* Update windows and linux extension scripts
* Download binary in cmake
* Fix arch in cmake
* Fix binary download
* Load extension on windows
* Clean up readme and changelog
* Remove test code
* Update Abi check for current platform
* Clean up unused files
* Update path dependencies
* Test downloading powersync binary for tests
* Fix download for linux binary
* Add binary download for demos workflow
* Download latest binaries
* Bump version of powersync
* Bump minor version
---------
Co-authored-by: Ralf Kistner
---
.github/workflows/demos.yml | 17 +-
.github/workflows/packages.yml | 17 +-
.../flutter/generated_plugin_registrant.cc | 4 +
.../linux/flutter/generated_plugins.cmake | 1 +
.../Flutter/GeneratedPluginRegistrant.swift | 2 +
demos/supabase-anonymous-auth/pubspec.lock | 13 +-
.../flutter/generated_plugin_registrant.cc | 3 +
.../windows/flutter/generated_plugins.cmake | 1 +
.../flutter/generated_plugin_registrant.cc | 4 +
.../linux/flutter/generated_plugins.cmake | 1 +
.../Flutter/GeneratedPluginRegistrant.swift | 2 +
.../supabase-edge-function-auth/pubspec.lock | 13 +-
.../flutter/generated_plugin_registrant.cc | 3 +
.../windows/flutter/generated_plugins.cmake | 1 +
.../flutter/generated_plugin_registrant.cc | 4 +
.../linux/flutter/generated_plugins.cmake | 1 +
.../Flutter/GeneratedPluginRegistrant.swift | 2 +
demos/supabase-simple-chat/pubspec.lock | 13 +-
.../flutter/generated_plugin_registrant.cc | 3 +
.../windows/flutter/generated_plugins.cmake | 1 +
.../android/app/build.gradle | 2 +-
demos/supabase-todolist/ios/Podfile.lock | 32 +-
.../flutter/generated_plugin_registrant.cc | 4 +
.../linux/flutter/generated_plugins.cmake | 1 +
.../Flutter/GeneratedPluginRegistrant.swift | 2 +
demos/supabase-todolist/macos/Podfile.lock | 42 +-
.../macos/Runner.xcodeproj/project.pbxproj | 2 +-
.../xcshareddata/xcschemes/Runner.xcscheme | 2 +-
demos/supabase-todolist/pubspec.lock | 13 +-
demos/supabase-todolist/pubspec.yaml | 1 -
.../flutter/generated_plugin_registrant.cc | 3 +
.../windows/flutter/generated_plugins.cmake | 1 +
packages/powersync/CHANGELOG.md | 5 +
.../powersync/lib/src/bucket_storage.dart | 519 +++---------------
.../powersync/lib/src/database_utils.dart | 22 -
packages/powersync/lib/src/exceptions.dart | 7 +
packages/powersync/lib/src/migrations.dart | 67 ---
packages/powersync/lib/src/open_factory.dart | 88 +--
.../powersync/lib/src/powersync_database.dart | 41 +-
packages/powersync/lib/src/schema.dart | 34 +-
packages/powersync/lib/src/schema_logic.dart | 303 +---------
packages/powersync/lib/src/stream_utils.dart | 7 +
.../powersync/lib/src/streaming_sync.dart | 9 +-
packages/powersync/lib/src/sync_types.dart | 10 +
packages/powersync/pubspec.yaml | 5 +-
packages/powersync/test/crud_test.dart | 16 +-
packages/powersync/test/util.dart | 29 +
packages/powersync_flutter_libs/.gitignore | 34 ++
packages/powersync_flutter_libs/.metadata | 42 ++
packages/powersync_flutter_libs/CHANGELOG.md | 3 +
packages/powersync_flutter_libs/LICENSE | 176 ++++++
packages/powersync_flutter_libs/NOTICE | 1 +
packages/powersync_flutter_libs/README.md | 5 +
.../analysis_options.yaml | 4 +
.../powersync_flutter_libs/android/.gitignore | 9 +
.../android/build.gradle | 54 ++
.../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 61608 bytes
.../gradle/wrapper/gradle-wrapper.properties | 6 +
.../powersync_flutter_libs/android/gradlew | 244 ++++++++
.../android/gradlew.bat | 92 ++++
.../android/settings.gradle | 1 +
.../android/src/main/AndroidManifest.xml | 3 +
.../PowersyncFlutterLibsPlugin.java | 13 +
.../ios/Classes/PowersyncFlutterLibsPlugin.h | 4 +
.../ios/Classes/PowersyncFlutterLibsPlugin.m | 7 +
.../ios/powersync_flutter_libs.podspec | 30 +
.../lib/powersync_flutter_libs.dart | 1 +
.../linux/CMakeLists.txt | 52 ++
.../powersync_flutter_libs_plugin.h | 27 +
.../linux/powersync_flutter_libs_plugin.cc | 7 +
.../Classes/PowersyncFlutterLibsPlugin.h | 4 +
.../Classes/PowersyncFlutterLibsPlugin.m | 7 +
.../macos/powersync_flutter_libs.podspec | 29 +
packages/powersync_flutter_libs/pubspec.yaml | 33 ++
.../powersync_flutter_libs/windows/.gitignore | 17 +
.../windows/CMakeLists.txt | 53 ++
.../powersync_flutter_libs_plugin.h | 23 +
.../windows/powersync_flutter_libs_plugin.cpp | 6 +
78 files changed, 1367 insertions(+), 993 deletions(-)
delete mode 100644 packages/powersync/lib/src/migrations.dart
create mode 100644 packages/powersync_flutter_libs/.gitignore
create mode 100644 packages/powersync_flutter_libs/.metadata
create mode 100644 packages/powersync_flutter_libs/CHANGELOG.md
create mode 100644 packages/powersync_flutter_libs/LICENSE
create mode 100644 packages/powersync_flutter_libs/NOTICE
create mode 100644 packages/powersync_flutter_libs/README.md
create mode 100644 packages/powersync_flutter_libs/analysis_options.yaml
create mode 100644 packages/powersync_flutter_libs/android/.gitignore
create mode 100644 packages/powersync_flutter_libs/android/build.gradle
create mode 100644 packages/powersync_flutter_libs/android/gradle/wrapper/gradle-wrapper.jar
create mode 100644 packages/powersync_flutter_libs/android/gradle/wrapper/gradle-wrapper.properties
create mode 100755 packages/powersync_flutter_libs/android/gradlew
create mode 100644 packages/powersync_flutter_libs/android/gradlew.bat
create mode 100644 packages/powersync_flutter_libs/android/settings.gradle
create mode 100644 packages/powersync_flutter_libs/android/src/main/AndroidManifest.xml
create mode 100644 packages/powersync_flutter_libs/android/src/main/java/com/powersync/powersync_flutter_libs/PowersyncFlutterLibsPlugin.java
create mode 100644 packages/powersync_flutter_libs/ios/Classes/PowersyncFlutterLibsPlugin.h
create mode 100644 packages/powersync_flutter_libs/ios/Classes/PowersyncFlutterLibsPlugin.m
create mode 100644 packages/powersync_flutter_libs/ios/powersync_flutter_libs.podspec
create mode 100644 packages/powersync_flutter_libs/lib/powersync_flutter_libs.dart
create mode 100644 packages/powersync_flutter_libs/linux/CMakeLists.txt
create mode 100644 packages/powersync_flutter_libs/linux/include/powersync_flutter_libs/powersync_flutter_libs_plugin.h
create mode 100644 packages/powersync_flutter_libs/linux/powersync_flutter_libs_plugin.cc
create mode 100644 packages/powersync_flutter_libs/macos/Classes/PowersyncFlutterLibsPlugin.h
create mode 100644 packages/powersync_flutter_libs/macos/Classes/PowersyncFlutterLibsPlugin.m
create mode 100644 packages/powersync_flutter_libs/macos/powersync_flutter_libs.podspec
create mode 100644 packages/powersync_flutter_libs/pubspec.yaml
create mode 100644 packages/powersync_flutter_libs/windows/.gitignore
create mode 100644 packages/powersync_flutter_libs/windows/CMakeLists.txt
create mode 100644 packages/powersync_flutter_libs/windows/include/powersync_flutter_libs/powersync_flutter_libs_plugin.h
create mode 100644 packages/powersync_flutter_libs/windows/powersync_flutter_libs_plugin.cpp
diff --git a/.github/workflows/demos.yml b/.github/workflows/demos.yml
index 829e0908..f5c41cf0 100644
--- a/.github/workflows/demos.yml
+++ b/.github/workflows/demos.yml
@@ -1,8 +1,8 @@
name: Demos checks
concurrency:
- group: demos-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
+ group: demos-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
on:
push:
@@ -17,8 +17,8 @@ jobs:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
- flutter-version: '3.x'
- channel: 'stable'
+ flutter-version: "3.x"
+ channel: "stable"
- name: Install Melos
run: flutter pub global activate melos
@@ -38,11 +38,16 @@ jobs:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
- flutter-version: '3.x'
- channel: 'stable'
+ flutter-version: "3.x"
+ channel: "stable"
- name: Install melos
run: flutter pub global activate melos
- name: Install dependencies
run: melos bootstrap
+ - name: Download powersync binary
+ run: |
+ github="https://github.com/powersync-ja/powersync-sqlite-core/releases/download/v0.1.6"
+
+ curl "${github}/libpowersync_x64.so" -o packages/powersync/libpowersync.so --create-dirs -L -f
- name: Run tests
run: melos test
diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml
index b7cd7fc7..6526b23f 100644
--- a/.github/workflows/packages.yml
+++ b/.github/workflows/packages.yml
@@ -1,8 +1,8 @@
name: Packages check
concurrency:
- group: packages-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
- cancel-in-progress: true
+ group: packages-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
+ cancel-in-progress: true
on:
push:
@@ -17,8 +17,8 @@ jobs:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
- flutter-version: '3.x'
- channel: 'stable'
+ flutter-version: "3.x"
+ channel: "stable"
- name: Install Melos
run: flutter pub global activate melos
@@ -42,11 +42,16 @@ jobs:
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
- flutter-version: '3.x'
- channel: 'stable'
+ flutter-version: "3.x"
+ channel: "stable"
- name: Install melos
run: flutter pub global activate melos
- name: Install dependencies
run: melos bootstrap
+ - name: Download powersync binary
+ run: |
+ github="https://github.com/powersync-ja/powersync-sqlite-core/releases/download/v0.1.6"
+
+ curl "${github}/libpowersync_x64.so" -o packages/powersync/libpowersync.so --create-dirs -L -f
- name: Run tests
run: melos test
diff --git a/demos/supabase-anonymous-auth/linux/flutter/generated_plugin_registrant.cc b/demos/supabase-anonymous-auth/linux/flutter/generated_plugin_registrant.cc
index fc949e03..1bef6a30 100644
--- a/demos/supabase-anonymous-auth/linux/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-anonymous-auth/linux/flutter/generated_plugin_registrant.cc
@@ -7,6 +7,7 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
@@ -14,6 +15,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
+ g_autoptr(FlPluginRegistrar) powersync_flutter_libs_registrar =
+ fl_plugin_registry_get_registrar_for_plugin(registry, "PowersyncFlutterLibsPlugin");
+ powersync_flutter_libs_plugin_register_with_registrar(powersync_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
diff --git a/demos/supabase-anonymous-auth/linux/flutter/generated_plugins.cmake b/demos/supabase-anonymous-auth/linux/flutter/generated_plugins.cmake
index c34d0786..ed77a1a0 100644
--- a/demos/supabase-anonymous-auth/linux/flutter/generated_plugins.cmake
+++ b/demos/supabase-anonymous-auth/linux/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
gtk
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_linux
)
diff --git a/demos/supabase-anonymous-auth/macos/Flutter/GeneratedPluginRegistrant.swift b/demos/supabase-anonymous-auth/macos/Flutter/GeneratedPluginRegistrant.swift
index 7cd103ea..0c6fd7ff 100644
--- a/demos/supabase-anonymous-auth/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/demos/supabase-anonymous-auth/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -7,6 +7,7 @@ import Foundation
import app_links
import path_provider_foundation
+import powersync_flutter_libs
import shared_preferences_foundation
import sqlite3_flutter_libs
import url_launcher_macos
@@ -14,6 +15,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
+ PowersyncFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "PowersyncFlutterLibsPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
diff --git a/demos/supabase-anonymous-auth/pubspec.lock b/demos/supabase-anonymous-auth/pubspec.lock
index 940adbbc..f0634da0 100644
--- a/demos/supabase-anonymous-auth/pubspec.lock
+++ b/demos/supabase-anonymous-auth/pubspec.lock
@@ -326,7 +326,14 @@ packages:
path: "../../packages/powersync"
relative: true
source: path
- version: "1.3.1"
+ version: "1.4.0"
+ powersync_flutter_libs:
+ dependency: "direct overridden"
+ description:
+ path: "../../packages/powersync_flutter_libs"
+ relative: true
+ source: path
+ version: "0.0.1"
realtime_client:
dependency: transitive
description:
@@ -440,10 +447,10 @@ packages:
dependency: transitive
description:
name: sqlite3_flutter_libs
- sha256: d6c31c8511c441d1f12f20b607343df1afe4eddf24a1cf85021677c8eea26060
+ sha256: "9f89a7e7dc36eac2035808427eba1c3fbd79e59c3a22093d8dace6d36b1fe89e"
url: "https://pub.dev"
source: hosted
- version: "0.5.20"
+ version: "0.5.23"
sqlite_async:
dependency: "direct main"
description:
diff --git a/demos/supabase-anonymous-auth/windows/flutter/generated_plugin_registrant.cc b/demos/supabase-anonymous-auth/windows/flutter/generated_plugin_registrant.cc
index 0aed3732..691e6fc2 100644
--- a/demos/supabase-anonymous-auth/windows/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-anonymous-auth/windows/flutter/generated_plugin_registrant.cc
@@ -7,12 +7,15 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
+ PowersyncFlutterLibsPluginRegisterWithRegistrar(
+ registry->GetRegistrarForPlugin("PowersyncFlutterLibsPlugin"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
diff --git a/demos/supabase-anonymous-auth/windows/flutter/generated_plugins.cmake b/demos/supabase-anonymous-auth/windows/flutter/generated_plugins.cmake
index 7fe63857..0d5e9159 100644
--- a/demos/supabase-anonymous-auth/windows/flutter/generated_plugins.cmake
+++ b/demos/supabase-anonymous-auth/windows/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_windows
)
diff --git a/demos/supabase-edge-function-auth/linux/flutter/generated_plugin_registrant.cc b/demos/supabase-edge-function-auth/linux/flutter/generated_plugin_registrant.cc
index fc949e03..1bef6a30 100644
--- a/demos/supabase-edge-function-auth/linux/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-edge-function-auth/linux/flutter/generated_plugin_registrant.cc
@@ -7,6 +7,7 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
@@ -14,6 +15,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
+ g_autoptr(FlPluginRegistrar) powersync_flutter_libs_registrar =
+ fl_plugin_registry_get_registrar_for_plugin(registry, "PowersyncFlutterLibsPlugin");
+ powersync_flutter_libs_plugin_register_with_registrar(powersync_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
diff --git a/demos/supabase-edge-function-auth/linux/flutter/generated_plugins.cmake b/demos/supabase-edge-function-auth/linux/flutter/generated_plugins.cmake
index c34d0786..ed77a1a0 100644
--- a/demos/supabase-edge-function-auth/linux/flutter/generated_plugins.cmake
+++ b/demos/supabase-edge-function-auth/linux/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
gtk
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_linux
)
diff --git a/demos/supabase-edge-function-auth/macos/Flutter/GeneratedPluginRegistrant.swift b/demos/supabase-edge-function-auth/macos/Flutter/GeneratedPluginRegistrant.swift
index 7cd103ea..0c6fd7ff 100644
--- a/demos/supabase-edge-function-auth/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/demos/supabase-edge-function-auth/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -7,6 +7,7 @@ import Foundation
import app_links
import path_provider_foundation
+import powersync_flutter_libs
import shared_preferences_foundation
import sqlite3_flutter_libs
import url_launcher_macos
@@ -14,6 +15,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
+ PowersyncFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "PowersyncFlutterLibsPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
diff --git a/demos/supabase-edge-function-auth/pubspec.lock b/demos/supabase-edge-function-auth/pubspec.lock
index 940adbbc..f0634da0 100644
--- a/demos/supabase-edge-function-auth/pubspec.lock
+++ b/demos/supabase-edge-function-auth/pubspec.lock
@@ -326,7 +326,14 @@ packages:
path: "../../packages/powersync"
relative: true
source: path
- version: "1.3.1"
+ version: "1.4.0"
+ powersync_flutter_libs:
+ dependency: "direct overridden"
+ description:
+ path: "../../packages/powersync_flutter_libs"
+ relative: true
+ source: path
+ version: "0.0.1"
realtime_client:
dependency: transitive
description:
@@ -440,10 +447,10 @@ packages:
dependency: transitive
description:
name: sqlite3_flutter_libs
- sha256: d6c31c8511c441d1f12f20b607343df1afe4eddf24a1cf85021677c8eea26060
+ sha256: "9f89a7e7dc36eac2035808427eba1c3fbd79e59c3a22093d8dace6d36b1fe89e"
url: "https://pub.dev"
source: hosted
- version: "0.5.20"
+ version: "0.5.23"
sqlite_async:
dependency: "direct main"
description:
diff --git a/demos/supabase-edge-function-auth/windows/flutter/generated_plugin_registrant.cc b/demos/supabase-edge-function-auth/windows/flutter/generated_plugin_registrant.cc
index 0aed3732..691e6fc2 100644
--- a/demos/supabase-edge-function-auth/windows/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-edge-function-auth/windows/flutter/generated_plugin_registrant.cc
@@ -7,12 +7,15 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
+ PowersyncFlutterLibsPluginRegisterWithRegistrar(
+ registry->GetRegistrarForPlugin("PowersyncFlutterLibsPlugin"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
diff --git a/demos/supabase-edge-function-auth/windows/flutter/generated_plugins.cmake b/demos/supabase-edge-function-auth/windows/flutter/generated_plugins.cmake
index 7fe63857..0d5e9159 100644
--- a/demos/supabase-edge-function-auth/windows/flutter/generated_plugins.cmake
+++ b/demos/supabase-edge-function-auth/windows/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_windows
)
diff --git a/demos/supabase-simple-chat/linux/flutter/generated_plugin_registrant.cc b/demos/supabase-simple-chat/linux/flutter/generated_plugin_registrant.cc
index fc949e03..1bef6a30 100644
--- a/demos/supabase-simple-chat/linux/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-simple-chat/linux/flutter/generated_plugin_registrant.cc
@@ -7,6 +7,7 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
@@ -14,6 +15,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
+ g_autoptr(FlPluginRegistrar) powersync_flutter_libs_registrar =
+ fl_plugin_registry_get_registrar_for_plugin(registry, "PowersyncFlutterLibsPlugin");
+ powersync_flutter_libs_plugin_register_with_registrar(powersync_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
diff --git a/demos/supabase-simple-chat/linux/flutter/generated_plugins.cmake b/demos/supabase-simple-chat/linux/flutter/generated_plugins.cmake
index c34d0786..ed77a1a0 100644
--- a/demos/supabase-simple-chat/linux/flutter/generated_plugins.cmake
+++ b/demos/supabase-simple-chat/linux/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
gtk
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_linux
)
diff --git a/demos/supabase-simple-chat/macos/Flutter/GeneratedPluginRegistrant.swift b/demos/supabase-simple-chat/macos/Flutter/GeneratedPluginRegistrant.swift
index c49b609b..cc3251a8 100644
--- a/demos/supabase-simple-chat/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/demos/supabase-simple-chat/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -7,6 +7,7 @@ import Foundation
import app_links
import path_provider_foundation
+import powersync_flutter_libs
import shared_preferences_foundation
import sign_in_with_apple
import sqlite3_flutter_libs
@@ -15,6 +16,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
+ PowersyncFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "PowersyncFlutterLibsPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
SignInWithApplePlugin.register(with: registry.registrar(forPlugin: "SignInWithApplePlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
diff --git a/demos/supabase-simple-chat/pubspec.lock b/demos/supabase-simple-chat/pubspec.lock
index 1e39714a..1fd789f7 100644
--- a/demos/supabase-simple-chat/pubspec.lock
+++ b/demos/supabase-simple-chat/pubspec.lock
@@ -358,7 +358,14 @@ packages:
path: "../../packages/powersync"
relative: true
source: path
- version: "1.3.1"
+ version: "1.4.0"
+ powersync_flutter_libs:
+ dependency: "direct overridden"
+ description:
+ path: "../../packages/powersync_flutter_libs"
+ relative: true
+ source: path
+ version: "0.0.1"
realtime_client:
dependency: transitive
description:
@@ -496,10 +503,10 @@ packages:
dependency: transitive
description:
name: sqlite3_flutter_libs
- sha256: d6c31c8511c441d1f12f20b607343df1afe4eddf24a1cf85021677c8eea26060
+ sha256: "9f89a7e7dc36eac2035808427eba1c3fbd79e59c3a22093d8dace6d36b1fe89e"
url: "https://pub.dev"
source: hosted
- version: "0.5.20"
+ version: "0.5.23"
sqlite_async:
dependency: transitive
description:
diff --git a/demos/supabase-simple-chat/windows/flutter/generated_plugin_registrant.cc b/demos/supabase-simple-chat/windows/flutter/generated_plugin_registrant.cc
index 0aed3732..691e6fc2 100644
--- a/demos/supabase-simple-chat/windows/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-simple-chat/windows/flutter/generated_plugin_registrant.cc
@@ -7,12 +7,15 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
+ PowersyncFlutterLibsPluginRegisterWithRegistrar(
+ registry->GetRegistrarForPlugin("PowersyncFlutterLibsPlugin"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
diff --git a/demos/supabase-simple-chat/windows/flutter/generated_plugins.cmake b/demos/supabase-simple-chat/windows/flutter/generated_plugins.cmake
index 7fe63857..0d5e9159 100644
--- a/demos/supabase-simple-chat/windows/flutter/generated_plugins.cmake
+++ b/demos/supabase-simple-chat/windows/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_windows
)
diff --git a/demos/supabase-todolist/android/app/build.gradle b/demos/supabase-todolist/android/app/build.gradle
index b0ab28b2..9daa778b 100644
--- a/demos/supabase-todolist/android/app/build.gradle
+++ b/demos/supabase-todolist/android/app/build.gradle
@@ -46,7 +46,7 @@ android {
applicationId "co.powersync.demotodolist"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
- minSdkVersion 21
+ minSdkVersion 24
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
diff --git a/demos/supabase-todolist/ios/Podfile.lock b/demos/supabase-todolist/ios/Podfile.lock
index 56f60723..8c8a7b19 100644
--- a/demos/supabase-todolist/ios/Podfile.lock
+++ b/demos/supabase-todolist/ios/Podfile.lock
@@ -7,21 +7,25 @@ PODS:
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
+ - powersync-sqlite-core (0.1.6)
+ - powersync_flutter_libs (0.0.1):
+ - Flutter
+ - powersync-sqlite-core (~> 0.1.6)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- - sqlite3 (3.45.1):
- - sqlite3/common (= 3.45.1)
- - sqlite3/common (3.45.1)
- - sqlite3/fts5 (3.45.1):
+ - sqlite3 (3.46.0):
+ - sqlite3/common (= 3.46.0)
+ - sqlite3/common (3.46.0)
+ - sqlite3/fts5 (3.46.0):
- sqlite3/common
- - sqlite3/perf-threadsafe (3.45.1):
+ - sqlite3/perf-threadsafe (3.46.0):
- sqlite3/common
- - sqlite3/rtree (3.45.1):
+ - sqlite3/rtree (3.46.0):
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- Flutter
- - sqlite3 (~> 3.45.1)
+ - sqlite3 (~> 3.46.0)
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
@@ -33,12 +37,14 @@ DEPENDENCIES:
- camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
- Flutter (from `Flutter`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
+ - powersync_flutter_libs (from `.symlinks/plugins/powersync_flutter_libs/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
- sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
SPEC REPOS:
trunk:
+ - powersync-sqlite-core
- sqlite3
EXTERNAL SOURCES:
@@ -50,6 +56,8 @@ EXTERNAL SOURCES:
:path: Flutter
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/darwin"
+ powersync_flutter_libs:
+ :path: ".symlinks/plugins/powersync_flutter_libs/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
sqlite3_flutter_libs:
@@ -58,14 +66,16 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_ios/ios"
SPEC CHECKSUMS:
- app_links: 5ef33d0d295a89d9d16bb81b0e3b0d5f70d6c875
+ app_links: e70ca16b4b0f88253b3b3660200d4a10b4ea9795
camera_avfoundation: 759172d1a77ae7be0de08fc104cfb79738b8a59e
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
+ powersync-sqlite-core: 4c38c8f470f6dca61346789fd5436a6826d1e3dd
+ powersync_flutter_libs: 5d6b132a398de442c0853a8b14bfbb62cd4ff5a1
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
- sqlite3: 73b7fc691fdc43277614250e04d183740cb15078
- sqlite3_flutter_libs: af0e8fe9bce48abddd1ffdbbf839db0302d72d80
- url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
+ sqlite3: 154b084339ede06960a5b3c8160066adc9176b7d
+ sqlite3_flutter_libs: 0d611efdf6d1c9297d5ab03dab21b75aeebdae31
+ url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
PODFILE CHECKSUM: f7b3cb7384a2d5da4b22b090e1f632de7f377987
diff --git a/demos/supabase-todolist/linux/flutter/generated_plugin_registrant.cc b/demos/supabase-todolist/linux/flutter/generated_plugin_registrant.cc
index fc949e03..1bef6a30 100644
--- a/demos/supabase-todolist/linux/flutter/generated_plugin_registrant.cc
+++ b/demos/supabase-todolist/linux/flutter/generated_plugin_registrant.cc
@@ -7,6 +7,7 @@
#include "generated_plugin_registrant.h"
#include
+#include
#include
#include
@@ -14,6 +15,9 @@ void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
+ g_autoptr(FlPluginRegistrar) powersync_flutter_libs_registrar =
+ fl_plugin_registry_get_registrar_for_plugin(registry, "PowersyncFlutterLibsPlugin");
+ powersync_flutter_libs_plugin_register_with_registrar(powersync_flutter_libs_registrar);
g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin");
sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar);
diff --git a/demos/supabase-todolist/linux/flutter/generated_plugins.cmake b/demos/supabase-todolist/linux/flutter/generated_plugins.cmake
index c34d0786..ed77a1a0 100644
--- a/demos/supabase-todolist/linux/flutter/generated_plugins.cmake
+++ b/demos/supabase-todolist/linux/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
gtk
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_linux
)
diff --git a/demos/supabase-todolist/macos/Flutter/GeneratedPluginRegistrant.swift b/demos/supabase-todolist/macos/Flutter/GeneratedPluginRegistrant.swift
index 7cd103ea..0c6fd7ff 100644
--- a/demos/supabase-todolist/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/demos/supabase-todolist/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -7,6 +7,7 @@ import Foundation
import app_links
import path_provider_foundation
+import powersync_flutter_libs
import shared_preferences_foundation
import sqlite3_flutter_libs
import url_launcher_macos
@@ -14,6 +15,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
AppLinksMacosPlugin.register(with: registry.registrar(forPlugin: "AppLinksMacosPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
+ PowersyncFlutterLibsPlugin.register(with: registry.registrar(forPlugin: "PowersyncFlutterLibsPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin"))
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
diff --git a/demos/supabase-todolist/macos/Podfile.lock b/demos/supabase-todolist/macos/Podfile.lock
index f54327c0..55e41f1b 100644
--- a/demos/supabase-todolist/macos/Podfile.lock
+++ b/demos/supabase-todolist/macos/Podfile.lock
@@ -5,23 +5,25 @@ PODS:
- path_provider_foundation (0.0.1):
- Flutter
- FlutterMacOS
+ - powersync-sqlite-core (0.1.6)
+ - powersync_flutter_libs (0.0.1):
+ - FlutterMacOS
+ - powersync-sqlite-core (~> 0.1.6)
- shared_preferences_foundation (0.0.1):
- Flutter
- FlutterMacOS
- - sign_in_with_apple (0.0.1):
- - FlutterMacOS
- - sqlite3 (3.43.1):
- - sqlite3/common (= 3.43.1)
- - sqlite3/common (3.43.1)
- - sqlite3/fts5 (3.43.1):
+ - sqlite3 (3.46.0):
+ - sqlite3/common (= 3.46.0)
+ - sqlite3/common (3.46.0)
+ - sqlite3/fts5 (3.46.0):
- sqlite3/common
- - sqlite3/perf-threadsafe (3.43.1):
+ - sqlite3/perf-threadsafe (3.46.0):
- sqlite3/common
- - sqlite3/rtree (3.43.1):
+ - sqlite3/rtree (3.46.0):
- sqlite3/common
- sqlite3_flutter_libs (0.0.1):
- FlutterMacOS
- - sqlite3 (~> 3.43.1)
+ - sqlite3 (~> 3.46.0)
- sqlite3/fts5
- sqlite3/perf-threadsafe
- sqlite3/rtree
@@ -32,13 +34,14 @@ DEPENDENCIES:
- app_links (from `Flutter/ephemeral/.symlinks/plugins/app_links/macos`)
- FlutterMacOS (from `Flutter/ephemeral`)
- path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`)
+ - powersync_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/powersync_flutter_libs/macos`)
- shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
- - sign_in_with_apple (from `Flutter/ephemeral/.symlinks/plugins/sign_in_with_apple/macos`)
- sqlite3_flutter_libs (from `Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos`)
- url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
SPEC REPOS:
trunk:
+ - powersync-sqlite-core
- sqlite3
EXTERNAL SOURCES:
@@ -48,25 +51,26 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral
path_provider_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin
+ powersync_flutter_libs:
+ :path: Flutter/ephemeral/.symlinks/plugins/powersync_flutter_libs/macos
shared_preferences_foundation:
:path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
- sign_in_with_apple:
- :path: Flutter/ephemeral/.symlinks/plugins/sign_in_with_apple/macos
sqlite3_flutter_libs:
:path: Flutter/ephemeral/.symlinks/plugins/sqlite3_flutter_libs/macos
url_launcher_macos:
:path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
SPEC CHECKSUMS:
- app_links: 4481ed4d71f384b0c3ae5016f4633aa73d32ff67
+ app_links: 10e0a0ab602ffaf34d142cd4862f29d34b303b2a
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
- path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
- shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
- sign_in_with_apple: a9e97e744e8edc36aefc2723111f652102a7a727
- sqlite3: e0a0623a33a20a47cb5921552aebc6e9e437dc91
- sqlite3_flutter_libs: a91655e4a75a499364f693041aa1c6d1b36b66d0
+ path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
+ powersync-sqlite-core: 4c38c8f470f6dca61346789fd5436a6826d1e3dd
+ powersync_flutter_libs: 1eb1c6790a72afe08e68d4cc489d71ab61da32ee
+ shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
+ sqlite3: 154b084339ede06960a5b3c8160066adc9176b7d
+ sqlite3_flutter_libs: 1be4459672f8168ded2d8667599b8e3ca5e72b83
url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
-COCOAPODS: 1.12.1
+COCOAPODS: 1.15.2
diff --git a/demos/supabase-todolist/macos/Runner.xcodeproj/project.pbxproj b/demos/supabase-todolist/macos/Runner.xcodeproj/project.pbxproj
index 46a2dce9..fe47ba76 100644
--- a/demos/supabase-todolist/macos/Runner.xcodeproj/project.pbxproj
+++ b/demos/supabase-todolist/macos/Runner.xcodeproj/project.pbxproj
@@ -259,7 +259,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1430;
- LastUpgradeCheck = 1430;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
33CC10EC2044A3C60003C045 = {
diff --git a/demos/supabase-todolist/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/demos/supabase-todolist/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index cc0e03af..2c526589 100644
--- a/demos/supabase-todolist/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/demos/supabase-todolist/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
+#include
#include
#include
void RegisterPlugins(flutter::PluginRegistry* registry) {
AppLinksPluginCApiRegisterWithRegistrar(
registry->GetRegistrarForPlugin("AppLinksPluginCApi"));
+ PowersyncFlutterLibsPluginRegisterWithRegistrar(
+ registry->GetRegistrarForPlugin("PowersyncFlutterLibsPlugin"));
Sqlite3FlutterLibsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin"));
UrlLauncherWindowsRegisterWithRegistrar(
diff --git a/demos/supabase-todolist/windows/flutter/generated_plugins.cmake b/demos/supabase-todolist/windows/flutter/generated_plugins.cmake
index 7fe63857..0d5e9159 100644
--- a/demos/supabase-todolist/windows/flutter/generated_plugins.cmake
+++ b/demos/supabase-todolist/windows/flutter/generated_plugins.cmake
@@ -4,6 +4,7 @@
list(APPEND FLUTTER_PLUGIN_LIST
app_links
+ powersync_flutter_libs
sqlite3_flutter_libs
url_launcher_windows
)
diff --git a/packages/powersync/CHANGELOG.md b/packages/powersync/CHANGELOG.md
index 2a36213d..2f81326f 100644
--- a/packages/powersync/CHANGELOG.md
+++ b/packages/powersync/CHANGELOG.md
@@ -1,3 +1,8 @@
+## 1.4.0
+
+- Introduces the use of the `powersync-sqlite-core` native extension.
+- Added a new package dependency on `powersync_flutter_libs` for loading the extension.
+
## 1.3.1
- Fix "Checksum mismatch" issue when calling `PowerSyncDatabase.connect` multiple times.
diff --git a/packages/powersync/lib/src/bucket_storage.dart b/packages/powersync/lib/src/bucket_storage.dart
index adede76c..b2618f8e 100644
--- a/packages/powersync/lib/src/bucket_storage.dart
+++ b/packages/powersync/lib/src/bucket_storage.dart
@@ -2,7 +2,6 @@ import 'dart:async';
import 'dart:convert';
import 'package:collection/collection.dart';
-import 'package:powersync/src/log_internal.dart';
import 'package:sqlite_async/mutex.dart';
import 'package:sqlite_async/sqlite3.dart' as sqlite;
@@ -10,7 +9,6 @@ import 'crud.dart';
import 'database_utils.dart';
import 'schema_logic.dart';
import 'sync_types.dart';
-import 'uuid.dart';
const compactOperationInterval = 1000;
@@ -19,30 +17,20 @@ class BucketStorage {
final Mutex mutex;
bool _hasCompletedSync = false;
bool _pendingBucketDeletes = false;
- Set tableNames = {};
int _compactCounter = compactOperationInterval;
- ChecksumCache? _checksumCache;
BucketStorage(sqlite.Database db, {required this.mutex}) : _internalDb = db {
_init();
}
- _init() {
- final existingTableRows = select(
- "SELECT name FROM sqlite_master WHERE type='table' AND name GLOB 'ps_data_*'");
- for (final row in existingTableRows) {
- tableNames.add(row['name'] as String);
- }
- }
+ _init() {}
// Use only for read statements
sqlite.ResultSet select(String query, [List