From 72ae64dd9348940445d068f06192da018d54af74 Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 5 Nov 2024 13:00:53 +0200 Subject: [PATCH 1/5] Simplify Readme since we have most content in docs --- packages/powersync/README.md | 47 ++++++------------------------------ 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/packages/powersync/README.md b/packages/powersync/README.md index be0f4323..fa2934f0 100644 --- a/packages/powersync/README.md +++ b/packages/powersync/README.md @@ -18,11 +18,13 @@ flutter pub add powersync # Getting Started -Our [full SDK reference](https://docs.powersync.com/client-sdk-references/flutter) contains everything you need to know to get started implementing PowerSync in your project. +Our [full SDK reference](https://docs.powersync.com/client-sdk-references/flutter) contains everything you need to know to get started implementing PowerSync in your project. ## **Web support - Beta** -Web support in version 1.9.0 is currently in a beta release. This means it is safe to use in production, provided that you've tested your use cases. +Web support in version 1.9.0 is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. + +Please familiarize yourself with the Current Limitations for Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#current-limitations). ### Demo app @@ -39,53 +41,20 @@ The easiest way to test Flutter Web support is to run the [Supabase Todo-List](h ### Installing PowerSync in your own project -Install the latest version of the package, for example: +Install the [latest version]((https://pub.dev/packages/powersync/versions)) of the package, for example: ``` flutter pub add powersync:'^1.9.0' ``` -The latest version can be found [here](https://pub.dev/packages/powersync/versions). - -### Additional config +#### Additional config -Web support requires `sqlite3.wasm` and worker (`powersync_db.worker.js` and `powersync_sync.worker.js`) assets to be served from the web application. They can be downloaded to the `web` directory by running the following command in your application's root folder. +Web support requires `sqlite3.wasm` and worker (`powersync_db.worker.js` and `powersync_sync.worker.js`) assets to be served from the web application. They can be downloaded to the web directory by running the following command in your application's root folder. -```dart +```bash dart run powersync:setup_web ``` -The same code is used for initializing native and web `PowerSyncDatabase` clients. - -### Limitations - -The API for Web is essentially the same as for native platforms, however, some features within `PowerSyncDatabase` clients are not available. - -#### Imports - -Flutter Web does not support importing directly from `sqlite3.dart` as it uses `dart:ffi`. - -Change imports from - -```Dart -import 'package/powersync/sqlite3.dart` -``` - -to - -```Dart -import 'package/powersync/sqlite3_common.dart' -``` - -In code which needs to run on the Web platform. Isolated native specific code can still import from `sqlite3.dart`. - -#### Database connections - -Web DB connections do not support concurrency. A single DB connection is used. `readLock` and `writeLock` contexts do not -implement checks for preventing writable queries in read connections and vice-versa. - -Direct access to the synchronous `CommonDatabase` (`sqlite.Database` equivalent for web) connection is not available. `computeWithDatabase` is not available on web. - # Changelog A changelog for this SDK is available [here](https://releases.powersync.com/announcements/flutter-client-sdk). From 38eba5def6a78ae7b0d55cb509640d706aaf0cf8 Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 5 Nov 2024 14:44:18 +0200 Subject: [PATCH 2/5] Simplify additional config --- packages/powersync/README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/powersync/README.md b/packages/powersync/README.md index fa2934f0..6dcbf5b5 100644 --- a/packages/powersync/README.md +++ b/packages/powersync/README.md @@ -22,15 +22,15 @@ Our [full SDK reference](https://docs.powersync.com/client-sdk-references/flutte ## **Web support - Beta** -Web support in version 1.9.0 is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. +Flutter Web support in version 1.9.0 is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. -Please familiarize yourself with the Current Limitations for Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#current-limitations). +Please familiarize yourself with the Current Limitations for Flutter Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#current-limitations). ### Demo app The easiest way to test Flutter Web support is to run the [Supabase Todo-List](https://github.com/powersync-ja/powersync.dart/tree/main/demos/supabase-todolist) demo app: -1. Checkout [this repo's](https://github.com/powersync-ja/powersync.dart/tree/main) `main` branch. +1. Clone [this repo](https://github.com/powersync-ja/powersync.dart/tree/main). - Note: If you are an existing user updating to the latest code after a git pull, run `melos exec 'flutter pub upgrade'` in the repo's root directory and make sure it succeeds. @@ -49,11 +49,7 @@ flutter pub add powersync:'^1.9.0' #### Additional config -Web support requires `sqlite3.wasm` and worker (`powersync_db.worker.js` and `powersync_sync.worker.js`) assets to be served from the web application. They can be downloaded to the web directory by running the following command in your application's root folder. - -```bash -dart run powersync:setup_web -``` +Additional config is required for web projects. Please see our docs [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#additional-config) for details. # Changelog From 9b55edfd18adc8ed909dc4b90a2de2de55bd463b Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 5 Nov 2024 14:47:43 +0200 Subject: [PATCH 3/5] Format version number --- 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 6dcbf5b5..ef8aa30e 100644 --- a/packages/powersync/README.md +++ b/packages/powersync/README.md @@ -22,7 +22,7 @@ Our [full SDK reference](https://docs.powersync.com/client-sdk-references/flutte ## **Web support - Beta** -Flutter Web support in version 1.9.0 is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. +Flutter Web support in version `^1.9.0` is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. Please familiarize yourself with the Current Limitations for Flutter Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#current-limitations). From b5bf2e7f376d89e8eabb6cc6a2eb079be57808c8 Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 5 Nov 2024 14:51:35 +0200 Subject: [PATCH 4/5] Rename current limitations to limitations --- 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 ef8aa30e..8d6c1e26 100644 --- a/packages/powersync/README.md +++ b/packages/powersync/README.md @@ -24,7 +24,7 @@ Our [full SDK reference](https://docs.powersync.com/client-sdk-references/flutte Flutter Web support in version `^1.9.0` is currently in a beta release. It is functionally ready for production use, provided that you've tested your use cases. -Please familiarize yourself with the Current Limitations for Flutter Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#current-limitations). +Please familiarize yourself with the limitations for Flutter Web documented [here](https://docs.powersync.com/client-sdk-references/flutter/flutter-web-support#limitations). ### Demo app From b7751bea8b0d8ae5cea5a2e641b27e6eb1a8d611 Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 5 Nov 2024 14:59:08 +0200 Subject: [PATCH 5/5] Fix versions link --- 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 8d6c1e26..e9fcf03d 100644 --- a/packages/powersync/README.md +++ b/packages/powersync/README.md @@ -41,7 +41,7 @@ The easiest way to test Flutter Web support is to run the [Supabase Todo-List](h ### Installing PowerSync in your own project -Install the [latest version]((https://pub.dev/packages/powersync/versions)) of the package, for example: +Install the [latest version](https://pub.dev/packages/powersync/versions) of the package, for example: ``` flutter pub add powersync:'^1.9.0'