Files
hub-monorepo/protobufs
Cassandra Heart 321658b780 Streaming support for sync and reconciliation (#2273)
## Why is this change needed?

Add support for streaming interfaces for sync and reconciliation.
Shuttle change to immediately follow.

## Merge Checklist

_Choose all relevant options below by adding an `x` now or at any time
before submitting for review_

- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [ ] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR updates dependencies, adds streaming support for
sync/reconciliation, and introduces a new `useStreaming` option in the
Hubble application.

### Detailed summary
- Added `ClientDuplexStream` in `hub-nodejs`
- Updated versions in `core` and `hub-nodejs`
- Added streaming methods in `rpc.proto`
- Introduced `useStreaming` option in `hubble` application

> The following files were skipped due to too many changes:
`packages/hub-web/src/generated/rpc.ts`,
`packages/hub-nodejs/src/generated/rpc.ts`,
`apps/hubble/src/network/sync/syncEnginePerf.test.ts`,
`apps/hubble/src/network/utils/networkConfig.test.ts`,
`apps/hubble/src/network/sync/syncEngine.ts`,
`apps/hubble/src/rpc/server.ts`,
`packages/hub-web/src/generated/request_response.ts`,
`packages/hub-nodejs/src/generated/request_response.ts`,
`packages/core/src/protobufs/generated/request_response.ts`,
`apps/hubble/src/network/sync/multiPeerSyncEngine.test.ts`

>  Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
2024-08-29 18:21:02 -05:00
..

@farcaster/protobufs

Specifications for API's and data formats used in Hubble, including both Farcaster protocol types and Hubble specific types.

Schema Type Description Docs
Message Types for Farcaster deltas docs
OnChainEvent Types for Farcaster onchain events docs
HubEvent Types for hub events docs
RPC Types for gRPC APIs exposed by Hubs docs
Gossip Types for gossiping data between Hubs
HubState Types for for maintaining internal state

Getting Started

Compiling Protobufs

If you make changes to the protobufs, you will need to run yarn protoc in the following directories to compile and generate the JS files

  • packages/core
  • packages/hub-nodejs
  • packages/hub-web

Generate Bindings

Coming soon

Docs

Docs for the protobufs is under ../apps/hubble/www/docs/docs