rsky
rsky copied to clipboard
AT Protocol Sync v1.1
Background
Draft Proposal: Link
Bluesky Thread: https://bsky.app/profile/bnewbold.net/post/3lin3bnojv22h
Done When
- [ ] Implement
com.atproto.sync.listReposByCollectionendpoint - [ ] enable per-commit MST validation over firehose #commit messages
- [x] Support #sync
- [x] robust synchronization error handling over invalid commit messages and discontinuous commits
- [ ] variant of
com.atproto.sync.getRepoAPI endpoint to return a verifiable subset of full repository (eg, a specific collection), including relevant records and MST nodes, as a CAR file - [ ] support resynchronization process
- [ ] Deprecate
com.atproto.sync.getHead - [ ] Deprecate
com.atproto.sync.getCheckout - [ ] Deprecate commit parameter to
com.atproto.sync.getRecord - [ ] Deprecate the blobs array of CIDs in #commit will be deprecated and set to an empty array, though not fully removed (the field is required)
- [x] Deprecate the deprecated #handle, #tombstone and #migrate firehose events will be fully removed
- [ ] Make sure the "optional and nullable" prev CID field on #commit events will be fully removed
related commits and prs:
- https://github.com/bluesky-social/atproto/commit/6e382f67aa73532efadfea80ff96a27b526cb178
- https://github.com/bluesky-social/atproto/pull/3585
I've started a branch of work on this: https://github.com/afbase/rsky/tree/afbase/sync1.1-part-1
I've add the #sync event and removed the #handle, #tombstone and #migrate.
Related PRs in atproto
There are the following PRs I see around this thus far in ATProto
- https://github.com/bluesky-social/atproto/pull/3391
- https://github.com/bluesky-social/atproto/pull/3585
- https://github.com/bluesky-social/atproto/pull/3612