mirror of
https://github.com/farcasterxyz/hub-monorepo.git
synced 2026-01-14 15:47:57 -05:00
@farcaster/shuttle@0.4.4
1489 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6b037f48c0 |
chore(shuttle): Release 0.4.4 (#2140)
## Why is this change needed? Includes a fix allowing Redis Clusters to be used with the `RedisClient` class. ## 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` package to `0.4.4` and introduces a new feature allowing the Redis client to be a cluster instance. ### Detailed summary - Updated `@farcaster/shuttle` package version to `0.4.4` - Added feature: Redis client can now be a cluster instance > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.4.4 |
||
|
|
864261b798 |
feat(shuttle): Allow RedisClient's client to be a cluster instance (#2139)
## Why is this change needed? We were artificially limiting the accepted type to a `Redis` instance, when a `Cluster` instance would also work fine. ## 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 This PR adds support for Redis cluster instances in the `shuttle` package. ### Detailed summary - Added support for Redis cluster instances in `shuttle/redis.ts` - Updated `RedisClient` constructor to accept either `Redis` or `Cluster` client - Updated `create` method to handle Redis cluster instances > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fcb76cd9ad |
chore(shuttle) Release 0.4.3 (#2136)
## Why is this change needed? Releases a bug fix that is affecting Shuttle users. ## 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 This PR updates the version of `@farcaster/shuttle` package to `0.4.3` and includes a patch to handle "no such key" error when querying group on first start. ### Detailed summary - Updated package version to `0.4.3` - Patched to handle "no such key" error when querying group on first start > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.4.3 |
||
|
|
d1500c007b |
chore: Update pull request template (#2135)
## Why is this change needed? Our template is in need of a makeover. Made the following changes: - Change **Motivation** to **Why is this change needed?** to emphasize what we mean by Motivation. - Remove the **Change Summary** section since this is automatically summarized by PR-Codex bot. - Remove requirement to sign commits, since this doesn't provide any _real_ security and makes it slightly harder for contributors. Since GitHub doesn't prevent them from creating the PR in the first place if the HEAD commit isn't signed, we might as well allow it so we don't need to manually bypass. - Removed **Additional Context** section since this seemed superfluous. ## 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) - [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 removes the `Change Summary` section from the pull request template and updates the checklist options. ### Detailed summary - Removed `Change Summary` section from PR template - Updated checklist options in PR template > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2bae6fb98b |
chore: Update curve25519-dalek from 4.1.1 to 4.1.3 in Rust extension (#2134)
## Motivation This addresses a vulnerability. ## Change Summary Update ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `curve25519-dalek` package in the Rust extension of the `@farcaster/hubble` addon from version 4.1.1 to 4.1.3. ### Detailed summary - Updated `curve25519-dalek` package version from 4.1.1 to 4.1.3 - Removed `platforms` package - Updated checksum for `curve25519-dalek` package > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
795815afbe |
fix(hubble): hub operator fid is not set docker compose (#2129)
## Motivation Fixes #2088 #2117 There is likely an underlying issue with the commander configuration but this is a quick change that gets this working for those having trouble getting the container up and running. ## Change Summary Reordered CLI arguments in docker-compose.yml. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `docker-compose.yml` file for the `@farcaster/hubble` app to fix an issue with CLI arguments order affecting the hub operator FID. ### Detailed summary - Added `--hub-operator-fid ${HUB_OPERATOR_FID:-0}` to fix unset hub operator FID in docker-compose.yml. - Rearranged CLI arguments to ensure correct order and parameter assignment. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
4518058412 |
fix(shuttle): Handle missing group key (#2133)
## Motivation We didn't handle the case where the group key wasn't already created. ## Change Summary Handle it. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on gracefully handling "no such key" errors when querying a group on the first start in the `shuttle` package. ### Detailed summary - Added error handling for "no such key" scenario - Skips group creation if key doesn't exist - Improved robustness in handling ReplyError > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Ken Goldfarb <hello@kengoldfarb.com> |
||
|
|
a7fdaa16e9 |
apps/hubble: fix docker-compose.yml warning (#2112)
"version is obsolelte" Docker has made this line obsolete, no need to nention docker compose version ## Motivation Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [ ] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `docker-compose.yml` file for the `hubble` service to use version 3.9 and the latest image `farcasterxyz/hubble:latest`. ### Detailed summary - Updated `docker-compose.yml` to version 3.9 - Changed `hubble` service image to `farcasterxyz/hubble:latest` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> Signed-off-by: dhairya1008 <parmar.dhairya1899@gmail.com> Co-authored-by: dhairya1899 <17itdhairya.parmar@gmail.com> |
||
|
|
4794a1afa0 |
chore: update statsd metrics for diff sync (#2132)
## Motivation Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [ ] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on adding statistics tracking for different types of sync messages in the `syncEngine.ts` file. ### Detailed summary - Added statistics tracking for on-chain events, FNames, and messages sync messages - Incremented success, error, and deferred counts for each type of sync message > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
644f81d6de |
chore: batch info and error logs for message bundles (#2127)
## Motivation
Describe why this issue should be fixed and link to any relevant design
docs, issues or other relevant items.
## Change Summary
```
{"level":30,"time":1720293146285,"pid":90362,"hostname":"mbp.local","component":"Hub","0":"[event_id:453975843913728|farcaster_ts:110833945|fid:585630|hash:0xef173705c8f9c3843c4da43234e767582085e114|message_type:LINK_ADD|source:gossip]","1":"[event_id:453975843917824|farcaster_ts:110833945|fid:485354|hash:0xefba9d8b3f64469ffa5f3fd8c9907cf4f798d0cb|message_type:LINK_ADD|source:gossip]","2":"[event_id:453975843917825|farcaster_ts:110833945|fid:192373|hash:0x0ae9d1dce72f77f9228c0e39c70d4eac62a7442f|message_type:LINK_ADD|source:gossip]","3":"[event_id:453975843917826|farcaster_ts:110833945|fid:633096|hash:0xef823130e0b0e85821c942f518d5030f413cb1be|message_type:LINK_ADD|source:gossip]","4":"[event_id:453975843917827|farcaster_ts:110833945|fid:746504|hash:0xcc682a388d3ff1fa9f1c488afe34bc1eef5c0f7c|message_type:LINK_ADD|source:gossip]","5":"[event_id:453975843917829|farcaster_ts:110833945|fid:190012|hash:0x300a529843da3add0560c0c8be228b69d2628883|message_type:LINK_ADD|source:gossip]","6":"[event_id:453975843917828|farcaster_ts:110833945|fid:579583|hash:0xbf9ebf245dcf7173e7a3622f0a99f974688c3540|message_type:CAST_REMOVE|source:gossip]","7":"[event_id:453975843917830|farcaster_ts:110833945|fid:711341|hash:0x9ffd88aa81af70d6602f819f7a8b2ad76c17f165|message_type:CAST_ADD|source:gossip]","8":"[event_id:453975843921920|farcaster_ts:110833945|fid:270138|hash:0xd26ff734375c0a6a4804a14f042d06ae3fa0e241|message_type:CAST_ADD|source:gossip]","9":"[event_id:453975843921921|farcaster_ts:110833946|fid:305198|hash:0x50111086f8f27d4a7c080e48f20c287ba71a2dbb|message_type:CAST_ADD|source:gossip]","10":"[event_id:453975843921922|farcaster_ts:110833945|fid:3863|hash:0x60beb24804fe0df885fc251b88ac4f4d7e19e0d3|message_type:CAST_ADD|source:gossip]","11":"[event_id:453975843971072|farcaster_ts:110833945|fid:549607|hash:0xec82139fcad13947ef05c6d04d128897c5eefaf8|message_type:REACTION_ADD|source:gossip]","12":"[event_id:453975843971073|farcaster_ts:110833945|fid:265048|hash:0x2d872242ca0d99b8292e4ff7444440694f0afac9|message_type:REACTION_ADD|source:gossip]","13":"[event_id:453975843975168|farcaster_ts:110833945|fid:563445|hash:0xdedd26fb91e8cea03444386f204dadbf28fbbc20|message_type:REACTION_ADD|source:gossip]","14":"[event_id:453975843975169|farcaster_ts:110833945|fid:522942|hash:0x5ecea1832c45f0dea07a5e7db7ee9ababe065385|message_type:REACTION_ADD|source:gossip]","15":"[event_id:453975843975170|farcaster_ts:110833945|fid:520558|hash:0x987f67b9052d37bda525498d85ab2658e551a6b0|message_type:REACTION_ADD|source:gossip]","16":"[event_id:453975843975171|farcaster_ts:110833946|fid:651987|hash:0xe100174210580b70893107eadd1475e871b0ff27|message_type:REACTION_ADD|source:gossip]","17":"[event_id:453975843975172|farcaster_ts:110833945|fid:511684|hash:0x72561ecda54162bb31b7e234cdee3aafc065a067|message_type:REACTION_ADD|source:gossip]","18":"[event_id:453975843975173|farcaster_ts:110833945|fid:563445|hash:0x174b2b29e616c0dc351169a46d0d1a115ce0fe45|message_type:REACTION_ADD|source:gossip]","19":"[event_id:453975843975174|farcaster_ts:110833945|fid:370971|hash:0x7fbd427e27b8718c700466f437b994c04bd6bcc1|message_type:REACTION_ADD|source:gossip]","20":"[event_id:453975843979264|farcaster_ts:110833945|fid:306729|hash:0x9bca22a42956566cbdb7b2de7471ba91ee4a976d|message_type:REACTION_ADD|source:gossip]","21":"[event_id:453975843979265|farcaster_ts:110833945|fid:521421|hash:0x58855581f5a4a2f1a673af6c235fbb7a039616a3|message_type:REACTION_ADD|source:gossip]","22":"[event_id:453975843979266|farcaster_ts:110833945|fid:509854|hash:0x19f48b1c2113b400e37200be1383a92170b02909|message_type:REACTION_ADD|source:gossip]","23":"[event_id:453975843979267|farcaster_ts:110833945|fid:516301|hash:0xd4c626df0a29c2ea3e71872caa1c0f84dda5b62a|message_type:REACTION_ADD|source:gossip]","24":"[event_id:453975843979268|farcaster_ts:110833945|fid:337423|hash:0x9eb8d64713a79f6ed5983004fcdbb4667bf39a82|message_type:REACTION_ADD|source:gossip]","msg":"successful submit messages"}
```
## 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.
- [ ] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
## Additional Context
If this is a relatively large or complex change, provide more details
here that will help reviewers
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to enhance logging in the `Hub` class by
capturing successful and failed message submissions.
### Detailed summary
- Added `errorLogs` and `infoLogs` arrays for storing error and info
logs respectively
- Enhanced logging for successful and failed message submissions with
detailed information
- Added logging for successful and failed message submissions
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
4055f7001e |
chore: update cleanup interval for active peers (#2123)
## Motivation Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [ ] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR adjusts the cleanup interval for the Peer TTLMap in the sync engine from 36 hours to 25 hours. ### Detailed summary - Adjusted the cleanup interval for the Peer TTLMap from 36 hours to 25 hours > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
b6bad85b8a |
fix: update start time to farcaster time when submitting message bundles from sync (#2121)
## Motivation Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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) - [ ] 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to replace the usage of `Date.now()` with `getFarcasterTime().unwrapOr(0)` in `syncEngine.ts` for more accurate time tracking during message bundle submission. ### Detailed summary - Replaced `Date.now()` with `getFarcasterTime().unwrapOr(0)` for startTime in `syncEngine.ts` - Improved accuracy in time tracking during message bundle submission. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
02dddc269d |
fix: corrected typo errors in CHANGELOG.md (#2109)
Corrected typos, ## Motivation Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [ ] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the CHANGELOG for the Hubble app version 1.13.2. It includes fixes for HTTP endpoint responses and IP address fetching. ### Detailed summary - Fixed HTTP endpoint response wording - Improved IP address fetching by preferring IPv4 addresses > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2a82b3dcd6 |
feat: add unique peer map to sync engine to represent current active peers (#2120)
## Motivation - Current peer store keeps track of all hubs that successfully connected - However, peers may connect and never be seen again due to churn or change in Peer ID - We add TTL Map of peers that only adds peers, never deletes, and expires any peer that hasn't gossiped updates in 24 hours ## Change Summary - add unique peer map to sync engine to represent current active peers ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces a unique peer map to track active peers in the sync engine of the Hubble app. It also adds a high-performance TTLMap for efficient entry expiration management. ### Detailed summary - Added unique peer map for active peers in the sync engine - Implemented TTLMap for automatic expiration of entries - Updated handling of peer discovery events - Enhanced peer contact management in the sync engine > The following files were skipped due to too many changes: `apps/hubble/src/utils/ttl_map.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
094fe86f06 |
fix(docs): corrected errors in installation instructions (#2087)
Fixes issue #2086 ## Motivation Due to errors or outdated information in the Farcaster Hub installation guides, the Hub cannot be synchronized due to lack of memory which will prevent it from starting and working correctly. This error is very important because it creates difficulties for new users at the very initial stage of work and familiarization with Farcaster Hub ## Change Summary Changes have been made regarding the minimum amount of memory required for Farcaster Hub to work correctly. The old value is 60 GB in the GCP installation guide and 140 GB is the old value in the main installation guide. Farcaster Hub currently takes up about 150 GB. The old memory values have been changed to 160 GB, which allows you to run the Hub and have a reserve of correct operation for a period of time ## 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) - [ ] 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. - [ x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context According to the GCP guide we create a virtual server and set the server parameters via Google Cloud Console by copying the data from the guide into the created file "main.tf"  The virtual server has been configured with these memory settings  Then after running the script specified in the main installation guide on the created server Hub starts synchronization, but after a while it stops with the error "code 2".  This error means that Hub cannot continue synchronization due to lack of memory  Warpcast: @vsu <!-- start pr-codex --> --- ## PR-Codex overview This PR increases the disk size for the Ubuntu 20.04 LTS image in the GCP tutorial and adjusts the storage requirement to 160 GB in the installation guide. ### Detailed summary - Increased disk size for Ubuntu 20.04 LTS image to 160 GB in GCP tutorial - Adjusted storage requirement to 160 GB in the installation guide > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
aa02a48db4 |
fix: validate gossip message for clock skew (#2119)
## Motivation - Messages were found in gossip with very high timestamps that would be very far in the future ## Change Summary - Reject gossip messages that are more than 10 minutes in the future ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on fixing clock skew validation for gossip messages in the `@farcaster/hubble` module. ### Detailed summary - Added validation for clock skew in gossip messages - Introduced `ALLOWED_CLOCK_SKEW_SECONDS` constant - Improved error handling for future timestamps in gossip messages > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fdcc3b5228 |
chore: add stats for bundle message delays, stale contact info (#2118)
## Motivation - Need better visibility into message delays and disambiguate between bundle delay and message delay - Ensure stale contacts aren't disseminating through the network ## Change Summary - Add statsd metrics for earliest and latest message timestamp in bundle and bundle creation timestamp. All timestamps are in farcaster time - Add statsd metric for old contact info being gossiped ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on enhancing message bundle submission in the Hubble application by adding stats for message delays and contact info staleness. ### Detailed summary - Added stats for bundle message delays and stale contact info - Updated `submitMessageBundle` method parameters in multiple files - Updated `submitMessageBundle` method in `Hub` class to include additional stats and parameters > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
59bcfe7fba |
chore: release 1.13.5 (#2114)
## Motivation - Reduce network bandwidth with gossip improvements - Support experimental sync APIs (note: may be removed or significantly altered in the future) ## Change Summary - Update p2p gossip to reduce unnecessary contact updates - Add experimental sync control APIs ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates versions and adds endpoints for sync control in `hub-web` and `hub-nodejs`, and includes various improvements and fixes in the `hubble` app. ### Detailed summary - Updated `hub-web` version to 0.8.12 - Updated `hub-nodejs` version to 0.11.19 - Added endpoints for sync control - Improved gossip contact info frequency in `hubble` app - Added experimental HTTP APIs for sync control in `hubble` app > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.13.5 @farcaster/hub-nodejs@0.11.19 @farcaster/hub-web@0.8.12 |
||
|
|
224e75fa6b |
fix: contact info updates (#2113)
## Motivation Contact info gossip is causing undue burden on network ## Change Summary fix: gossip contact info every 30 minutes instead of every minute, avoid gossiping contact info on peer connect, skip contact info updates that happen too frequently ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on optimizing contact info gossiping in the Hubble app by reducing frequency and skipping recent updates. ### Detailed summary - Changed gossip contact info frequency to every 30 minutes - Skipped gossiping contact info on peer connect - Added a threshold to skip contact info updates happening too frequently > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
667a5b304c |
feat: add experimental HTTP APIs to control sync (#2111)
## Motivation
Add HTTP APIs to force sync with a particular peer id and to interrupt
current sync.
NOTE: This is experimental, these endpoints may be removed or
significantly altered in the future.
## Change Summary
### GET /v1/syncStatus
```
{
"isSyncing": true,
"syncStatus": [
{
"peerId": "12D3KooWDgi3EZGdsghsuyk17QUJUm81WdypjUfUpQFMv1KHqFPg",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452062847,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWBeHgpW1YJer1exohYJmBugcCxw6nPivDWPinc7GzZwtW",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452193687,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWBM99sMoBfWZdA8eDMbU6z2awAKvnpwPWfsrJEkK6gE82",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452066054,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWAd4CS8JrFzhavbX8VYoqZgYvixq92SKoMwkKSmEYn3ji",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 451854112,
"ourMessages": 449263973,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWAceovMknjAkFVxsazdq1zFsBA1FdQcd9quq8szhmi4YG",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452123129,
"ourMessages": 449263973,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooW9zRXheJk13bPxxGzsDqK9WjienqoeQTpZq1kh3hbi8vs",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452386192,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWAiWjWtt29EgQtANUPtZLmXrwermBf1PFvHtSkrkfWuVN",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 451970452,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWET8RWKH5nRGmGn7FWMkSP5p8E48ipSoqC8CdCrCKekhh",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452125619,
"ourMessages": 449263973,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWEFY9y65Su3LFd68BuJ3GLD37KxczMxxJ2h3QX3FsrTMw",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452009411,
"ourMessages": 449263973,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWAg56TGduGdNjCtuXEdLkiyuTQykjBsKLmnBhKx2WvMgU",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452250942,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWCw6zzXy2zeXgHj1jhPruUaqjfbNxK8Gp6hGoaA17ReYf",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452077312,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWELYvHd5MkDYaT1BXCEVn61PuznAj15mUmQn1ioLVQC1h",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452160134,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWDvzJMYFAzdJ4NPtHfm4Ygoz9JSWXgi346q5VAE6stnSm",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452012326,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWBCbzwWTYkU7hzQHo8dN2PTYtoom8Eo3heP1QtuuaYbPy",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452241704,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWC4LJ62SHpTVoSvyzA63jBHXeTNm1vboKUygR83d8EH5X",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452097420,
"ourMessages": 449266923,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWBuS8TUiqeabs9YKTz17vQRD2csVA4PDUqFFmKDyCGepq",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 451996803,
"ourMessages": 449264141,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWMRrDr4JmWFnxusb5S9nsrkxBAXqWf7BymJtgQRsJMVQ2",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452267236,
"ourMessages": 449264141,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWB8uy9VxTpipGoRjEc2BFoswXKgyGS6rhNTd1ofD9JXLG",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452081457,
"ourMessages": 449267092,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWDrDvLLvRNaUiqmrA9YvRp41gZaEmoatqVAdJwzopdgBN",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 452128777,
"ourMessages": 449264141,
"lastBadSync": -1,
"score": 0
},
{
"peerId": "12D3KooWBfPafShMrDwmVwM1qGqajyyYnfsr4K2MznKRfnxx6giU",
"inSync": "false",
"shouldSync": false,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 451763652,
"ourMessages": 449264184,
"lastBadSync": -1,
"score": 0
}
],
"engineStarted": true
}
```
### POST /v1/stopSync
```
{
"isSyncing": false,
"syncStatus": [],
"engineStarted": true
}
```
### POST /v1/forceSync?peer_id=${PEER_ID_HERE}
```
{
"isSyncing": true,
"syncStatus": [
{
"peerId": "12D3KooWRnSZUxjVJjbSHhVKpXtvibMarSfLSKDBeMpfVaNm1Joo",
"inSync": "false",
"shouldSync": true,
"divergencePrefix": "",
"divergenceSecondsAgo": 0,
"theirMessages": 448940578,
"ourMessages": 449276683,
"lastBadSync": -1,
"score": 0
}
],
"engineStarted": true
}
```
## 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.
- [x] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
## Additional Context
If this is a relatively large or complex change, provide more details
here that will help reviewers
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to add experimental HTTP APIs for controlling
synchronization in the `@farcaster/hubble` app.
### Detailed summary
- Added experimental HTTP APIs for controlling sync: `stopSync`,
`syncStatus`, `forceSync`
- Implemented corresponding API endpoints in `httpServer.ts`
- Updated documentation with examples and responses for each API
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
c723f655ff | feat: add endpoints to control sync (#2110) | ||
|
|
e67f8cb0dd |
chore(shuttle): Release 0.4.2 (#2108)
## Motivation Release latest fix. ## Change Summary Updates version to 0.4.2 ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the version of `@farcaster/shuttle` package to `0.4.2` and includes a more efficient switch clause implementation. ### Detailed summary - Updated version to `0.4.2` in `packages/shuttle/package.json` - Improved efficiency of switch clause in the code > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.4.2 |
||
|
|
fad0f17916 |
fix(shuttle): Use more efficient lookup to avoid errors (#2107)
## Motivation We were seeing errors due to the number of message hashes in the `IN` clause, resulting in a different prepared statement for each different number of hashes. ## Change Summary Switch to using the `= any([...])` form so that the same prepared statement is always used. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on optimizing the `shuttle` package by updating dependencies and improving query efficiency. ### Detailed summary - Updated `pg` dependency to `8.12.0` - Switched `where` clause in `MessageReconciliation` for more efficiency - Added `sql` import in `shuttle/db.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fb54ef89bb |
fix(shuttle): Bump max receive size to fix resource exhaustion error (#2106)
## Motivation Stream processing was halting due to: ``` Hub event stream processing halted 8 RESOURCE_EXHAUSTED: Received message larger than max (5086178 vs 4194304) ``` ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the Shuttle package to version 0.4.1, fixing a resource exhaustion error and increasing the maximum receive size. ### Detailed summary - Updated Shuttle package version to 0.4.1 - Increased maximum receive message length to 10mb - Fixed resource exhaustion error > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.4.1 |
||
|
|
00d88c6f7f |
chore: Release 1.13.4 (#2104)
## Motivation Release performance fixes for gossip ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the version of `@farcaster/hubble` to `1.13.4` in the package.json and includes patch changes related to fixing issues with mainnet bootstrap peers and gossip worker. ### Detailed summary - Updated version to `1.13.4` - Removed `nemes` from mainnet bootstrap peers - Fixed gossip worker spending too much time iterating peer store > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.13.4 |
||
|
|
366ce95c31 |
fix: Fix gossip worker spending too much time iterating peer store (#2103)
## Motivation
```
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 1.0% are not shown.
ticks parent name
1460430 43.7% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
795879 54.5% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
224383 28.2% LazyCompile: *peerIdFromBytes file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-id/dist/src/index.js:153:32
224365 100.0% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
224365 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
174182 21.9% LazyCompile: *load file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:35:15
174145 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
90942 11.4% LazyCompile: *decode file:///home/sanjay/hubble_dev/node_modules/multiformats/src/bases/base.js:343:12
90931 100.0% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
90931 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
79173 9.9% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
27262 34.4% LazyCompile: *cleanPath file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/dist/src/codec.js:165:26
27252 100.0% LazyCompile: *bytesToMultiaddrParts file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/dist/src/codec.js:56:38
27235 99.9% LazyCompile: *load file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:35:15
15786 19.9% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
15786 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
879 5.6% LazyCompile: *forEach file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/index.js:24:18
12903 16.3% LazyCompile: *format file:///home/sanjay/hubble_dev/node_modules/multiformats/src/cid.js:20:23
12886 99.9% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
12886 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
10342 13.1% LazyCompile: *peerIdFromBytes file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-id/dist/src/index.js:153:32
10341 100.0% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
10341 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
7094 9.0% LazyCompile: *bytesToMultiaddrParts file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/dist/src/codec.js:56:38
7092 100.0% LazyCompile: *load file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:35:15
7092 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
3885 4.9% LazyCompile: *_peerIdToDatastoreKey file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:21:26
3883 99.9% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
3883 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
38786 4.9% LazyCompile: *fromString file:///home/sanjay/hubble_dev/node_modules/uint8arrays/dist/src/from-string.js:10:27
24315 62.7% LazyCompile: *Key file:///home/sanjay/hubble_dev/node_modules/interface-datastore/dist/src/key.js:29:16
24275 99.8% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
24275 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
7340 18.9% LazyCompile: *_peerIdToDatastoreKey file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:21:26
7338 100.0% LazyCompile: *all file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/dist/src/store.js:170:15
7338 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
7110 18.3% LazyCompile: *_allKeys file:///home/sanjay/hubble_dev/node_modules/datastore-core/dist/src/memory.js:32:14
7110 100.0% /home/sanjay/.nvm/versions/node/v18.15.0/bin/node
7010 98.6% LazyCompile: *next file:///home/sanjay/hubble_dev/node_modules/it-peekable/dist/src/index.js:17:15
98 1.4% Function: ^next file:///home/sanjay/hubble_dev/node_modules/it-peekable/dist/src/index.js:17:15
25814 3.2% LazyCompile: *toString file:///home/sanjay/hubble_dev/node_modules/uint8arrays/dist/src/to-string.js:9:25
24662 95.5% LazyCompile: *bytes2mh file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/dist/src/convert.js:188:18
24661 100.0% LazyCompile: *bytesToMultiaddrParts file:///home/sanjay/hubble_dev/node_modules/@libp2p/peer-store/node_modules/@multiformats/multiaddr/dist/src/codec.js:56:38
```
## Change Summary
Describe the changes being made in 1-2 concise sentences.
## 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.
- [x] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
## Additional Context
If this is a relatively large or complex change, provide more details
here that will help reviewers
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on optimizing the performance of the `peerStoreCount`
function in the `gossipNodeWorker.ts` file by addressing the issue of
blocking the event loop.
### Detailed summary
- Added a comment highlighting the performance-intensive nature of
`peerStoreCount` function
- Removed redundant `statsd().gauge` call in `handleContactInfo` method
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
3f0fb85c15 | fix: remove nemes from mainnet bootstrap peers (#2102) | ||
|
|
2bf0959f2e |
chore: Release 1.13.3 (#2091)
## Motivation Release 1.13.3 ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers@farcaster/hubble@1.13.3 @farcaster/hub-nodejs@0.11.18 @farcaster/core@0.14.17 |
||
|
|
b150e90001 |
fix: Use stricter socket timeout for gossip (#2090)
## Motivation Gossip metrics indicate the worker sometimes stalls for 5 mins before receiving messages in a burst. Likely due to one or more bad peers. The default socket timeout is 5 mins, set this to 30seconds to see if it helps. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `hubble` package to use a stricter socket timeout for gossip communication in the `gossipNodeWorker.ts` file. ### Detailed summary - Updated the socket timeout for gossip communication to be stricter (30 seconds). - Modified the `transports` configuration to include the new socket timeout settings. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2e0779161b |
fix: Ensure we run yarn postinstall script for production build (#2089)
## Motivation We were still missing the patch in production. ## Change Summary Ensure we run `postinstall` in production as well. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on optimizing the Docker build process by adding a `yarn postinstall` step after installing production dependencies. ### Detailed summary - Added `yarn postinstall` step after installing production dependencies in the Dockerfile. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
eacf29c98c |
fix: return better error message (#2077)
## Motivation Parameters that contained invalid cast URLs with valid cast URL prefixes were surfacing database error instead of not found error. The url itself did not contain parent casts, but because it contained a valid prefix, the database lookups were returning errors. For example, a valid URL may be: "https://warpcast.com/~/channel/japan777iine" An invalid URL may be: "https://warpcast.com/~/chanel-makeup" Since both URLs contain same prefix, _part_ of the invalid param gets processed. That "prefix" then yields an error when entries aren't found in the database. However, no entries found is expected, because the URL is garbage. Instead of surfacing the database error, we now correctly surface not found error. This should fix #2067 - Certain queries to Hub API caused db errors to surface, e.g: ``` { "code": 2, "details": "db.internal_error/could not get message with key: [1, 129, 11, 134, 0, 1, 111, 110, 101, 6, 78, 209, 172, 203, 162, 11, 104, 228, 239, 164, 151, 212, 243, 3, 81, 109, 55, 199, 100, 32]", "metadata": { "errcode": [ null ] } } ``` ## Change Summary **Empty URL** ``` { "errCode": "bad_request.invalid_param", "presentable": false, "name": "HubError", "code": 3, "details": "url < 1 byte", "metadata": { "errcode": [ "bad_request.invalid_param" ] } } ``` **Invalid URL** ``` { "errCode": "not_found", "presentable": false, "name": "HubError", "code": 2, "details": "could not get message with key: [1, 129, 11, 134, 0, 1, 111, 110, 101, 6, 78, 209, 172, 203, 162, 11, 104, 228, 239, 164, 151, 212, 243, 3, 81, 109, 55, 199, 100, 32]", "metadata": { "errcode": [ "not_found" ] } } ``` ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to fix the issue where the HTTP endpoint returns "not found" instead of an internal database error. ### Detailed summary - Fixed the issue in the `cast_store.rs` file related to generating message primary key - Updated error handling in `message.rs` and `store.rs` files - Added a new function `not_found` in `store.rs` - Modified error conversion logic in `server.ts` to handle Rust errors > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2d26d3051b |
cli tool for computing sync health and exploring causes for message diffs (#2073)
## Motivation
We want a better metric than current number of messages (i.e. "sync
percent") for measuring sync health. It doesn't account for the fact
that there are valid reasons for temporary displacements in message
counts (i.e. compaction, small network delays). Instead, we want to take
some chunk of time in the past and count up messages in that chunk and
compare the counts as a somewhat more evolved sync metric.
## Change Summary
CLI command that computes sync health between one node and peers,
explores nonzero diffs, and prints out summarized, structured output.
```
❯ node build/cli.js sync-health --max-num-peers 50 --primary-node lamia.farcaster.xyz:2283 --start-time-ofday 11:30:00 --stop-time-ofday 11:35:00
❯ cat health.out | jq
{
"startTime": "2024-06-21T15:15:00.000Z",
"stopTime": "2024-06-21T15:17:00.000Z",
"primary": "hoyt.farcaster.xyz:2283",
"peer": "84.247.160.59:2283",
"primaryMessageCount": 5311,
"peerMessageCount": 4930,
"diff": 381,
"diffPercentage": 0.0717379024665788,
"numSuccessToPeer": 378,
"numErrorToPeer": 6,
"successTypesToPeer": [
null,
3,
2,
6
],
"errorMessagesToPeer": [
"no storage",
"invalid signer: signer 0x02c2f67b36cec88270462f95d7c553d13bc339be61c02db591c9144fcf2592dd not found for fid 681926"
],
"numSuccessToPrimary": 0,
"numErrorToPrimary": 0,
"successTypesToPrimary": [],
"errorMessagesToPrimary": []
}
```
## 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)
- [ ] 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.
- [x] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
## Additional Context
If this is a relatively large or complex change, provide more details
here that will help reviewers
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a CLI tool `hubble` for measuring sync health. It
includes commands to measure sync health and calculates message
statistics between nodes.
### Detailed summary
- Added `sync-health` command to measure sync health
- Introduced classes for message stats and sync health stats
- Implemented functions to query message counts and compute stats
- Added functions to pick peers and compute sync IDs
> 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 -->
|
||
|
|
ff4ec34429 |
chore: Release 1.13.2 (#2081)
## Motivation Release 1.13.2 ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to update package versions and dependencies across multiple repositories. ### Detailed summary - Updated package versions to `0.14.16`, `0.8.11`, `0.11.17`, `0.4.0`, `1.13.2` - Updated dependencies in various packages - Added rpc to expose `LinkCompactStateMessage` with explicit handling of type > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.13.2 @farcaster/core@0.14.16 @farcaster/hub-nodejs@0.11.17 @farcaster/hub-web@0.8.11 @farcaster/shuttle@0.4.0 |
||
|
|
4c64539d19 |
feat: add FID storage rent statistics to db storage profile (#2076)
## Motivation add FID storage rent statistics to db storage profile ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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) - [ ] 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to enhance the profiling functionality in the `hubble` app by adding features related to storage rent statistics and on-chain event categorization. ### Detailed summary - Increased `profile` script memory allocation to 8192 MB - Added imports from `@farcaster/core` and `events` module - Updated `ValueStats` class calculations for min, max, and average - Added function to calculate current Farcaster timestamp - Introduced storage rent statistics calculation and categorization - Enhanced CSV output with storage rent statistics - Improved logging and error handling in the profiling process > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Sanjay Raveendran <sanjayprabhu@gmail.com> |
||
|
|
0f9ee6c774 |
fix: Ensure patch files are included in Docker environment during build (#2080)
## Motivation We weren't including these files, so `yarn postinstall` didn't work as expected. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on adding a new directory `patches` to the Docker image, running `yarn install` with specific options, and executing `yarn postinstall`. ### Detailed summary - Added `patches` directory to Docker image - Ran `yarn install` with `--frozen-lockfile --network-timeout 1800000` - Executed `yarn postinstall` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
6ceb8f54bf | fix: add patch to libp2p/peer-store to resolve broken peer id load failures (#2075) | ||
|
|
ad28172904 |
feat: support compact state type for links in message reconciliation (#2074)
## Motivation Currently message reconciliation skips over LinkCompactState messages when fetching from hubs, and depending on the logic of the caller of that reconciler, it may make the caller mark the message as deleted (and subsequently perform deletions on the follows). ## Change Summary This change alters the hub message fetch to also call this RPC when reconciling links. Important: users of this version will have to have the corresponding RPC from #2068. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on enhancing link reconciliation in the `shuttle` package by calling the compact state RPC. ### Detailed summary - Added a new method to retrieve link compact state messages by FID - Updated imports in integration tests - Implemented a test for reconciling messages and flagging incorrectly deleted messages > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
f25f133f30 |
chore: Segment bundle delay stats by message status (#2070)
## Motivation Segment bundle delay stats by message status ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on segmenting bundle delay stats by message status in the `handleGossipMessage` function of `Hubble`. ### Detailed summary - Added tracking of bundle delay stats for invalid, success, and failure cases - Segmented bundle delay stats based on message status - Improved reporting logic for gossip messages in `handleGossipMessage` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
27a1cfc84a |
fix: log before exiting in hubble cli (#2062)
## Motivation
When running the `yarn identity create` I didn't know if my id was
created and where it was stored based on the output of the command. I
ran `node build/cli.js identity create` without the `--no-warnings` and
still didn't see any difference. Flushing before exiting the process
fixed the issue. I validated with the verify command
```
node build/cli.js identity verify .hub/12D3KooWCbYEURXXG3554vgSrBEWah4YxCebNghwWL5TvLSS7mmG_id.protobuf
{"hostname":"Aditis-MBP","pid":65745,"time":1718476986530,"level":30,"msg":"Flushing rust log buffer. Writing logs directly from Rust","flush_next":true}
{"level":30,"time":1718476986530,"pid":65745,"hostname":"Aditis-MBP","msg":"Successfully Read peerId: 12D3KooWEfACVRKnbdsEbPmsiJNAwwtq6pu7MtV4TFv54j2Te8cu from ./.hub/default_id.protobuf"}
```
## Change Summary
Flush logs before exiting a process in the hubble cli tool.
## 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.
- [x] All [commits have been
signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits)
<!-- start pr-codex -->
---
## PR-Codex overview
The focus of this PR is to update the `cli.ts` file in the
`@farcaster/hubble` package to ensure logs are flushed before exiting.
### Detailed summary
- Updated `cli.ts` to use `flushAndExit` function for exiting with log
flush
- Replaced all `process.exit` calls with `return flushAndExit`
- Added `flushAndExit` function to flush logs before exiting
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
dab95118e0 |
feat: expose LinkCompactState messages via rpc (#2068)
## Motivation Currently, our retrieval of Link messages only show adds/removes, compact state messages serving as silent tombstones. This is fine for getting a quick set of adds/removes as they currently apply, but may produce confusing state when looking at two hubs, where one has the message, and the other doesn't, and trying to reconcile why some messages are missing from the one with the LinkCompactState message and not the other. ## Change Summary This change adds a new rpc GetLinkCompactStateMessageByFid, which returns the relevant compact state message, if present. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR standardizes the naming convention for `CastType` across multiple files and adds support for `LinkCompactStateMessage` handling in various store modules and RPC methods. ### Detailed summary - Standardized `CastType` naming convention to `cast` in multiple files - Added support for `LinkCompactStateMessage` in store modules and RPC methods > The following files were skipped due to too many changes: `apps/hubble/www/docs/docs/api.md`, `packages/hub-nodejs/src/generated/rpc.ts`, `packages/hub-web/src/generated/rpc.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
967172f140 |
docs: updated install and monitoring pages (#2066)
## Motivation I just went through setting up a node and updated the docs to hopefully mitigate some hiccups I ran into for anybody that does this in the future. ## Change Summary Updating the hub installation and monitoring docs. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) |
||
|
|
c9625021ae |
chore: Update message.ts (#2064)
## Motivation The comment describing CastType is duplicate of the Verification type. We are updating so it makes sense. ## Change Summary Updated from `Type of Protocol to disambiguate verification addresses` to `Type of Cast` ## 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) - [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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR renames the `Type of Protocol to disambiguate verification addresses` enum to `Type of Cast` and updates the enum values accordingly. ### Detailed summary - Renamed enum `ProtocolType` to `CastType` - Updated enum values to `CAST` and `LONG_CAST` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fbf575bae0 |
fix: updated multinode docker compose (#2065)
## Motivation I tried running this multinode setup and ran into a couple issues with the config. This PR fixes them. ## Change Summary I just added arguments for the optimism rpc url (required) and removed --gossip-metrics-enabled which doesn't exist anymore. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) |
||
|
|
e6c4336564 |
chore(deps): bump @grpc/grpc-js from 1.8.21 to 1.8.22 in /packages/hub-nodejs/examples/write-data (#2052)
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.8.21 to 1.8.22. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-node/releases"><code>@grpc/grpc-js</code>'s releases</a>.</em></p> <blockquote> <h2><code>@grpc/grpc-js</code> 1.8.22</h2> <ul> <li>Avoid buffering significantly more than <code>grpc.max_receive_message_size</code> per received message.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
933c26b39c |
Fix typos (#2060)
This PR addresses several typographical errors across various files in
the project. The changes improve readability and maintain the
professional standard of the documentation and code comments.
Typographical errors, while minor, can detract from the overall quality
of the project. Correcting these errors ensures clarity and
professionalism, making the project more accessible and understandable
for current and future contributors.
Hope it helps.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR improves consistency and clarity in the documentation by fixing
grammatical errors and updating wording for better readability.
### Detailed summary
- Fixed grammatical errors and improved wording for better clarity in
documentation
- Updated wording for consistency and readability in various sections of
the documentation
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
77cd03bcb3 |
chore(deps): bump @grpc/grpc-js from 1.8.21 to 1.8.22 in /packages/hub-nodejs/examples/contract-signatures (#2053)
Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.8.21 to 1.8.22. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-node/releases"><code>@grpc/grpc-js</code>'s releases</a>.</em></p> <blockquote> <h2><code>@grpc/grpc-js</code> 1.8.22</h2> <ul> <li>Avoid buffering significantly more than <code>grpc.max_receive_message_size</code> per received message.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
0239442083 |
chore(deps): bump braces from 3.0.2 to 3.0.3 in /packages/hub-nodejs/examples/contract-signatures (#2051)
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
76c0504f7f |
chore: Lower level of shuttle logs to debug (#2063)
## Motivation These logs aren't strictly useful in a normal sense. ## Change Summary Lower them to debug log level to make the logs less noisy. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to lower the level of shuttle logs to debug in the `MessageReconciliation` class in the `shuttle` package. ### Detailed summary - Lowered the logging level to debug in `messageReconciliation.ts` for better debugging. - Replaced `this.log.info` with `this.log.debug` for certain log messages. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
e58e963d0a |
fix: Always log when updating contact info (#2058)
## Motivation We were only logging when we received a brand new contactInfo, we should be logging everytime we see a new or updated contactInfo ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `syncEngine` in the Hubble app to always log when updating contact info. ### Detailed summary - Updated `addContactInfoForPeerId` method to always log when updating contact info - Replaced `Err` with `Ok` in test for adding newer contact info - Improved error handling for duplicate peer entries > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
926c2105c6 |
fix(shuttle): Fix shuttle hub-nodejs version dep to support long casts (#2050)
## Motivation Shuttle was depending on an older hub-nodejs version which didn't support long cast validation. ## Change Summary Describe the changes being made in 1-2 concise sentences. ## 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. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the version of `@farcaster/hub-nodejs` dependency in `@farcaster/shuttle` package to `0.11.16` to support long casts. ### Detailed summary - Update `@farcaster/hub-nodejs` dependency to version `0.11.16` - Fix shuttle hub-nodejs version dep to support long casts > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.3.3 |