mirror of
https://github.com/farcasterxyz/hub-monorepo.git
synced 2026-04-18 03:00:22 -04:00
@farcaster/shuttle@0.2.0
1346 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b707e121cc |
chore(shuttle): Rename package to shuttle and release beta (#1915)
## 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 - [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 renames the package `@farcaster/hub-shuttle` to `@farcaster/shuttle` and releases it as a beta version. ### Detailed summary - Renamed package to `@farcaster/shuttle` - Released beta version 0.2.0 - Updated dependencies in example app - Updated imports in example app to reflect package name change > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/shuttle@0.2.0 |
||
|
|
8ce91dcb7b |
feat(shuttle): support prune, revokes and deletes (#1914)
## Motivation Handle prunes, revokes and deletes ## 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 `@farcaster/hub-shuttle` package to version `0.1.6`, introducing support for redis streams, reconciliation workers, and handling of messages based on operation types. ### Detailed summary - Updated package version to `0.1.6` - Added support for redis streams and reconciliation workers - Refactored message handling based on operation types > The following files were skipped due to too many changes: `packages/hub-shuttle/src/shuttle.integration.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-shuttle@0.1.6 |
||
|
|
7a1ccc3813 |
fix: Handle axios errors while reporting errors (#1909)
## Motivation Handle axios errors while reporting errors to datadog ## 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) - [ ] 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 fixing axios error handling while reporting to Datadog in the `diagnosticReportWorker.ts` file. ### Detailed summary - Updated `response` variable to use `Result` type for axios response - Modified error handling logic based on `Result` type - Changed return type of `postDataDogEvent` and `postErrorEvent` functions to `Result` type > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
dd10cdb127 |
fix: update diagnostics reports to prefix tags with fid and peer_id (#1910)
## Motivation
- For some reason DataDog ignores and omits the FID tag when it's just a
"string-ified" number
- When it's `fid:${fid.toString(10)}` it works
- Add prefixes to fid and peer_id and type for consistency
## Change Summary
## 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 `diagnosticReportWorker.ts` in `@farcaster/hubble` to
prefix tags with `fid` and `peer_id`.
### Detailed summary
- Added `fid` and `peer_id` prefix to tags in `postDataDogEvent`
function
- Added `type:error` and `type:unavailable` tags for error and
unavailable events respectively
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
|
||
|
|
ee1e054388 |
fix: Restrict yarn snapshot-url to mainnet (#1906)
## Motivation - Restrict yarn snapshot-url to mainnet to mainnet - snapshots are not supported on other networks ## 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 restricts the usage of `yarn snapshot-url` command to mainnet only in the Hubble app. ### Detailed summary - Added restriction to `yarn snapshot-url` for mainnet only - Reordered imports in `cli.ts` - Updated error message for non-mainnet networks > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
1051b3dd15 |
feat(shuttle): Read and write events from redis streams and add reconciliation workers (#1903)
## Motivation Send hub events to redis streams to support scalability and add backfill workers. ## 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 enhances the `hub-shuttle` package by adding support for Redis streams, reconciliation workers, and scalability improvements. ### Detailed summary - Imported `StatsD` from `@figma/hot-shots` - Added `statsd` export - Updated `RedisClient` class - Added `inBatchesOf` function to `utils.ts` - Updated `package.json` scripts and dependencies - Modified environment variables in `env.ts` - Updated `hubEventProcessor.ts` - Updated `README.md` with backfill process details - Updated `worker.ts` and `eventStream` in `shuttle` folder - Updated `hub.ts` with new functions - Updated `shuttle.integration.test.ts` with new imports and methods > The following files were skipped due to too many changes: `packages/hub-shuttle/src/shuttle.integration.test.ts`, `packages/hub-shuttle/src/shuttle/hubSubscriber.ts`, `packages/hub-shuttle/src/example-app/app.ts`, `packages/hub-shuttle/src/shuttle/eventStream.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
d5b1add07d |
chore(deps): bump undici from 5.28.3 to 5.28.4 (#1867)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nodejs/undici/releases">undici's releases</a>.</em></p> <blockquote> <h2>v5.28.4</h2> <h2>⚠️ Security Release ⚠️</h2> <ul> <li>Fixes <a href="https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7">https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7</a> CVE-2024-30260</li> <li>Fixes <a href="https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672">https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672</a> CVE-2024-30261</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4">https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
1c24b44741 |
chore(deps): bump protobufjs from 7.2.4 to 7.2.6 in /packages/hub-nodejs/examples/write-data (#1889)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.4 to 7.2.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p> <blockquote> <h2>protobufjs: v7.2.6</h2> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.5...protobufjs-v7.2.6">7.2.6</a> (2024-01-16)</h2> <h3>Bug Fixes</h3> <ul> <li>report missing import properly in loadSync (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1960">#1960</a>) (<a href=" |
||
|
|
1dcb919b8b |
chore(deps): bump protobufjs from 7.2.4 to 7.2.6 in /packages/hub-nodejs/examples/chron-feed (#1890)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.4 to 7.2.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p> <blockquote> <h2>protobufjs: v7.2.6</h2> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.5...protobufjs-v7.2.6">7.2.6</a> (2024-01-16)</h2> <h3>Bug Fixes</h3> <ul> <li>report missing import properly in loadSync (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1960">#1960</a>) (<a href=" |
||
|
|
fc76b11623 |
chore(deps): bump protobufjs from 7.2.4 to 7.2.6 in /packages/hub-nodejs/examples/hello-world (#1891)
Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.4 to 7.2.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/protobufjs/protobuf.js/releases">protobufjs's releases</a>.</em></p> <blockquote> <h2>protobufjs: v7.2.6</h2> <h2><a href="https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.5...protobufjs-v7.2.6">7.2.6</a> (2024-01-16)</h2> <h3>Bug Fixes</h3> <ul> <li>report missing import properly in loadSync (<a href="https://redirect.github.com/protobufjs/protobuf.js/issues/1960">#1960</a>) (<a href=" |
||
|
|
0cd822ca1d |
chore(deps): bump tar from 6.1.15 to 6.2.1 (#1893)
Bumps [tar](https://github.com/isaacs/node-tar) from 6.1.15 to 6.2.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md">tar's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>7.0</h2> <ul> <li>Rewrite in TypeScript, provide ESM and CommonJS hybrid interface</li> <li>Add tree-shake friendly exports, like <code>import('tar/create')</code> and <code>import('tar/read-entry')</code> to get individual functions or classes.</li> <li>Add <code>chmod</code> option that defaults to false, and deprecate <code>noChmod</code>. That is, reverse the default option regarding explicitly setting file system modes to match tar entry settings.</li> <li>Add <code>processUmask</code> option to avoid having to call <code>process.umask()</code> when <code>chmod: true</code> (or <code>noChmod: false</code>) is set.</li> </ul> <h2>6.2</h2> <ul> <li>Add support for brotli compression</li> <li>Add <code>maxDepth</code> option to prevent extraction into excessively deep folders.</li> </ul> <h2>6.1</h2> <ul> <li>remove dead link to benchmarks (<a href="https://redirect.github.com/isaacs/node-tar/issues/313">#313</a>) (<a href="https://github.com/yetzt"><code>@yetzt</code></a>)</li> <li>add examples/explanation of using tar.t (<a href="https://github.com/isaacs"><code>@isaacs</code></a>)</li> <li>ensure close event is emited after stream has ended (<a href="https://github.com/webark"><code>@webark</code></a>)</li> <li>replace deprecated String.prototype.substr() (<a href="https://github.com/CommanderRoot"><code>@CommanderRoot</code></a>, <a href="https://github.com/lukekarrys"><code>@lukekarrys</code></a>)</li> </ul> <h2>6.0</h2> <ul> <li>Drop support for node 6 and 8</li> <li>fix symlinks and hardlinks on windows being packed with <code>\</code>-style path targets</li> </ul> <h2>5.0</h2> <ul> <li>Address unpack race conditions using path reservations</li> <li>Change large-numbers errors from TypeError to Error</li> <li>Add <code>TAR_*</code> error codes</li> <li>Raise <code>TAR_BAD_ARCHIVE</code> warning/error when there are no valid entries found in an archive</li> <li>do not treat ignored entries as an invalid archive</li> <li>drop support for node v4</li> <li>unpack: conditionally use a file mapping to write files on Windows</li> <li>Set more portable 'mode' value in portable mode</li> <li>Set <code>portable</code> gzip option in portable mode</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
c5c060405d |
chore: Release 1.11.6 (#1902)
## Motivation
v 1.11.6 release
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates version numbers and dependencies across multiple
packages.
### Detailed summary
- Updated version to `0.14.9` in `@farcaster/core`
- Updated version to `0.8.6` in `@farcaster/hub-web`
- Updated version to `0.11.9` in `@farcaster/hub-nodejs`
- Updated version to `1.11.6` in `@farcaster/hubble`
- Added gossip `MessageBundles` feature
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`
<!-- end pr-codex -->
@farcaster/hubble@1.11.6
@farcaster/hub-web@0.8.6
@farcaster/hub-nodejs@0.11.9
@farcaster/core@0.14.9
|
||
|
|
6b4ea835cd |
chore: Run ValidateOrRevokeMessages job once a month for an fid (#1900)
## Motivation - The ValidateOrRevoke messages job is normally run if the signers change, but we also run once a month for backup (used to be 14 days) - Run the job during low-traffic 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 - [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 `validateOrRevokeMessagesJob` to run once a month instead of every day, and adjusts the fid calculation to check 1/28th instead of 1/14th. ### Detailed summary - Updated cron schedule to run `validateOrRevokeMessagesJob` once a month. - Changed fid calculation to check 1/28th of the FIDs. - Updated test to reflect fid % 28 matching. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
f1ffdd73a3 |
fix: Cleanup DB on destroy and reset TrieDB before catchupWithSnapshot (#1898)
## Motivation Cleanup the DB directory on destroy and also reset the trieDB when we attempt to catchup sync from snapshot ## 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) - [ ] 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 improving database cleanup and synchronization in the `@farcaster/hubble` module. ### Detailed summary - Increased `DEFAULT_CATCHUP_SYNC_SNAPSHOT_MESSAGE_LIMIT` to 10,000,000 - Added directory cleanup after destroying DB in `rocksdb.rs` - Improved handling of DB cleanup and synchronization in `hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
5ca5a4a52d |
Create and gossip bundles (#1888)
## Motivation Gossip MessageBundles instead of individual messages ## Change Summary - The feature is in, but it is not turned on yet. It can be % rolled out via network config ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces gossip MessageBundles, adds `mergeMany` method, refactors message handling, and updates network configuration handling. ### Detailed summary - Added gossip `MessageBundle` in `gossip.proto` - Implemented `mergeMany` method in Rust functions - Refactored message handling in various files - Updated network configuration handling > The following files were skipped due to too many changes: `apps/hubble/src/network/p2p/bundleCreator.ts`, `apps/hubble/src/storage/stores/rustStoreBase.ts`, `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/network/p2p/gossipNode.ts`, `apps/hubble/src/storage/stores/castStore.test.ts`, `apps/hubble/src/storage/engine/index.test.ts`, `apps/hubble/src/test/e2e/hubbleNetwork.test.ts`, `apps/hubble/src/network/p2p/bundleCreator.test.ts`, `packages/hub-web/src/generated/gossip.ts`, `packages/hub-nodejs/src/generated/gossip.ts`, `packages/core/src/protobufs/generated/gossip.ts`, `apps/hubble/src/storage/stores/castStoreBundle.test.ts`, `apps/hubble/src/test/e2e/gossipNetworkBundle.test.ts`, `apps/hubble/src/storage/engine/index.ts`, `apps/hubble/src/network/p2p/gossipNodeWorker.ts`, `apps/hubble/src/network/utils/networkConfig.test.ts`, `apps/hubble/src/hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
86566b1525 |
tests: Cleanup after tests (#1899)
## Motivation Cleanup properly after tests ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates test cleanup procedures and improves resource management in the `hubble` app. ### Detailed summary - Updated test cleanup from `afterAll` to `afterEach` - Improved resource handling in `hubbleNetwork.test.ts` and `hubbleStartup.test.ts` - Added resource cleanup in `rocksdb.rs` test module > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
ce3f424102 |
perf: Use threadpool for getMany (#1896)
## Motivation Use the thread pool to `getMany`, since it doesn't block the main thread. ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR improves performance by utilizing a threadpool for fetching multiple values in `rocksdb.rs`. ### Detailed summary - Utilizes a threadpool to fetch multiple values in `rocksdb.rs` - Restructures code to use threadpool for better performance - Updates promise handling for asynchronous execution > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
36191e5a8d |
chore: update catchup sync with snapshot default to true (#1895)
## 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 - [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 catchup sync with snapshot feature in the `@farcaster/hubble` package to default to true. ### Detailed summary - Updated `catchupSyncWithSnapshot` default value to `true` in `defaultConfig.ts` - Updated help text for `--catchup-sync-with-snapshot` option in `cli.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
7ee519cb61 |
fix(shuttle): Fix module import issue (#1894)
## 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 - [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 package version to `0.1.5`, fixes module import issues, and refactors file structure and imports. ### Detailed summary - Updated package version to `0.1.5` - Fixed module import issue - Refactored file structure and imports - Updated `tsconfig.json` files - Updated `package.json` dependencies and scripts - Updated file paths for imports in various files > The following files were skipped due to too many changes: `packages/hub-shuttle/src/example-app/yarn.lock` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-shuttle@0.1.5 |
||
|
|
c72bf8f92b |
fix(shuttle): fix interfaces export (#1892)
## Motivation Fix import bug ## 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 to `0.1.4`, fixes an issue with interfaces import, and improves logging in the `hub-shuttle` package. ### Detailed summary - Updated package version to `0.1.4` - Fixed interfaces import issue - Improved logging functionality in message processing > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-shuttle@0.1.4 |
||
|
|
d87e370d66 |
feat(shuttle): Refactor message reconciliation to use function (#1887)
## Motivation Use a separate function instead of message handler for reconciliation. ## 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/hub-shuttle@0.1.3 |
||
|
|
28e9c0147b |
chore: Release v1.11.5 (#1886)
## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the versions of `@farcaster/hubble` and `@farcaster/hub-shuttle`, along with various fixes and performance improvements in the codebase. ### Detailed summary - Updated `@farcaster/hubble` version to `1.11.5` - Updated `@farcaster/hub-shuttle` version to `0.1.2` - Various fixes and performance improvements in `@farcaster/hubble`: - Added opt-out diagnostics reporting feature - Added L2_RPC_AUTHORIZATION_HEADER environment variable > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hubble@1.11.5 @farcaster/hub-shuttle@0.1.2 |
||
|
|
4fc41e1bdc |
perf: Use threadpool while pruning old hub events (#1885)
## Motivation Use the threadpool while pruning old hub events ## 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) - [ ] 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 fixing and optimizing hub events pruning in a threadpool. ### Detailed summary - Added `rsDbDeleteAllKeysInRange` function in `rustfunctions.ts` - Updated `storeEventHandler.ts` to use `deleteAllKeysInRange` - Modified `package.json` to change test concurrency to 2 - Updated `utils.rs` and `rocksdb.rs` for iterator options and key deletion functionality > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
436139f50c |
feat: Opt Out Hub Diagnostics (#1869)
## Motivation - Hub issues can be difficult to troubleshoot because they are part of decentralized network - There is no guarantee subtle edge cases will be surfaced in timely manner ## Change Summary - Add support for opt-out diagnostics reporter. Diagnostics are used to troubleshoot user issues and improve health of the network. No sensitive information is shared. - Add `--opt-out-diagnostics` flag. If `--opt-out-diagnostic true`, no errors will be reported to the Farcaster foundation team - Add environment variable `L2_RPC_AUTHORIZATION_HEADER` to support L2 RPC URLs where authorization header is required for event queries ## 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 opt-out diagnostics reporting and a diagnostic report URL feature to the Farcaster Hub. ### Detailed summary - Added opt-out diagnostics reporting feature - Introduced a diagnostic report URL option - Updated CLI flags and environment variables - Implemented diagnostic reporting functionality - Refactored diagnostic reporting logic into a separate file > The following files were skipped due to too many changes: `apps/hubble/src/eth/l2EventsProvider.ts`, `apps/hubble/src/utils/diagnosticReportWorker.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
2dcb3e802a |
fix: Change out-of-order warning to statsd (#1884)
## Motivation Instead of logging out-of-order warnings, change them to statsd metric ## 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) - [ ] 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 `hubble` app to fix an out-of-order warning by replacing it with a statsd increment call. ### Detailed summary - Changed out-of-order warning to statsd increment call in `rpc/server.ts` of `hubble` app. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
c838795d88 |
perf: Use threadpool for grpc queries (#1882)
## Motivation Some grpc queries were being executed in the main thread, and so when there was a lot of queries, the main thread would get locked up, causing the grpc health check to sometimes fail because the main thread didn't respond in time. This PR offloads some of the work of the queries, so as long as the server is healthy, it can immediately respond to healthchecks. In addition, this PR allows the servers to serve more clients/queries. ## 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) <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to improve performance by running long gRPC queries in a threadpool. ### Detailed summary - Added `deferred_settle_messages` function to handle settling promises with messages - Moved gRPC query handling to a threadpool for improved performance > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
d90b127dec |
perf: Support multiple validation workers (#1880)
## Motivation Support multiple validation workers so that we can validate messages in parallel. This is not really used yet, but will be once we start merging bundles. ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR enhances performance by enabling multiple validation workers in the Hubble app. ### Detailed summary - Added support for multiple validation workers in the Hubble app for improved performance. - Refactored validation worker handling to utilize an array of workers. - Updated interfaces and types related to validation workers and messages. - Improved error handling and response structure in validation worker messages. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
ab71a53bbd |
perf: LRU cache for activeSigner and IdRegistry (#1881)
## Motivation Every validateMessage gets the IdRegistry event and Active Signer. While we were caching signers, we weren't caching the immutable IdRegistry event, which was causing 2 DB gets per validateMessage. Cache both these in a new LRUCache ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on improving performance by adding an LRU Cache for active signers and ID registry events. ### Detailed summary - Added LRU Cache implementation for caching active signers and ID registry events - Updated cache clearing methods in the OnChainEventStore class - Implemented cache retrieval logic in OnChainEventStore methods for active signers and ID registry events - Added tests for the LRU Cache implementation in the `lruCache.test.ts` file > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
b069d1e9f4 |
fix: Adjust nightly validateOrRevoke job time to run earlier (#1878)
## Motivation Adjust the nightly job to run ~4 hours earlier so it finishes before morning peak traffic ## 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) - [ ] 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 adjusts the time for the nightly `validateOrRevokeMessagesJob` to run earlier in the Hubble app. ### Detailed summary - Changed the cron time for `validateOrRevokeMessagesJob` to run at 8:10 UTC. - Removed unnecessary `Date.now()` usage in `index.ts`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
cdfcbce36e |
chore(deps): bump h2 from 0.3.24 to 0.3.26 in /apps/hubble/src/addon (#1871)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.24 to 0.3.26. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/releases">h2's releases</a>.</em></p> <blockquote> <h2>v0.3.26</h2> <h2>What's Changed</h2> <ul> <li>Limit number of CONTINUATION frames for misbehaving connections.</li> </ul> <p>See <a href="https://seanmonstar.com/blog/hyper-http2-continuation-flood/">https://seanmonstar.com/blog/hyper-http2-continuation-flood/</a> for more info.</p> <h2>v0.3.25</h2> <h2>What's Changed</h2> <ul> <li>perf: optimize header list size calculations by <a href="https://github.com/Noah-Kennedy"><code>@Noah-Kennedy</code></a> in <a href="https://redirect.github.com/hyperium/h2/pull/750">hyperium/h2#750</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/hyperium/h2/compare/v0.3.24...v0.3.25">https://github.com/hyperium/h2/compare/v0.3.24...v0.3.25</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md">h2's changelog</a>.</em></p> <blockquote> <h1>0.3.26 (April 3, 2024)</h1> <ul> <li>Limit number of CONTINUATION frames for misbehaving connections.</li> </ul> <h1>0.3.25 (March 15, 2024)</h1> <ul> <li>Improve performance decoding many headers.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
7f4ebe6986 |
chore(deps): bump undici from 5.28.3 to 5.28.4 in /packages/hub-nodejs/examples/contract-signatures (#1866)
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nodejs/undici/releases">undici's releases</a>.</em></p> <blockquote> <h2>v5.28.4</h2> <h2>⚠️ Security Release ⚠️</h2> <ul> <li>Fixes <a href="https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7">https://github.com/nodejs/undici/security/advisories/GHSA-m4v8-wqvr-p9f7</a> CVE-2024-30260</li> <li>Fixes <a href="https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672">https://github.com/nodejs/undici/security/advisories/GHSA-9qxr-qj54-h672</a> CVE-2024-30261</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4">https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
a7e32c9e06 |
chore(deps): bump h2 from 0.3.24 to 0.3.26 in /packages/hub-web/examples/rust-submitmessage (#1870)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.24 to 0.3.26. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/releases">h2's releases</a>.</em></p> <blockquote> <h2>v0.3.26</h2> <h2>What's Changed</h2> <ul> <li>Limit number of CONTINUATION frames for misbehaving connections.</li> </ul> <p>See <a href="https://seanmonstar.com/blog/hyper-http2-continuation-flood/">https://seanmonstar.com/blog/hyper-http2-continuation-flood/</a> for more info.</p> <h2>v0.3.25</h2> <h2>What's Changed</h2> <ul> <li>perf: optimize header list size calculations by <a href="https://github.com/Noah-Kennedy"><code>@Noah-Kennedy</code></a> in <a href="https://redirect.github.com/hyperium/h2/pull/750">hyperium/h2#750</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/hyperium/h2/compare/v0.3.24...v0.3.25">https://github.com/hyperium/h2/compare/v0.3.24...v0.3.25</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md">h2's changelog</a>.</em></p> <blockquote> <h1>0.3.26 (April 3, 2024)</h1> <ul> <li>Limit number of CONTINUATION frames for misbehaving connections.</li> </ul> <h1>0.3.25 (March 15, 2024)</h1> <ul> <li>Improve performance decoding many headers.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
86cfa4f551 | fix: add missing db and redis exports to hub-shuttle (#1876) | ||
|
|
5282c73049 | fix: add support for windows file paths in hub-shuttle example app (#1877) | ||
|
|
a03c7bd7ae |
fix: Update hub-shuttle exports (#1875)
## Motivation Fix missing exports ## 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 the package version to `0.1.1`, fix exports, and adjust file paths in `hub-shuttle`. ### Detailed summary - Updated package version to `0.1.1` - Fixed exports in `hub-shuttle/src/index.ts` - Adjusted file paths in `hub-shuttle/package.json` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-shuttle@0.1.1 |
||
|
|
d523d92e2b |
chore: release hub-shuttle (#1874)
## Motivation Release hub-shuttle 0.1 ## 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-shuttle` to `0.1.0`, marking the initial release of the package. ### Detailed summary - Updated version to `0.1.0` for initial release of hub-shuttle package > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->@farcaster/hub-shuttle@0.1.0 |
||
|
|
31d54545ca |
Initial version of hub-shuttle (#1873)
## Motivation Provide shared set of primitives to move data from hub to databases ## 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) - [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 the initial release of `hub-shuttle`. ### Detailed summary - Exported interfaces related to shuttle - Added `getHubClient` function to handle hub connections - Updated `tsconfig.json` and `tsup.config.ts` for TypeScript compilation - Added logging functionality with `pino` - Configured Jest for testing - Updated CI workflow for testing with PostgreSQL and Redis - Added environment variables handling in `env.ts` - Implemented message handling interfaces and Redis client - Added Docker Compose configuration for PostgreSQL and Redis - Updated package.json with dependencies and scripts - Added README with architecture overview and usage instructions - Implemented migration module for database migrations > The following files were skipped due to too many changes: `packages/hub-shuttle/src/app/migration.ts`, `packages/hub-shuttle/src/shuttle.integration.test.ts`, `packages/hub-shuttle/src/shuttle/messageProcessor.ts`, `packages/hub-shuttle/src/shuttle/hubSubscriber.ts`, `yarn.lock`, `packages/hub-shuttle/src/app/app.ts`, `packages/hub-shuttle/src/app/migrations/001_initial_migration.ts`, `packages/hub-shuttle/src/shuttle/messageReconciliation.ts`, `packages/hub-shuttle/src/shuttle/db.ts`, `packages/hub-shuttle/src/utils.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
c46790ac2c |
fix: Calculate sleep time correctly for throttling validateOrRevoke job (#1872)
## Motivation Bugfix to calculate throttling speed correctly for validate or revoke job ## 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) - [ ] 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 calculation of sleep time for throttling in the `ValidateOrRevokeMessagesJob` to ensure accurate job scheduling. ### Detailed summary - Updated `TIME_SCHEDULED_PER_FID_MS` calculation for accurate job timing - Adjusted sleep time calculation based on fid processing progress > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
58b4913822 |
perf: Use countKeysAtPrefix for storage cache counts (#1868)
## Motivation Instead of using a `forEachIteratorAtPrefix` which incurs FFI + JS object creation + GC overhead, directly count the keys of a prefix in rust to speed up StorageCache calculations ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on improving performance in the `@farcaster/hubble` module by optimizing key counting operations. ### Detailed summary - Introduced `rsDbCountKeysAtPrefix` function to directly count keys at a prefix in Rust - Added `dbCountKeysAtPrefix` function in Rust to count keys with a given prefix - Updated `countKeysAtPrefix` method in TypeScript to utilize the new Rust functions - Refactored key counting operations for efficiency > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
fa6812b415 |
docs: Update legacy browser warning (#1865)
## Motivation Browser support was added via https://github.com/farcasterxyz/hub-monorepo/issues/573 but this documentation was not updated to reflex those changes ## Change Summary See above ^ ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on updating the README.md file in the hub-nodejs package. It includes changes related to error handling, required packages, and support for both Nodejs and browser environments. ### Detailed summary - Updated support information for Nodejs and browser environments. - Improved error handling with a monadic pattern. - Clarified the required packages for creating new messages. - Encoded fixed length data in byte formats for consistency. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
651ba7ac22 |
fix: Throttle storageCache population (#1864)
## Motivation When a hub starts up, it attempts to pre-populate the storage cache. This is slow, since it has to basically scan every message. ## Change Summary - Slow down the pre-population - Don't do too many scans in parallel. ## 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 storage cache prepopulation throttling and adding memory usage logging with optional heap dumps. ### Detailed summary - Fixed throttle issue in storage cache prepopulation - Added memory usage logging in LibP2PNode and Hub - Implemented optional heap dumps for memory analysis > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
bbc9448789 |
fix: Log gossipnode worker heap stats (#1861)
## Motivation Log heap usage of main and gossip worker thread every 60s ## 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 optimizes memory usage logging in the Hubble app by adding interval-based statsd logging and updating logger messages. ### Detailed summary - Added interval-based memory usage logging to `gossipNodeWorker.ts` and `hubble.ts` - Updated logger messages in `snapshot.ts` and `gossipContactInfoJob.ts` - Modified data type in `merkle_trie.rs` for memory optimization > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
1a95ad9ebe |
chore: Cleanup snapshot generation (#1859)
## Motivation Cleanup snapshot generation and do tar + gz in single step ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on refactoring the `RocksDB` module in `rocksdb.rs` by removing the `js_create_tar_gzip` function and enhancing the `create_tar_gzip` function for better file path handling and error management. ### Detailed summary - Removed `js_create_tar_gzip` function - Improved `create_tar_gzip` to handle file paths more effectively - Updated logging messages for snapshot backups > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
0728546f24 |
fix: Online snapshot using rocksdb snapshot iterators (#1858)
## Motivation Do an online backup/snapshot using rocksdb snapshot iterators instead of restarting the hub. ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates the `@farcaster/hubble` package with a fix for creating online snapshots using snapshot iterators. ### Detailed summary - Added `pub` visibility to a constant in `merkle_trie.rs` - Added a new function `internal_db_error` in `store.rs` - Updated dependencies in `Cargo.toml` - Removed functions related to tar backup and gzip in `lib.rs` - Added a new function `dbSnapshotBackup` in `lib.rs` - Updated functions related to tar backup and gzip in `rustfunctions.ts` - Added a new function `rsDbSnapshotBackup` in `dbSnapshotBackupJob.ts` - Added new imports and functions related to snapshot backup job in `dbSnapshotBackupJob.ts` - Updated `Cargo.lock` to include the `flate2` dependency > The following files were skipped due to too many changes: `apps/hubble/src/addon/Cargo.lock`, `apps/hubble/src/hubble.ts`, `apps/hubble/src/addon/src/db/rocksdb.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
76f55e2e42 |
Update Client.md (#1854)
Fix not working api call ## 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 a parameter key in a function call from `castId` to `parentCastId` for clarity and consistency. ### Detailed summary - Updated parameter key from `castId` to `parentCastId` in `getCastsByParent` function call for clarity. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
86e972ec00 |
logs: Add --log-individual-messages to log indivdual submitMessage (#1856)
## Motivation `--log-individual-messages` will log each individual submitMessage status. If disabled (default) will log one line per second with aggregate status ## 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 This PR adds a new feature to log individual submitMessage statuses in the Hubble application. ### Detailed summary - Added `--log-individual-messages` option to log each submitMessage status - Created `SubmitMessageSuccessLogCache` class to handle logging of individual submitMessage statuses - Updated logging logic in `Hub` class based on the new option > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |
||
|
|
05cb33974f |
perf: Use write cache for TrieDB (#1855)
## Motivation Cache TrieDB writes into batches ## Change Summary - Every update to the trie writes a lot of the same nodes (eg., the root node is updated each time). - Cache the writes, so we don't keep writing the same nodes over and over again - Flush to DB on stop or when unloading children. ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on improving performance by caching trieDB writes in the `@farcaster/hubble` package. ### Detailed summary - Introduced a `commitToDb` method in `MerkleTrie` to cache trieDB writes - Added logging for initializing Merkle Trie - Modified `RocksDbTransactionBatch` to use `HashMap` for batch operations - Implemented merging of transaction batches in `RocksDbTransactionBatch` - Updated the `stop` method in `MerkleTrie` to unload data to disk before closing - Added tests for merging transaction batches in `RocksDbTransactionBatch` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Wasif Iqbal <Wazzymandias@users.noreply.github.com> |
||
|
|
5e04c0a7ed |
perf: Move merkle trie to Rust (#1853)
## Motivation Move the sync merkle trie to rust ## Change Summary - Merkle trie is now in rust - Remove merkletrieworker ## 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) <!-- start pr-codex --> --- ## PR-Codex overview This PR focuses on migrating the merkle trie to Rust for improved performance. ### Detailed summary - Moved merkle trie to Rust - Migrated trie node data to TrieDB - Updated various test files to start the sync engine before running tests - Updated sleep timeout in crypto utils - Renamed `create_cast_store` function to `js_create_cast_store` in `cast_store.rs` > The following files were skipped due to too many changes: `apps/hubble/src/storage/db/migrations/5.fnameSyncIds.test.ts`, `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/storage/stores/linkStore.test.ts`, `apps/hubble/src/rpc/test/syncService.test.ts`, `apps/hubble/src/rpc/test/httpServer.test.ts`, `apps/hubble/src/addon/src/lib.rs`, `apps/hubble/src/network/sync/multiPeerSyncEngine.test.ts`, `apps/hubble/src/addon/src/store/utils.rs`, `apps/hubble/src/addon/src/trie/trie_node_tests.rs`, `apps/hubble/src/network/sync/syncEngine.test.ts`, `apps/hubble/src/rustfunctions.ts`, `apps/hubble/src/network/sync/syncEngine.ts`, `apps/hubble/src/addon/src/trie/trie_node.rs`, `apps/hubble/src/network/sync/merkleTrie.test.ts`, `apps/hubble/src/network/sync/merkleTrie.ts`, `apps/hubble/src/addon/src/trie/merkle_trie.rs` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Wasif Iqbal <Wazzymandias@users.noreply.github.com> |
||
|
|
2bccc165c1 |
chore(hubble): release 1.11.4 (#1852)
## Motivation - Release hubble 1.11.4 ## Change Summary ### Patch Changes -@farcaster/hubble@1.11.4 |
||
|
|
ccd4d96a9f |
fix(hubble): reduce hub bandwidth with floodsub toggle (#1851)
## Motivation - Hub bandwidth usage has increased to around 400-500 KiB per second, or 40-50 GiB per day - Needless bandwidth utilization can increase resource requirements to run Hub ## Context - The default settings for our libp2p library publish to floodsub and subscribe to floodsub topic - Floodsub is a p2p protocol where every message a node receives gets forwarded to all known peers in the network - While there are benefits to Floodsub, it has significant network amplification factors and hits scalability limits as the number of hubs in the network grows ## Change Summary - By default, disable `floodPublish` and `fallbackToFloodsub` - Expose environment variables `GOSSIPSUB_FALLBACK_TO_FLOODSUB` and `GOSSIPSUB_FLOOD_PUBLISH` to toggle the values for gossipsub p2p ## 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 reduces hub bandwidth in the `hubble` app by adding toggles for `GOSSIPSUB_FALLBACK_TO_FLOODSUB` and `GOSSIPSUB_FLOOD_PUBLISH`. ### Detailed summary - Added toggles for `GOSSIPSUB_FALLBACK_TO_FLOODSUB` and `GOSSIPSUB_FLOOD_PUBLISH` in `gossipNode.ts` - Refactored callback handling in `server.ts` - Added environment variable checks for `fallbackToFloodsub` and `floodPublish` in `gossipNodeWorker.ts` - Added stats tracking for message sizes in `gossipNodeWorker.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> |