Skip to content

Instantly share code, notes, and snippets.

@nichoth
Forked from Schniz/force-sync-jazz-state.ts
Created November 19, 2024 19:00
Show Gist options
  • Save nichoth/35d3b55c728985ce7bc63920a04a0935 to your computer and use it in GitHub Desktop.
Save nichoth/35d3b55c728985ce7bc63920a04a0935 to your computer and use it in GitHub Desktop.
force sync jazz state
async function forceSync(account: Account) {
const { syncManager } = account._raw.core.node;
const peer = Object.values(syncManager.peers)[0];
if (!peer) {
throw new Error("no peer");
}
const values = Object.values(account._raw.core.node.coValues).flatMap((x) => {
if ("coValue" in x.state) {
return [x.state.coValue];
}
return [];
});
await Promise.all(values.map((value) => syncManager.syncCoValue(value)));
await Promise.all(
values.map((value) => {
return syncManager.waitForUploadIntoPeer(peer.id, value.id);
}),
);
console.log("synced.");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment