Skip to content

Add all sync options to SyncOptions - #379

Draft
simolus3 wants to merge 3 commits into
mainfrom
consistent-sync-options
Draft

simolus3 wants to merge 3 commits into
mainfrom
consistent-sync-options

Conversation

@simolus3

@simolus3 simolus3 commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Today, the SDK is a bit inconsistent in how options are passed to the sync client:

  • Some options (like userAgent, includeDefaultStreams and checkpointMode) are part of the SyncOptions class, passed via the options parameter.
  • Other options (crudThrottleMs, retryDelayMs, params and appMetadata) can only be passed as direct parameters to connect().

This deprecates individual parameters in favor of passing them all on SyncOptions. The motivation is that we might get additional connect() methods in the future, for an upload-only or download-only connection. Having to duplicate all these parameters there is annoying for us and users, this moves them to a single place and reduces the amount of options on StreamingSyncClient.

Additionally, this simplifies BucketStorage to no longer be an interface/implementation pair: The only purpose of that interface was to be able to mock bucket storage implementations, but tests using a real database (and core extension) are more convincing anyway.

@simolus3
simolus3 force-pushed the consistent-sync-options branch from 49de937 to 1afa4db Compare September 23, 2026 12:35

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant