From 7ed5abc4acbf2d2d29d01aae390390590536e897 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Wed, 29 Jul 2026 14:21:13 +0200 Subject: [PATCH 1/7] Experimental web support --- client-sdks/reference/kotlin.mdx | 18 ++++++++++++++++++ resources/supported-platforms.mdx | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/client-sdks/reference/kotlin.mdx b/client-sdks/reference/kotlin.mdx index c76fbf51..8fb86bfb 100644 --- a/client-sdks/reference/kotlin.mdx +++ b/client-sdks/reference/kotlin.mdx @@ -40,6 +40,7 @@ import LocalOnly from '/snippets/local-only-escape.mdx'; **Supported platforms** * PowerSync supports Android, JVM and Apple (iOS, macOS, tvOS, watchOS) targets through Kotlin Multiplatform. * On the JVM, the following platforms are supported: Linux AArch64, Linux X64, MacOS AArch64, MacOS X64, Windows X64. + * Web (JS and WebAssembly) targets have experimental support. See [Experimental Web Support](#experimental-web-support). ## Getting Started @@ -374,6 +375,23 @@ The PowerSync SDK for Kotlin can be used with the SQLDelight and Room libraries, run SQL queries. For details, see the [SQL Library Support](/client-sdks/orms/kotlin/overview) page. +## Experimental Web Support + +Version 1.14.0 of the SDK adds initial support for web targets (JS and WebAssembly). Use `WebConnectionFactory` to open a PowerSync database on the web. + + +Web support is experimental and incomplete. We are sharing it for early testing and feedback, and it is not ready for production use. Known limitations include: + +* Multi-tab support is not yet available in this version. +* On the JS target, binding `Long` values that don't fit into 32 bits throws an error. +* On the WebAssembly target, binding `ByteArray` values to statements is slow. +* Test coverage on web is limited compared to other targets. + +Follow the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362) for progress on stabilizing web support, and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). + + +For a working example, see the web target of the [Supabase To-Do List demo](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/supabase-todolist). + ## Troubleshooting See [Troubleshooting](/debugging/troubleshooting) for pointers to debug common issues. diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index 7620e89c..a341c39a 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -119,8 +119,8 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | macOS (JVM) | Yes (x86-64, aarch64) | | | | Linux (native) | No | – | Maybe soon | | Windows (native) | No | – | Maybe soon | -| JS | No | – | | -| WebAssembly | No | – | | +| JS | Experimental | – | Added in SDK v1.14.0. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | +| WebAssembly | Experimental | – | Added in SDK v1.14.0. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | | HTTP connection method | Yes | – | | | WebSocket connection method | Yes | – | Note: Only as an automated fallback for clients without backpressure support. | From 649b89eae3b88b9165ce626a4075f9017cce9971 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Wed, 29 Jul 2026 14:23:35 +0200 Subject: [PATCH 2/7] Wording --- client-sdks/reference/kotlin.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client-sdks/reference/kotlin.mdx b/client-sdks/reference/kotlin.mdx index 8fb86bfb..b94e9c10 100644 --- a/client-sdks/reference/kotlin.mdx +++ b/client-sdks/reference/kotlin.mdx @@ -380,14 +380,14 @@ For details, see the [SQL Library Support](/client-sdks/orms/kotlin/overview) pa Version 1.14.0 of the SDK adds initial support for web targets (JS and WebAssembly). Use `WebConnectionFactory` to open a PowerSync database on the web. -Web support is experimental and incomplete. We are sharing it for early testing and feedback, and it is not ready for production use. Known limitations include: - +Web support is experimental and incomplete. We are sharing it for early testing and prototyping purposes, and it is not ready for production use. Known limitations include: * Multi-tab support is not yet available in this version. * On the JS target, binding `Long` values that don't fit into 32 bits throws an error. * On the WebAssembly target, binding `ByteArray` values to statements is slow. -* Test coverage on web is limited compared to other targets. Follow the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362) for progress on stabilizing web support, and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). + +If you are using web support, please test it thoroughly and provide feedback on the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362), and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). For a working example, see the web target of the [Supabase To-Do List demo](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/supabase-todolist). From 18444af2fec6dc8c30e9cecba8921f443bf41686 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Wed, 29 Jul 2026 14:28:35 +0200 Subject: [PATCH 3/7] Room 3 note --- client-sdks/orms/kotlin/room.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client-sdks/orms/kotlin/room.mdx b/client-sdks/orms/kotlin/room.mdx index 6d0b3b45..a25ca70d 100644 --- a/client-sdks/orms/kotlin/room.mdx +++ b/client-sdks/orms/kotlin/room.mdx @@ -26,6 +26,10 @@ When adopting the Room integration for PowerSync: ## Installation + +Version 1.14.0 and later of `com.powersync:integration-room` requires [Room 3.0](https://developer.android.com/jetpack/androidx/releases/room3). If your app still uses Room 2.x, upgrade your Room dependency to 3.0 before updating the integration. + + PowerSync acts as an addon to your existing Room database, which means that (unlike with most other PowerSync SDKs) you are still responsible for schema management. Room requires [raw tables](/client-sdks/advanced/raw-tables), as the views managed by PowerSync are incompatible with From 8ebd275f7e44da36aa149e66834231247f1baf16 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Wed, 29 Jul 2026 14:31:05 +0200 Subject: [PATCH 4/7] Wording --- client-sdks/reference/kotlin.mdx | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/client-sdks/reference/kotlin.mdx b/client-sdks/reference/kotlin.mdx index b94e9c10..cbc8f8aa 100644 --- a/client-sdks/reference/kotlin.mdx +++ b/client-sdks/reference/kotlin.mdx @@ -380,14 +380,9 @@ For details, see the [SQL Library Support](/client-sdks/orms/kotlin/overview) pa Version 1.14.0 of the SDK adds initial support for web targets (JS and WebAssembly). Use `WebConnectionFactory` to open a PowerSync database on the web. -Web support is experimental and incomplete. We are sharing it for early testing and prototyping purposes, and it is not ready for production use. Known limitations include: -* Multi-tab support is not yet available in this version. -* On the JS target, binding `Long` values that don't fit into 32 bits throws an error. -* On the WebAssembly target, binding `ByteArray` values to statements is slow. +Web support is experimental and incomplete. We are sharing it for early testing and prototyping purposes, and it is not ready for production use. The main limitation is that multi-tab support is not functional in this version: tabs don't coordinate sync connections or share update notifications, so use the database from a single tab only. -Follow the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362) for progress on stabilizing web support, and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). - -If you are using web support, please test it thoroughly and provide feedback on the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362), and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). +If you try web support, please test it thoroughly and report any issues you run into on [GitHub](https://github.com/powersync-ja/powersync-kotlin/issues). Follow the [tracking issue](https://github.com/powersync-ja/powersync-kotlin/issues/362) for progress on stabilizing web support. For a working example, see the web target of the [Supabase To-Do List demo](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/supabase-todolist). From 6a5832ac6175e28bf8ab0801f6fb3c983b407588 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Wed, 29 Jul 2026 14:38:52 +0200 Subject: [PATCH 5/7] AI feedback --- client-sdks/orms/kotlin/room.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client-sdks/orms/kotlin/room.mdx b/client-sdks/orms/kotlin/room.mdx index a25ca70d..db684ed2 100644 --- a/client-sdks/orms/kotlin/room.mdx +++ b/client-sdks/orms/kotlin/room.mdx @@ -26,9 +26,9 @@ When adopting the Room integration for PowerSync: ## Installation - + Version 1.14.0 and later of `com.powersync:integration-room` requires [Room 3.0](https://developer.android.com/jetpack/androidx/releases/room3). If your app still uses Room 2.x, upgrade your Room dependency to 3.0 before updating the integration. - + PowerSync acts as an addon to your existing Room database, which means that (unlike with most other PowerSync SDKs) you are still responsible for schema management. From e75da578b79c44a3617e1b9a761aa21569247d56 Mon Sep 17 00:00:00 2001 From: benitav Date: Wed, 29 Jul 2026 16:51:52 +0200 Subject: [PATCH 6/7] Apply suggestions from code review Co-authored-by: Simon Binder --- client-sdks/orms/kotlin/room.mdx | 2 +- client-sdks/reference/kotlin.mdx | 2 +- resources/supported-platforms.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client-sdks/orms/kotlin/room.mdx b/client-sdks/orms/kotlin/room.mdx index db684ed2..162d16ff 100644 --- a/client-sdks/orms/kotlin/room.mdx +++ b/client-sdks/orms/kotlin/room.mdx @@ -27,7 +27,7 @@ When adopting the Room integration for PowerSync: ## Installation -Version 1.14.0 and later of `com.powersync:integration-room` requires [Room 3.0](https://developer.android.com/jetpack/androidx/releases/room3). If your app still uses Room 2.x, upgrade your Room dependency to 3.0 before updating the integration. +Version 1.14.1 and later of `com.powersync:integration-room` requires [Room 3.0](https://developer.android.com/jetpack/androidx/releases/room3). If your app still uses Room 2.x, upgrade your Room dependency to 3.0 before updating the integration. PowerSync acts as an addon to your existing Room database, which means that (unlike with most other PowerSync SDKs) diff --git a/client-sdks/reference/kotlin.mdx b/client-sdks/reference/kotlin.mdx index cbc8f8aa..f69c3dfd 100644 --- a/client-sdks/reference/kotlin.mdx +++ b/client-sdks/reference/kotlin.mdx @@ -377,7 +377,7 @@ For details, see the [SQL Library Support](/client-sdks/orms/kotlin/overview) pa ## Experimental Web Support -Version 1.14.0 of the SDK adds initial support for web targets (JS and WebAssembly). Use `WebConnectionFactory` to open a PowerSync database on the web. +Version 1.14.1 of the SDK adds initial support for web targets (JS and WebAssembly). Use `WebConnectionFactory` to open a PowerSync database on the web. Web support is experimental and incomplete. We are sharing it for early testing and prototyping purposes, and it is not ready for production use. The main limitation is that multi-tab support is not functional in this version: tabs don't coordinate sync connections or share update notifications, so use the database from a single tab only. diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index a341c39a..fee4e293 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -119,7 +119,7 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | macOS (JVM) | Yes (x86-64, aarch64) | | | | Linux (native) | No | – | Maybe soon | | Windows (native) | No | – | Maybe soon | -| JS | Experimental | – | Added in SDK v1.14.0. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | +| JS | Experimental | – | Added in SDK v1.14.1. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | | WebAssembly | Experimental | – | Added in SDK v1.14.0. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | | HTTP connection method | Yes | – | | | WebSocket connection method | Yes | – | Note: Only as an automated fallback for clients without backpressure support. | From 0150fcacfa095e8cd2731bba32fdb970f5cdaa04 Mon Sep 17 00:00:00 2001 From: benitav Date: Wed, 29 Jul 2026 16:52:09 +0200 Subject: [PATCH 7/7] Apply suggestion from @benitav --- resources/supported-platforms.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/supported-platforms.mdx b/resources/supported-platforms.mdx index fee4e293..3818c3cb 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -120,7 +120,7 @@ The Node SDK supports all [non-EOL Node.js versions](https://nodejs.org/en/about | Linux (native) | No | – | Maybe soon | | Windows (native) | No | – | Maybe soon | | JS | Experimental | – | Added in SDK v1.14.1. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | -| WebAssembly | Experimental | – | Added in SDK v1.14.0. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | +| WebAssembly | Experimental | – | Added in SDK v1.14.1. Unstable and not ready for production — see [Experimental Web Support](/client-sdks/reference/kotlin#experimental-web-support). | | HTTP connection method | Yes | – | | | WebSocket connection method | Yes | – | Note: Only as an automated fallback for clients without backpressure support. |