From 47d149ec91a7c6845ea7604659d970a3206491f1 Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Tue, 10 Feb 2026 16:14:03 +0200 Subject: [PATCH 1/4] Add Swift example to Sync Streams page --- sync/streams/overview.mdx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 5473950e..35027941 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -46,7 +46,7 @@ Sync Streams will be supported alongside Sync Rules for the foreseeable future, * Dart: v1.16.0 * Kotlin: v1.7.0 * .NET: v0.0.8-alpha.1 - * Swift: [In progress](https://github.com/powersync-ja/powersync-swift/pull/86). + * Swift: v1.11.0 * Use of the [Rust-based sync client](https://releases.powersync.com/announcements/improved-sync-performance-in-our-client-sdks). The Rust-based sync client is enabled by default on the latest version of all SDKs. If you are on a lower version, follow the instructions below to enable it. @@ -417,8 +417,20 @@ Select your language for specific examples: ``` - - Coming soon + + ```swift + let sub = try await db.syncStream(name: "issues", params: ["id": JsonValue.string("issue-id")]).subscribe(ttl: .hours(1)) + + // Resolve current status for subscription + let status = db.currentStatus.forStream(sub) + let progress = status?.progress + + // Wait for this subscription to have synced + try await sub.waitForFirstSync() + + // When the component needing the subscription is no longer active... + try await sub.unsubscribe() + ``` From abf2d313c337902ccd26801f5614e527530e9add Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Tue, 10 Feb 2026 16:17:32 +0200 Subject: [PATCH 2/4] Document tvOS support --- 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 b4729599..99732e28 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -93,7 +93,7 @@ description: "Supported platforms and major features by PowerSync Client SDK" | iOS | Yes | | | watchOS | Yes | watchOS 26 not supported yet | | iPadOS | Yes | | -| tvOS | No | Planned | +| tvOS | Yes | Add in v1.11.0 | | macOS Catalyst | No | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) | | visionOS | No | KT-59571 Add support for visionOS SDK | | Non-apple targets (Linux, Windows) | No | No good way to link PowerSync | From d65d2126bca2765111c9ade5331657966e8fc48c Mon Sep 17 00:00:00 2001 From: Benita Volkmann Date: Tue, 10 Feb 2026 16:19:19 +0200 Subject: [PATCH 3/4] Typo --- 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 99732e28..f113a2f2 100644 --- a/resources/supported-platforms.mdx +++ b/resources/supported-platforms.mdx @@ -93,7 +93,7 @@ description: "Supported platforms and major features by PowerSync Client SDK" | iOS | Yes | | | watchOS | Yes | watchOS 26 not supported yet | | iPadOS | Yes | | -| tvOS | Yes | Add in v1.11.0 | +| tvOS | Yes | Added in v1.11.0 | | macOS Catalyst | No | KT-40442 Support building Kotlin/Native for Mac Catalyst (x86-64 and arm64) | | visionOS | No | KT-59571 Add support for visionOS SDK | | Non-apple targets (Linux, Windows) | No | No good way to link PowerSync | From af45b978aa73fc18f325006bdf800959527cc2ae Mon Sep 17 00:00:00 2001 From: benitav Date: Tue, 10 Feb 2026 16:45:55 +0200 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: Simon Binder --- sync/streams/overview.mdx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sync/streams/overview.mdx b/sync/streams/overview.mdx index 35027941..b0076b8a 100644 --- a/sync/streams/overview.mdx +++ b/sync/streams/overview.mdx @@ -419,10 +419,13 @@ Select your language for specific examples: ```swift - let sub = try await db.syncStream(name: "issues", params: ["id": JsonValue.string("issue-id")]).subscribe(ttl: .hours(1)) + let sub = try await db.syncStream(name: "issues", params: ["id": JsonValue.string("issue-id")]).subscribe( + ttl: 60 * 60, // 1 hour + priority: nil + ); // Resolve current status for subscription - let status = db.currentStatus.forStream(sub) + let status = db.currentStatus.forStream(stream: sub) let progress = status?.progress // Wait for this subscription to have synced