Skip to content

1.10.0: Manually control history sync#619

Open
jhaaaa wants to merge 8 commits intomainfrom
send-sync-req
Open

1.10.0: Manually control history sync#619
jhaaaa wants to merge 8 commits intomainfrom
send-sync-req

Conversation

@jhaaaa
Copy link
Collaborator

@jhaaaa jhaaaa commented Jan 27, 2026

Document manual history sync control with sendSyncRequest() in XMTP chat apps

  • Updates history-sync.mdx to clarify that history sync is triggered by an explicit call to sendSyncRequest() rather than automatically on client initialization, and adds a new 'Control history sync' section with subsections for sending requests, listing archives, and processing sync archives.
  • Renames terminology from 'payload' to 'archive' throughout the history sync docs for consistency.
  • Updates sync-and-syncall.mdx to retitle the manual sync section as 'Send a sync request' and clarifies it should be called after creating a client on a new installation.
  • Behavioral Change: docs now instruct that the pre-existing installation must be online to process and reply to sync requests.

Changes since #619 opened

  • Added inline code examples for sending sync requests across Browser, Node, React Native, Kotlin, and Swift to the 'Send a sync request' section in the History sync documentation [9543dfa]
  • Removed inline code examples from the sync and syncAll documentation and added cross-reference to the History sync page [9543dfa]
  • Updated phrasing in the History sync documentation from passive to active voice [9543dfa]
  • Reformatted the beta warning admonition in the History sync documentation [9543dfa]
  • Added Kotlin and Swift code examples to history sync documentation sections for sending sync archives, syncing device groups, listing available archives, and processing sync archives [a321638]
  • Updated documentation language and clarified behavior for history sync archive operations [a321638]
  • Removed beta warning callout, walkthrough video section with embedded YouTube iframe, and React Native placeholder code examples from history sync documentation [a321638]
  • Added documentation for the ArchiveOptions parameter including fields startNs, endNs, archiveElements, and excludeDisappearingMessages with their defaults and descriptions, and updated code examples in both Kotlin and Swift for sync request and sync archive operations to demonstrate both default usage with no arguments and custom usage with specified options [10305bc]
  • Updated client.sendSyncRequest() method invocation in documentation examples to accept options and serverUrl arguments [5707b8e]

Macroscope summarized 8a4757d.

@jhaaaa jhaaaa requested a review from a team as a code owner January 27, 2026 22:26
@vercel
Copy link

vercel bot commented Jan 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-xmtp-org Ready Ready Preview, Comment Mar 4, 2026 9:47pm

Request Review


## Manually control history sync

By default, history sync runs automatically. For more control over the sync flow, use these methods to manually manage archives.
Copy link
Contributor

@codabrink codabrink Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a warning that this behavior is going to end in a future release. v1.11 maybe? We're turning the auto-request on init off because it's a black box, and we don't want to cause unnecessary network charges for whoever is using it. (The responding payload may be giant)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update: We ripped the bandaid off and this is going out in 1.10 :)
We will no longer be issuing auto-sync-requests when 1.10 is out.

```tsx [React Native]
// Coming soon
```

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One more function to placehold: sync_device_sync_groups and to note that sync_preferences is getting deprecated in favor of this.


### List available archives

Get a list of archives available for download from other installations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should mention that this method does not sync from the network, and if you believe you are out-of-date, you should sync the sync groups with sync_all_device_sync_groups before.

@jhaaaa jhaaaa changed the title Manually control history sync 1.10.0: Manually control history sync Jan 30, 2026
# Enable history sync for apps built with XMTP

:::warning[This feature is in beta]
:::warning[This feature is in beta]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codabrink do you think it is OK to remove this warning?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah

@macroscopeapp
Copy link

macroscopeapp bot commented Mar 4, 2026

Approvability

Verdict: Approved

This PR contains only documentation updates to two .mdx files that you own. The changes update terminology, add API examples, and remove outdated content. No runtime code is affected.

You can customize Macroscope's approvability policy. Learn more.

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.

2 participants