Hub Connection Timeout Revolutionized: Shuttle's Message Reconciliation Gets a Major Boost!
Enhanced Parameterization Promises Unprecedented Flexibility and Reliability for Seamless Communication Amidst Hub Challenges
Commit Details:
feat(shuttle): Parametrize hub connection timeouts for HubSubscriber & MessageReconciliation (#2367) ## Why is this change needed? Running the latest version of Shuttle with its fixed 5000ms hub connection timeout for reconciliation has resulted in a lot of timeout failures even against a seemingly healthy hub. I've increased the default connection timeout of MessageReconciliation from 5000ms to 30000ms to match HubSubscriber's and parameterized both. ## 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. <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces parameterized connection timeouts for the `HubSubscriber` and `MessageReconciliation` classes, allowing for more flexible timeout settings in handling unresponsive connections. ### Detailed summary - Added `connectionTimeout` parameter to the constructors of `MessageReconciliation` and `BaseHubSubscriber`, defaulting to 30000 milliseconds. - Updated timeout handling in `MessageReconciliation` to use `connectionTimeout`. - Adjusted timeout in tests to account for new configurable timeout settings. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->