mirror of
https://github.com/farcasterxyz/hub-monorepo.git
synced 2026-01-14 15:47:57 -05:00
@farcaster/shuttle@0.5.12
1575 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4fdfb0462e |
chore: Release 1.14.4 (#2266)
## Why is this change needed? Release 1.14.4 that supports the storage extension FIP: https://github.com/farcasterxyz/protocol/discussions/191 ## 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 multiple packages to implement a new Storage Extension FIP and upgrade dependencies, focusing on version changes and dependency updates. ### Detailed summary - Implemented Storage Extension FIP in multiple packages - Updated dependencies across different packages - Version upgrades to 0.15.0 in core packages and 0.12.0 in hub packages > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.14.4 @farcaster/hub-nodejs@0.12.0 @farcaster/shuttle@0.5.12 @farcaster/hub-web@0.9.0 @farcaster/core@0.15.0 |
||
|
|
dd634c7913 |
feat: Implement storage extension FIP (#2256)
## Why is this change needed? Implements https://github.com/farcasterxyz/protocol/discussions/191 ## 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 The focus of this PR is to implement the Storage Extension FIP. ### Detailed summary - Added `StorageUnitDetails` message in `request_response.proto` - Updated storage-related functions in various Rust files - Modified default limits in different store types - Introduced new date calculations in `factories.ts` > The following files were skipped due to too many changes: `apps/hubble/src/storage/stores/storeEventHandler.test.ts`, `packages/core/src/limits.ts`, `apps/hubble/src/storage/stores/storageCache.test.ts`, `apps/hubble/src/storage/stores/storeEventHandler.ts`, `apps/hubble/src/rpc/test/server.test.ts`, `packages/core/src/limits.test.ts`, `apps/hubble/src/storage/engine/index.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/storage/stores/storageCache.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
3fbfb6e4bd |
chore: revert "chore: revert "fix: Upgrade grpc-js to 1.11 (#2214)" (#2263)" (#2265)
## Why is this change needed? The grpc-js downgrade did not have a measurable impact ## 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 and refactors stream handling in the `bufferedStreamWriter` and `server` files. ### Detailed summary - Updated `@grpc/grpc-js` dependency to version `~1.11.1` - Refactored stream handling in `bufferedStreamWriter.ts` - Added `destroyStream` function in `server.ts` for handling stream errors > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
dac281ac03 |
chore: revert "fix: Upgrade grpc-js to 1.11 (#2214)" (#2263)
## Why is this change needed?
This reverts commit
|
||
|
|
0cb68f4758 |
Revert "fix: adjust grpc keepalive time to 5s (#2250)" (#2262)
This reverts commit
|
||
|
|
ed11bf8c8d |
chore: Revert timeout change (#2261)
## Why is this change needed? We think this might be responsible for some instability we're seeing on our hubs. Revert it to confirm. - **Revert "chore: switch timeout to 25s (#2259)"** - **Revert "chore: tweak client-side config to set baseline timeout (#2257)"** ## Merge Checklist - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [ ] 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 The focus of this PR is to streamline the gRPC client configuration by removing redundant keepalive settings. ### Detailed summary - Removed redundant `grpc.keepalive_time_ms` and `grpc.keepalive_timeout_ms` settings in multiple files. - Simplified `getHubRpcClient` calls by removing unnecessary options. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
9d4f82461f |
chore: switch timeout to 25s (#2259)
## Why is this change needed? In the timeout saga, getting the timeout _above_ the NLB because it disregards everything you tell it seems to be the key. ## 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 The focus of this PR is to tweak the timeout settings in the `hub-nodejs` and `hubble` packages to 25 seconds for better performance. ### Detailed summary - Updated `grpc.keepalive_timeout_ms` to 25 seconds in `hub-nodejs/src/client.ts` - Updated `grpc.keepalive_timeout_ms` to 25 seconds in `hubble/src/hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
73b3c4c388 |
fix: Update Node version used in intermediate build step (#2258)
## Why is this change needed? This was supposed to be Node 22. ## Merge Checklist - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [ ] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] 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 the Node.js version in the Dockerfile from 21.6 to 22.4.1 for the `prune` stage. ### Detailed summary - Updated Node.js version in Dockerfile.hubble from 21.6 to 22.4.1 for the `prune` stage. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
95ff27c999 |
chore: tweak client-side config to set baseline timeout (#2257)
## Why is this change needed? Adjacent to #2250, this adjusts the client-side timeouts for parity – intermediary termination routes such as NLBs may impose their own timeout that is causing weird misbehaviors. ## 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 tweaks the client-side configuration in `hubble.ts` to set baseline timeout values for gRPC connections. ### Detailed summary - Updated client-side configuration to include `grpc.keepalive_time_ms` and `grpc.keepalive_timeout_ms` - Set both values to 5000ms for gRPC connections - Applied the changes in two different locations within the `getHubRpcClient` function > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
97c6814237 |
fix: Add env var to specify hubble node arguments (#2252)
## Why is this change needed? Allow specifying hubble specific node options. Global NODE_OPTIONS doesn't work for cases like --inspect because pm2 is also using node ## 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 focuses on adding an environment variable to specify Hubble node arguments. ### Detailed summary - Added `HUBBLE_NODE_ARGS` environment variable in `pm2.config.cjs` - Updated `start` script in `package.json` to include `$HUBBLE_NODE_ARGS` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
29886461b4 |
fix: Reduce reconciliation default pagination size (#2251)
## Why is this change needed? Reduce default pagination size to prevent hub from spending too much time serializing messages ## 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 version numbers and configurations for the `@farcaster/hub-nodejs` and `@farcaster/shuttle` packages. It also adjusts the `MAX_PAGE_SIZE` constant in `messageReconciliation.ts`. ### Detailed summary - Updated `MAX_PAGE_SIZE` constant in `messageReconciliation.ts` from 3000 to 500 - Updated `@farcaster/hub-nodejs` version to `0.11.24` - Updated `@farcaster/shuttle` version to `0.5.11` - Updated dependencies in `shuttle/package.json` and `hub-nodejs/package.json` - Added changelog entries for versions `0.11.24` and `0.5.11` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-nodejs@0.11.24 @farcaster/shuttle@0.5.11 |
||
|
|
47fbd34e5c |
fix: adjust grpc keepalive time to 5s (#2250)
## Why is this change needed? gRPC keepalive heartbeat time was set to 10s, with a client-side response time of 5s. This allows servers that are unresponsive to go unrecognized for longer, causing sync time to dramatically increase with respect to hub volume. Lowering this value should be safe for a patch, but lowering the client response time will require a minor revision due to incompatibility with client-side expectations ## 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 focuses on adjusting the gRPC keepalive time to 5 seconds in `@farcaster/hub-nodejs` package to improve failover speed. ### Detailed summary - Adjusted gRPC keepalive time to 5 seconds in `client.ts` to encourage faster failover from uncooperative peers. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
366ffff09f |
chore: Release 1.14.3 (#2249)
## Why is this change needed? Release 1.14.3 ## 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 the version of `@farcaster/hubble` to `1.14.3` and includes enhancements and fixes related to snapshot sync and sync health monitoring. ### Detailed summary - Updated version to `1.14.3` - Added retry and parallelization for snapshot sync - Improved missing messages submission and output logs - Introduced sync health measurement job - Enhanced querying for impacted sync ids > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.14.3 |
||
|
|
8734181771 |
fix: don't include timestamp in log tags (#2246)
## Why is this change needed? Datadog seems to be dropping the success logs. They show up in aws logs. I strongly suspect this is because of the toplevel timestamp field. I think either Datadog is using that to infer the actual time of the log and dropping it because it's too far back in time or it's not able to handle the message because there are 2 timestamp related fields. ## 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 - [ ] 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) - [x] 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 focuses on updating the logging structure in `syncHealthJob.ts` to include `msgDetails` object for better message submission tracking. ### Detailed summary - Updated logging to include `msgDetails` object for message submission tracking. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
65268aefe3 |
fix: rename log tag from message to errMessage (#2245)
## Why is this change needed? Datadog swallows the "message" tag so rename to "errMessage". ## 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 - [ ] 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) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to update log message properties in `syncHealthJob.ts` and `hubble.ts` for better clarity. ### Detailed summary - Updated log property `message` to `errMessage` in `syncHealthJob.ts` - Added `errMessage` property to log message in `hubble.ts` - Renamed `errCode` property to `errMessage` in log message in `hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
9e80922b9e |
feat: add more logging for sync health job (#2244)
## Why is this change needed? (1) It's useful to see the peer id in all error messages to help debug errors. (2) It's difficult to work with log fields that are lists in datadog. It's easier to aggregate over success and error data if they're in separate log lines rather than inside a nested field. ## 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 - [ ] 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) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to enhance logging and error handling in the `hubble` application's sync functionality. ### Detailed summary - Added `message` field to `logMessage.warn` for better error logging. - Improved error handling in `getAllSyncIdsByPrefix`. - Enhanced logging in `processSubmitResults` and `doJobs` functions. - Updated `resultsPushingToUs` in `MeasureSyncHealthJobScheduler`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
6833e16101 |
feat: add more counts to sync health job logs (#2242)
## Why is this change needed? It's useful to have the counts so we can plot over them and get high-level signal on how many errors and successes there are. ## 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 - [ ] 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) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to refactor the `processSubmitResults` method in `syncHealthJob.ts` to improve error handling and provide a more detailed summary of sync health job results. ### Detailed summary - Changed `errorReasons` from a Set to an array for better error tracking - Added counting of errors and successes - Removed duplicate error messages by using a Set - Improved structure and readability of the return object > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
d9e2ed1ca8 |
Fix: Add logging when connecting to a gossip address fails (#2241)
## Why is this change needed? We don't know why the connection attempt failed ## 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 - [ ] 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 adds an error log message when connecting to an address fails in the `gossipNode.ts` file. ### Detailed summary - Added an error log message when connection to an address fails in the `gossipNode.ts` file. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
9e0c932309 |
fix: fix sync id retrieval for sync health job (#2240)
## Why is this change needed? The `getAllSyncIdsByPrefix` rpc returns a max of 1024 sync ids and we weren't accounting for the fact that the list returned by the rpc might be truncated. As a result, we weren't looking at all relevant sync ids when trying to submit missing messages. I lumped some cleanups/improvements to the sync health command in too and an update to the vscode config for formatting rust code. ## 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) - [x] 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 focuses on enhancing sync health tracking in the `hubble` app. ### Detailed summary - Added `MAX_VALUES_RETURNED_PER_SYNC_ID_REQUEST` constant - Updated `trie_node.rs` and `server.ts` with new constant value - Modified sync health computations and message stats - Introduced `sync-health` source for data submission - Improved peer selection logic for sync health - Enhanced handling of sync IDs with a large number of entries > The following files were skipped due to too many changes: `apps/hubble/src/utils/syncHealth.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
b2272f763f |
submit missing messages via the sync health job and output richer logs (#2238)
## Why is this change needed? 1. The sync score masks some differences between which sync ids are on each node. 2. It's hard to investigate sync health with the information we have right now. Actually querying for and submitting missing messages will reveal differences in the actual messages on the nodes and logging the results will give us information about why nodes are out of sync. I also lumped in a small change to fix vscode config for rust analyzer. ## 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) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to enhance the sync health job in the `hubble` application by adding features like comparing peers and submitting messages. ### Detailed summary - Added options for peers, username, and password in the sync health job CLI - Refactored metadata retrievers to support hub interactions - Implemented message submission and processing in the sync health job - Enhanced sync health computation and message stats gathering > The following files were skipped due to too many changes: `apps/hubble/src/utils/syncHealth.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
63dd7c972d |
feat: make snapshot sync retry and parallelize (#2236)
## Why is this change needed? Snapshot sync has become a very painful part of running a hub, to the point where it may take several attempts to start the node to get the snapshot to successfully download, on top of taking a long time to download all the chunks of the snapshot. This PR adds durability and parallelizes the download process (up to four simultaneous fetches, which appears to be the point where exceeding will become more unstable on fetch success). Snapshot sync now takes roughly 25-30 minutes to download. ## 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 introduces retry and parallelization for snapshot synchronization in the `@farcaster/hubble` package. ### Detailed summary - Added retry mechanism for decompressing snapshot chunks - Implemented parallel downloading of snapshot chunks - Improved error handling during snapshot synchronization > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
cb5ee7ac94 |
feat: add a job to measure sync health periodically (#2223)
## Why is this change needed? There have been reports of missing messages from several users. We'd like to proactively detect when hubs are missing messages and identify why. For reviewers: - The diff in `syncHealth.ts` is a bit noisy because I removed a level of indentation in `printSyncHealth` - I did not test the job, I just tested the `computeSyncHealthMessageStats` function which does the somewhat complicated querying. - I did not incorporate into datadog, I just added logging. I thought it made sense to make sure that the pipeline works via logging as a first step and integrate into datadog as a follow up. - I did not write the code to select hubs in a smart way or to snap to the 10min interval that we want. Also thought this could be a follow-up. ## 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) - [x] 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 adds a sync health measurement job to the `@farcaster/hubble` package. ### Detailed summary - Added a sync health measurement job to the `@farcaster/hubble` package - Updated functions related to sync health computation and metadata retrieval - Implemented a scheduler for measuring sync health at intervals > The following files were skipped due to too many changes: `apps/hubble/src/utils/syncHealth.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
45e16ced9c |
chore: Release 1.14.2 (#2235)
## Why is this change needed? Release 1.14.2 ## 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 and versions across different packages. ### Detailed summary - Updated `@farcaster/core` version to `0.14.20` - Updated `@farcaster/hub-nodejs` version to `0.11.23` - Upgraded `libp2p/gossipsub` and dependencies - Chore: upgraded `viem` to v2 > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.14.2 @farcaster/hub-nodejs@0.11.23 @farcaster/core@0.14.20 |
||
|
|
c5e4457735 |
fix(shuttle): Correct example app to use await (#2234)
## Why is this change needed? This is leading to confusion. If you don't `await`, you can overwhelm the event loop. ## Merge Checklist - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [ ] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] 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 ensures the `processHubEvent` method is awaited when called in the stream consumer, preventing it from being executed void. ### Detailed summary - Changed `this.processHubEvent(event);` to `await this.processHubEvent(event);` in the stream consumer to ensure proper execution. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fa5f13be35 |
chore(shuttle): Release 0.5.10 (#2233)
## Why is this change needed? Includes a hotfix. ## Merge Checklist - [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 the version of `@farcaster/shuttle` from 0.5.9 to 0.5.10. It includes a bug fix for a missing `await` in a `sleep()` call and updates dependencies. ### Detailed summary - Updated `@farcaster/shuttle` version to 0.5.10 - Bug fix: Added missing `await` to `sleep()` call - Updated dependencies for `@farcaster/hub-nodejs` to version 0.11.23 > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.5.10 |
||
|
|
165a0aac74 |
fix(shuttle): Add missing await to per-iteration sleep() call (#2232)
## Why is this change needed? The fix for high CPU usage due to busy-waiting (release v0.5.9) wasn't effective because `sleep()` returns a Promise which wasn't being `await`ed, so the containing `while` loop was still iterating unchecked thousands of times per second. This should fix for good. ## 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 focuses on fixing a bug in the `shuttle` package where an `await` was missing in the `sleep()` call, potentially causing CPU thrashing. ### Detailed summary - Added missing `await` to `sleep()` call in `eventStream.ts` to prevent CPU thrashing. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fb2645ee22 |
fix: Include peerid in bootstrap multiaddr (#2231)
## Why is this change needed? Newer version of libp2p requires the peer id in the bootstrap multiaddr. Without it, the connection is denied. We suspect the existing hubs are working because the peer id has been cached in the peer store. New hubs do not successfully startup and peer. ## 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 the `bootstrapPeers.mainnet.ts` file to include the `peerid` in the bootstrap multiaddr for `MAINNET_BOOTSTRAP_PEERS`. ### Detailed summary - Added `peerid` to `MAINNET_BOOTSTRAP_PEERS` multiaddrs for `hoyt.farcaster.xyz`, `lamia.farcaster.xyz`, and `bootstrap.neynar.com`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
5a03c774a1 |
chore(deps): bump openssl from 0.10.60 to 0.10.66 in /packages/hub-web/examples/rust-submitmessage (#2202)
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.60 to 0.10.66. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sfackler/rust-openssl/releases">openssl's releases</a>.</em></p> <blockquote> <h2>openssl-v0.10.66</h2> <h2>What's Changed</h2> <ul> <li>Fixed invariant violation in <code>MemBio::get_buf</code> with empty results by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2266">sfackler/rust-openssl#2266</a></li> <li>Release openssl v0.10.66 by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2267">sfackler/rust-openssl#2267</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66</a></p> <h2>openssl-v0.10.65</h2> <h2>What's Changed</h2> <ul> <li>don't emit rerun-if-changed when vendoring by <a href="https://github.com/reaperhulk"><code>@reaperhulk</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2177">sfackler/rust-openssl#2177</a></li> <li>Prepare for openssl-sys 0.9.101 release by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2182">sfackler/rust-openssl#2182</a></li> <li>don't emit rerun-if-changed unless the path exists and is readable by <a href="https://github.com/reaperhulk"><code>@reaperhulk</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2187">sfackler/rust-openssl#2187</a></li> <li>Added support for LibreSSL 3.9.0 by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2202">sfackler/rust-openssl#2202</a></li> <li>Support stable LibreSSL 3.9.x by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2209">sfackler/rust-openssl#2209</a></li> <li>openssl-sys 0.9.102 release by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2210">sfackler/rust-openssl#2210</a></li> <li>Add repository field to openssl-macros crate by <a href="https://github.com/paolobarbolini"><code>@paolobarbolini</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li> <li>Add missing openssl-sys dependency by <a href="https://github.com/pieterdd"><code>@pieterdd</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li> <li>Test OpenSSL 3.3.0-beta1 by <a href="https://github.com/sfackler"><code>@sfackler</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2216">sfackler/rust-openssl#2216</a></li> <li>test against 3.3.0 final by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2218">sfackler/rust-openssl#2218</a></li> <li>fix min-versions in CI by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2228">sfackler/rust-openssl#2228</a></li> <li>Make X509_VAL opaque for LibreSSL 4.0.0 by <a href="https://github.com/botovq"><code>@botovq</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2227">sfackler/rust-openssl#2227</a></li> <li>Use the newer names for STACK_OF(T) functions with BoringSSL by <a href="https://github.com/davidben"><code>@davidben</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2231">sfackler/rust-openssl#2231</a></li> <li>Only declare OpensslCallbacks in bindgen builds by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2234">sfackler/rust-openssl#2234</a></li> <li>Fix building with latest BoringSSL by <a href="https://github.com/davidben"><code>@davidben</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2230">sfackler/rust-openssl#2230</a></li> <li>Emit rustc-check-cfg for nightly by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2235">sfackler/rust-openssl#2235</a></li> <li>Configure OpenSSL data dir on vendored builds. by <a href="https://github.com/DanielSidhion"><code>@DanielSidhion</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li> <li>Add boringssl keylog callback support by <a href="https://github.com/mspublic"><code>@mspublic</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li> <li>Correct the name of the <code>pkgconf</code> package on some distros by <a href="https://github.com/JonathanBrouwer"><code>@JonathanBrouwer</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li> <li>Add some OpenSSL 3 QUIC raw bindings by <a href="https://github.com/bdbai"><code>@bdbai</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li> <li>Initialize OpenSSL in MD constructors by <a href="https://github.com/sfackler"><code>@sfackler</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2258">sfackler/rust-openssl#2258</a></li> <li>Switch Pkey::from_ to use set1 functions by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2262">sfackler/rust-openssl#2262</a></li> <li>Release openssl v0.10.65 and openssl-sys v0.9.103 by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2265">sfackler/rust-openssl#2265</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/paolobarbolini"><code>@paolobarbolini</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li> <li><a href="https://github.com/pieterdd"><code>@pieterdd</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li> <li><a href="https://github.com/DanielSidhion"><code>@DanielSidhion</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li> <li><a href="https://github.com/mspublic"><code>@mspublic</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li> <li><a href="https://github.com/JonathanBrouwer"><code>@JonathanBrouwer</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li> <li><a href="https://github.com/bdbai"><code>@bdbai</code></a> made their first contribution in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65</a></p> <h2>openssl-v0.10.64</h2> <h2>What's Changed</h2> <ul> <li>Make _STACK opaque for LibreSSL >= 3.9.0 by <a href="https://github.com/botovq"><code>@botovq</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2153">sfackler/rust-openssl#2153</a></li> <li>enable x509 verify and groups list for boringssl by <a href="https://github.com/zh-jq"><code>@zh-jq</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2155">sfackler/rust-openssl#2155</a></li> <li>Cleanup some not-required Path::new invocations by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2158">sfackler/rust-openssl#2158</a></li> <li>fixed a clippy (nightly) warning by <a href="https://github.com/alex"><code>@alex</code></a> in <a href="https://redirect.github.com/sfackler/rust-openssl/pull/2161">sfackler/rust-openssl#2161</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
04b19fc387 |
chore(shuttle): Release 0.5.9 (#2230)
## Why is this change needed? Includes a fix for a recently introduced CPU throttling regression. ## Merge Checklist - [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 the version of `@farcaster/shuttle` from 0.5.8 to 0.5.9. It includes a fix for CPU throttling regression and updates dependencies. ### Detailed summary - Updated `@farcaster/shuttle` version to 0.5.9 - Fixed CPU throttling regression introduced in 0.5.6 - Updated dependencies including `@farcaster/hub-nodejs@0.11.23` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.5.9 |
||
|
|
501ceff29b |
Always assign on-chain events to shard 0 for linear ordering (#2229)
## Why is this change needed? Sharding works when the ordering of events in different shards are independent of each other. In the case of onchain events and username proofs, however, these events can affect multiple FIDs at a time (e.g. transfers) which means depending on which shard they are assigned to, they might get processed out of order. Fix this by always using the same shard (shard 0) for onchain events + username proofs. This isn't perfect since it means shard 0 is a SPOF, but that's better than a potential race condition in the processing of events, and the volume of onchain events is much lower than regular hub events. ## Merge Checklist - [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 focuses on ensuring onchain and username proofs are always assigned to the same shard for linear ordering. ### Detailed summary - Updated logic to assign onchain and username proofs to the same shard for linear ordering - Added a function to check if an event is ordered - Adjusted tests to reflect the new shard assignment logic > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
5d5b3273e2 |
fix(shuttle): Don't throttle CPU when there are no events to process (#2228)
## Why is this change needed? We accidentally introduced a change in 0.5.6 which lead to higher CPU usage since we're no longer sleeping. ## Merge Checklist - [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) - [ ] 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 The focus of this PR is to fix a CPU throttling regression introduced in version 0.5.6 of `@farcaster/shuttle`. ### Detailed summary - Added logic to prevent CPU thrashing when no events are present in `eventStream.ts`. - Introduced a sleep function to pause processing when no events are available. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
61959467c5 |
chore: upgrade libp2p all the way (#2224)
## Why is this change needed? Upgrades libp2p all the way to the latest version ([Release Notes](https://github.com/libp2p/js-libp2p/releases/tag/libp2p-v1.8.2) | [Migration Guide](https://github.com/libp2p/js-libp2p/blob/main/doc/migrations/v0.46-v1.0.0.md)) Upgrades GossipSub along with it. No major interface changes were required here, just different dependency references as the libp2p project moved some things around. ## 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 upgrades `libp2p/gossipsub` and dependencies, aligns imports with `@libp2p/interface`, and adjusts types in various files. ### Detailed summary - Upgraded `libp2p/gossipsub` and dependencies - Aligned imports with `@libp2p/interface` - Adjusted types in multiple files for compatibility > The following files were skipped due to too many changes: `apps/hubble/src/hubble.ts`, `apps/hubble/src/network/p2p/gossipNodeWorker.ts`, `yarn.lock` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
939dde846a |
chore: upgrade viem to v2 (#2181)
## Why is this change needed? * Upgrades [`viem`](https://viem.sh/) from v1 to [v2](https://viem.sh/docs/migration-guide#2xx-breaking-changes). More context in [this cast](https://warpcast.com/v/0xffa5abfb). * [Maximizes tree-shaking](https://viem.sh/docs/clients/custom#tree-shaking) by importing action functions. * Adds type parameters to helper wrapper classes to ensure inputs align with `viem`'s deeply-nested conditional types. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [ ] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [ ] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] 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 upgrades `viem` to version 2 across multiple packages. It also introduces new actions like `getChainId` and `watchBlockNumber`. ### Detailed summary - Upgraded `viem` to version 2 in various packages - Added new actions like `getChainId` and `watchBlockNumber` - Updated usage of `viem` functions in different files > The following files were skipped due to too many changes: `packages/hub-nodejs/examples/hello-world/index.ts`, `apps/hubble/src/eth/l2EventsProvider.test.ts`, `packages/hub-nodejs/examples/contract-signatures/index.ts`, `apps/hubble/src/eth/l2EventsProvider.ts`, `yarn.lock`, `packages/hub-nodejs/examples/contract-signatures/yarn.lock`, `packages/hub-nodejs/examples/hello-world/yarn.lock` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Cassandra Heart <7929478+CassOnMars@users.noreply.github.com> |
||
|
|
047d79df39 |
chore: Release 1.14.1 (#2219)
## Why is this change needed? Release 1.14.1 ## 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 the version of `@farcaster/hubble` to `1.14.1` with patch changes including upgrading `grpc-js` and `libp2p`. ### Detailed summary - Bumped `grpc-js` to version 1.11 - Updated `libp2p` to 0.45.0 - Added message merge timing at store level - Reverted storage cache migration to rust > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.14.1 |
||
|
|
a9dd162185 |
Revert "[fix] Fix race condition with earliest ts hash calculation (#… (#2218)
…2204)"
This is causing huge merge latency spikes around pruning. Reverting
while we work on the fix.
This reverts commit
|
||
|
|
7bee8436b9 |
perf: Add message merge timing at the store level (#2215)
## Why is this change needed? Add store level message merge timing metrics ## 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 focuses on improving performance by adding message merge timing at the store level. ### Detailed summary - Added message merge timing at the store level for performance tracking - Imported `statsd` for timing storage merge messages - Calculated duration of message merge operation - Updated storage engine to include timing data for each store > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
f5960584bf |
Release shuttle 0.5.8 (#2216)
## Why is this change needed? Release shuttle 0.5.8 with validate message changes ## 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 versions in `hub-nodejs` and `shuttle` packages. Focus is on upgrading `grpc-js` in `hub-nodejs` to 1.11 and bumping versions for both packages. ### Detailed summary - Updated `hub-nodejs` version to 0.11.22 with `grpc-js` upgrade - Updated `shuttle` version to 0.5.8 - Removed message validation in `shuttle` - Updated dependencies in `shuttle` - Updated `hub-nodejs` dependency version in `shuttle` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-nodejs@0.11.22 @farcaster/shuttle@0.5.8 |
||
|
|
095cca9796 |
chore: bump libp2p to v0.45.0 (#2209)
## Why is this change needed? Upgrades libp2p one minor version up ([Release Notes](https://github.com/libp2p/js-libp2p/releases/tag/v0.45.0) | [Migration Guide](https://github.com/libp2p/js-libp2p/blob/main/doc/migrations/v0.44-v0.45.md)) By extension, upgrades GossipSub two major versions up due to libp2p interface compatibility breakage (does not break protocol compatibility). ### Breaking Changes in Events + Emitters libp2p altered the events to be more precisely aligned for types to event names, and so our use of `peer:connect` and `peer:disconnect` becomes `connection:open` and `connection:close`. Additionally the peer store's address book methods have been coalesced into its parent type with more fluent interfaces. These too have been upgraded. ## 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) - [x] 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, refactors error handling in peer loading, adds test cases for multiaddr formats, and enhances GossipNode event handling. ### Detailed summary - Updated `@libp2p/interface-mocks` to `^12.0.0` - Refactored error handling in `store.ts` - Added test cases for multiaddr formats in `gossipNode.test.ts` - Enhanced event handling in `gossipNode.ts` and `gossipNodeWorker.ts` > The following files were skipped due to too many changes: `apps/hubble/src/network/p2p/gossipNodeWorker.ts`, `yarn.lock`, `node_modules/@libp2p/peer-store/yarn.lock`, `node_modules/@libp2p/peer-store/dist/index.min.js` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2fa29ad4cb |
fix: Upgrade grpc-js to 1.11 (#2214)
## Why is this change needed? Latest version grpc-js has some fixes that might help with the RST_STREAM issues in hubs. ## 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 upgrades `grpc-js` to version 1.11, fixes stream handling in `bufferedStreamWriter.ts`, and adds a `destroyStream` function in `server.ts`. ### Detailed summary - Upgraded `grpc-js` to version 1.11 - Improved stream handling in `bufferedStreamWriter.ts` - Added `destroyStream` function in `server.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
4f40c19b06 |
fix: Do not validate messages in shuttle by default (#2213)
## Why is this change needed? This should significantly improve performance. This was originally intended as additional protection when listening to untrusted hubs. But given most users are listening to their own or trusted hub providers, no need to enable this by default. ## 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 disables message validation by default in `shuttle`. ### Detailed summary - Shuttle now does not validate messages by default - Added environment variable to enable message validation - Updated message processing logic in `hubEventProcessor.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
f1d80deb01 |
chore: Release 1.14 (#2208)
## Why is this change needed? Release 1.14 ## 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 the version of `@farcaster/hubble` to `1.14.0`, introduces minor and patch changes, and updates the `FARCASTER_VERSION` constant in `hubble.ts`. ### Detailed summary - Updated `@farcaster/hubble` version to `1.14.0` - Minor and patch changes in `CHANGELOG.md` - Updated `FARCASTER_VERSION` constant in `hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.14.0 |
||
|
|
d1dce89fc9 |
fix: do not let deleted fname events allow old fname events to be re-added (#2203)
## Why is this change needed? The fname events are not coming through correctly for a few names, and by consequence we're seeing a few old fname events being endlessly replayed. The deletion of the fname record (when fid = 0 in proof) completely removes the record rather than its association with a fid, and by consequence replaying the older event re-adds the fname. This resolves the hub side of the behavior by correctly holding on to the new fname event, but deleting the association with a fid. ## 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) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to enhance the `hubble` app by fixing issues related to username proof handling and syncing historical events. ### Detailed summary - Fixed issue where deleted fname events allowed re-adding old fname events - Improved syncing historical events in `syncEngine.ts` - Updated `mergeUserNameProof` functionality in tests - Added `rsGetUserNameProof` import in `nameRegistryEvent.ts` - Enhanced `UserDataStore` functionality in `user_data_store.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
a5f867fbcb |
fix: Fix incorrect target fid check for link messages older than the compact state (#2207)
## Why is this change needed? We were checking for the message creator's fid instead of the target fid and therefore rejecting valid messages older than the compact state ## 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 fixes an issue with target fid check for link messages older than the compact state in the `store.rs` file and adds tests in `linkStoreCompactState.test.ts`. ### Detailed summary - Fixed incorrect target fid check for link messages in `store.rs` - Added tests for merging link add messages in `linkStoreCompactState.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
554d82a45b |
[fix] Fix race condition with earliest ts hash calculation (#2204)
## Why is this change needed? It was possible to trigger race conditions when calculating earliest_ts_hash, this led to hubs have different values which meant that stores would become out of sync. Migrate the cache to rust and prevent race conditions. ## 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 migrates the storage cache to Rust and addresses a race condition. ### Detailed summary - Migrated storage cache to Rust for efficiency - Fixed a race condition in the storage cache - Added `PRIMARY_KEY_LENGTH` constant in `message.rs` - Updated `storage_cache` exports in `store/mod.rs` - Added functions to interact with storage cache in `utils.rs` - Updated `lib.rs` to include `StorageCache` - Updated `storeEventHandler.ts` to handle `StorageCache` - Updated tests to use `StorageCache` in `storeEventHandler.test.ts` - Implemented `StorageCache` in `store_event_handler.rs` - Added Rust bindings for `StorageCache` in `rustfunctions.ts` > The following files were skipped due to too many changes: `apps/hubble/src/storage/stores/storageCache.ts`, `apps/hubble/src/storage/stores/storageCache.test.ts`, `apps/hubble/src/addon/src/store/storage_cache.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
be54d20352 |
fix: full state events should not include deletes (#2124)
## Why is this change needed? The current processing of full state events results in an unbounded number of deleted messages, making event consumption downstream unpredictable and prone to getting stuck on singular large events. Because merge events historically applied to deltas, and deltas were generally small in effect size, this was a reasonable consideration, but for full state (compact) messages, it is implicit on what is added (everything in it) and what is not (everything not in it), making the deleted messages something implicitly handled by downstream consumers. ## 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) - [x] 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 focuses on fixing the behavior of full state events in the `store.rs` file and test cases related to compact state messages in the `linkStoreCompactState.test.ts`. ### Detailed summary - Fixed full state events to exclude deleted messages in `store.rs` - Updated test cases to reflect changes in handling deleted messages for compact state messages in `linkStoreCompactState.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
3746a4847a |
chore: release 1.13.8 (#2199)
## Why is this change needed? - release 1.13.8 ## 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 The focus of this PR is to update version numbers and dependencies across various packages. ### Detailed summary - Updated version to `0.14.19` in `@farcaster/core` - Updated version to `0.11.21` in `@farcaster/hub-nodejs` - Updated version to `0.5.7` in `@farcaster/shuttle` - Updated version to `1.13.8` in `@farcaster/hubble` - Added event id functions in `@farcaster/core` - Fixed conflict criteria issue in `@farcaster/shuttle` - Upgraded libp2p to `0.44.0` in `@farcaster/hubble` - Increased hub storage requirement to `200 GB` in `@farcaster/hubble` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.13.8 @farcaster/hub-nodejs@0.11.21 @farcaster/shuttle@0.5.7 @farcaster/core@0.14.19 |
||
|
|
ba79e46afc |
fix: ack script (#2198)
## Why is this change needed? - fix: remove parentheses for prompt, which causes changes to occur in sub shell and are not persisted to the environment file ## Merge Checklist - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) |
||
|
|
ee0947ec4b |
fix: on conflict criteria is ambiguous and cannot be used for upsert (#2197)
## Why is this change needed? Shuttle defines the messages table with two unique constraints, one for the hash, another for the triple of hash, fid and type. Postgres does not allow multiple ON CONFLICT criteria, and ambiguous conflicts are essentially surfaced as uniqueness violation failures in spite of ON CONFLICT criteria given. This change alters the merge to instead attempt insert, doing nothing on any conflict, then resolving with an update if necessary and the original conflict resolution criteria is satisfied. Addresses Issue #2167 ## 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) - [x] 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 the conflict resolution logic in `MessageProcessor` to fix ambiguity issues during upsert operations. ### Detailed summary - Updated conflict resolution logic to use `doNothing()` method instead of complex conditions - Improved handling of conflict criteria for upsert operations > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
e2b1c7c681 |
chore: upgrade libp2p to 0.44.0 (#2191)
## Why is this change needed? Upgrades libp2p one minor version up ([Release Notes](https://github.com/libp2p/js-libp2p/releases/tag/v0.44.0) | [Migration Guide](https://github.com/libp2p/js-libp2p/blob/main/doc/migrations/v0.43-v0.44.md)) ### Breaking Change in Autodial + Connection Manager Behavior libp2p's ConnectionManager now has a default minConnection threshold of 50. If the number of active connections is < this number, it will attempt to redial peers that are in the store. Since we only disconnect peers and do not remove them from our store, the naive upgrade causes us to reconnect immediately to peers unexpectedly. We now set the threshold explicitly to 0 to prevent this. We should consider also removing peers from the peer store in a future upgrade. ## 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 - [ ] 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 upgrades `libp2p` to version 0.44.0, updates `@chainsafe/libp2p-gossipsub` to 6.2.0, and introduces `@libp2p/interface-connection-gater` version 2.0.1. ### Detailed summary - Upgraded `libp2p` to 0.44.0 - Updated `@chainsafe/libp2p-gossipsub` to 6.2.0 - Added `@libp2p/interface-connection-gater` version 2.0.1 > The following files were skipped due to too many changes: `yarn.lock` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
c3ea869c18 |
fix(example): fix the argument for makeLinkRemove when removing a follow (#2196)
## Why is this change needed?
The change is a bug fix in the example code `write-data` in the
`hub-nodejs` package (packages/hub-nodejs/examples/write-data). When I
was trying to use this package, I was stuck with the original code for a
while and finally found it our by checking the source code. So I think
the change is needed because it can benefit others (especially new
developers) who want to build on Farcaster instead of getting stuck.
You can see here too that the test code for
`packages/core/src/builders.ts`
|