Commit bf2f857
authored
feat(pds): emit sync 1.1 firehose events (#171)
Brings the firehose payload up to the current spec so the bsky.network
relay's strict-validation warnings (notably "missing prevData field")
stop firing against Cirrus hosts, and so account/sync state actually
propagates without polling.
- #commit gets prevData + ops[].prev, tooBig pinned to false, and the
CAR slice now carries the MST covering proof (newBlocks +
relevantBlocks) needed for inductive verification.
- Writes go through repo.formatCommit + repo.applyCommit instead of
applyWrites so the CommitData is available; drops the SQL-by-rev
block reconstruction.
- New #sync and #account events; activate/deactivate now emit them
(plus #identity on activate).
- #identity.handle is optional; rpcEmitIdentityEvent routes through
the sequencer instead of writing empty payloads.
- #info OutdatedCursor sent when a cursor predates the retention
window; the stream continues from the earliest available event.
- applyWrites caps at 200 ops per spec.1 parent 9dce7fe commit bf2f857
4 files changed
Lines changed: 833 additions & 183 deletions
File tree
- .changeset
- packages/pds
- src
- test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments