Skip to main content

SyncClientImplementation

Enumeration Members

Enumeration MemberValueDescription
JAVASCRIPT"js"Decodes and handles sync lines received from the sync service in JavaScript. This is the default option. Deprecated We recommend the RUST client implementation for all apps. If you have issues with the Rust client, please file an issue or reach out to us. The JavaScript client will be removed in a future version of the PowerSync SDK.
RUST"rust"This implementation offloads the sync line decoding and handling into the PowerSync core extension. This option is more performant than the JAVASCRIPT client, enabled by default and the recommended client implementation for all apps. ## Compatibility warning The Rust sync client stores sync data in a format that is slightly different than the one used by the old JAVASCRIPT implementation. When adopting the RUST client on existing databases, the PowerSync SDK will migrate the format automatically. Further, the JAVASCRIPT client in recent versions of the PowerSync JS SDK (starting from the version introducing RUST as an option) also supports the new format, so you can switch back to JAVASCRIPT later. However: Upgrading the SDK version, then adopting RUST as a sync client and later downgrading the SDK to an older version (necessarily using the JavaScript-based implementation then) can lead to sync issues.