Skip to content

Drive sync client from Swift#128

Draft
simolus3 wants to merge 2 commits intoswiftify-crud-transactionsfrom
swift-sync-client
Draft

Drive sync client from Swift#128
simolus3 wants to merge 2 commits intoswiftify-crud-transactionsfrom
swift-sync-client

Conversation

@simolus3
Copy link
Copy Markdown
Contributor

@simolus3 simolus3 commented Apr 16, 2026

Blocked on #127 (and additional PRs preparing this).

This replaces the Kotlin+Rust sync client with a Swift+Rust sync client. We want to remove the Kotlin dependency eventually, and this is a big step towards that (the only thing left afterwards is to implement connection pools in Swift afterwards). By using the Rust client, we can implement sync over the Kotlin SDK by running powersync_control invocations. The Kotlin SDK is only used as a connection pool at this point.

TODOs:

  • Test CRUD uploads.
  • Restore support for Sync Streams
  • Restore support for raw tables.
  • Restore support for network loggers.
  • Use correct user agent.
  • Support old platform versions again (so we'd have to polyfill Synchronization).
  • Resolve offline sync status.
  • Add mutex groups to ensure two databases with the same name can't sync concurrently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant