Skip to content

Conversation

@aaronmgdr
Copy link
Contributor

@aaronmgdr aaronmgdr commented Dec 19, 2025

Description

Command could hang when there were rpc providers with unresponsive metadata urls. Set a max wait time via promise.race and setTimeout so that the command can resolve

Related issues


PR-Codex overview

This PR focuses on enhancing the fetching of community RPC provider metadata URLs by introducing a maximum wait time of 6 seconds to prevent indefinite blocking.

Detailed summary

  • Added a timeout mechanism for fetching metadata using Promise.race.
  • If the fetch operation exceeds 6 seconds, it throws a timeout error.
  • The logic for retrieving the RPC URL remains unchanged.

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

@aaronmgdr aaronmgdr requested a review from a team as a code owner December 19, 2025 16:31
@changeset-bot
Copy link

changeset-bot bot commented Dec 19, 2025

🦋 Changeset detected

Latest commit: 232261d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@celo/celocli Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@aaronmgdr
Copy link
Contributor Author

Open to suggestions on the max time being to short.

@aaronmgdr aaronmgdr changed the title Aaronmgdr/metadata timeouts rpc url timeouts Dec 19, 2025
@aaronmgdr aaronmgdr changed the title rpc url timeouts fix rpc url timeouts Dec 19, 2025
@codecov
Copy link

codecov bot commented Dec 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.63%. Comparing base (fad32ac) to head (232261d).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #751   +/-   ##
=======================================
  Coverage   69.63%   69.63%           
=======================================
  Files         150      150           
  Lines        7071     7071           
  Branches     1151     1159    +8     
=======================================
  Hits         4924     4924           
- Misses       2037     2060   +23     
+ Partials      110       87   -23     
Components Coverage Δ
celocli ∅ <ø> (∅)
sdk 69.15% <ø> (ø)
wallets 73.14% <ø> (ø)
viem-sdks 94.15% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 19, 2025

size-limit report 📦

Path Size
require('@celo/actions') (cjs) 98.85 KB (0%)
import * from '@celo/actions' (esm) 23.55 KB (0%)
import { resolveAddress } from '@celo/actions' (esm) 23.49 KB (0%)
import { getGasPriceOnCelo } from '@celo/actions' (esm) 73 B (0%)
import { getAccountsContract } from '@celo/actions/contracts/accounts' (esm) 46.11 KB (0%)
import * from '@celo/actions/staking' (esm) 50.66 KB (0%)

@aaronmgdr aaronmgdr force-pushed the aaronmgdr/metadata-timeouts branch from 1144b83 to 8ba97f2 Compare January 6, 2026 14:26
@aaronmgdr aaronmgdr enabled auto-merge (squash) January 6, 2026 14:26
@aaronmgdr
Copy link
Contributor Author

should be mergable after #756

@aaronmgdr aaronmgdr merged commit 43f1e89 into master Jan 7, 2026
26 of 39 checks passed
@aaronmgdr aaronmgdr deleted the aaronmgdr/metadata-timeouts branch January 7, 2026 13:32
@github-actions github-actions bot mentioned this pull request Jan 7, 2026
aaronmgdr pushed a commit that referenced this pull request Jan 7, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to master, this PR
will be updated.


# Releases
## @celo/celocli@8.0.3

### Patch Changes

- [#751](#751)
[`43f1e89`](43f1e89)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Set a max wait time
when fetching community rpc provider metadata urls.

- [#758](#758)
[`f2eaa3a`](f2eaa3a)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - update
celo-ledger-token-signer to fix transfer:dollars and support new mento
token names

- [#756](#756)
[`fad32ac`](fad32ac)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Update minimum
Node.js version requirement to >=20 and test on Node 24

- Updated dependencies
\[[`f2eaa3a`](f2eaa3a),
[`fad32ac`](fad32ac)]:
    -   @celo/wallet-ledger@8.0.3
    -   @celo/viem-account-ledger@1.2.3
    -   @celo/wallet-hsm-azure@8.0.3
    -   @celo/wallet-local@8.0.3

## @celo/dev-utils@0.1.3

### Patch Changes

- [#756](#756)
[`fad32ac`](fad32ac)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Update minimum
Node.js version requirement to >=20

## @celo/wallet-base@8.0.3

### Patch Changes

- [#756](#756)
[`fad32ac`](fad32ac)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - fix access of
rawvalues

## @celo/wallet-hsm-aws@8.0.3

### Patch Changes

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3
    -   @celo/wallet-hsm@8.0.3
    -   @celo/wallet-remote@8.0.3

## @celo/wallet-hsm-azure@8.0.3

### Patch Changes

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3
    -   @celo/wallet-hsm@8.0.3
    -   @celo/wallet-remote@8.0.3

## @celo/wallet-hsm-gcp@8.0.3

### Patch Changes

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3
    -   @celo/wallet-hsm@8.0.3
    -   @celo/wallet-remote@8.0.3

## @celo/wallet-ledger@8.0.3

### Patch Changes

- [#758](#758)
[`f2eaa3a`](f2eaa3a)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - update
celo-ledger-token-signer to fix transfer:dollars and support new mento
token names

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3
    -   @celo/wallet-remote@8.0.3

## @celo/wallet-local@8.0.3

### Patch Changes

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3

## @celo/wallet-remote@8.0.3

### Patch Changes

- Updated dependencies
\[[`fad32ac`](fad32ac)]:
    -   @celo/wallet-base@8.0.3

## @celo/viem-account-ledger@1.2.3

### Patch Changes

- [#758](#758)
[`f2eaa3a`](f2eaa3a)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - update
celo-ledger-token-signer to fix transfer:dollars and support new mento
token names

- [#756](#756)
[`fad32ac`](fad32ac)
Thanks [@aaronmgdr](https://github.com/aaronmgdr)! - Update minimum
Node.js version requirement from >=18 to >=20

## @celo/wallet-hsm@8.0.3




<!-- start pr-codex -->

---

## PR-Codex overview
This PR focuses on updating several Celo packages to version `8.0.3` and
`1.2.3`, along with modifying documentation and changelogs to reflect
these updates. It also includes the removal of outdated changeset files.

### Detailed summary
- Removed multiple changeset files.
- Updated version for `@celo/wallet-hsm`, `@celo/wallet-base`,
`@celo/wallet-local`, `@celo/wallet-remote`, `@celo/wallet-hsm-aws`,
`@celo/wallet-hsm-gcp`, and `@celo/wallet-hsm-azure` to `8.0.3`.
- Updated version for `@celo/viem-account-ledger` to `1.2.3`.
- Updated changelogs for various packages reflecting new versions.
- Modified documentation links and references to the new versions in
multiple files.

> The following files were skipped due to too many changes:
`docs/command-line-interface/validatorgroup.md`,
`docs/command-line-interface/lockedcelo.md`, `yarn.lock`,
`docs/command-line-interface/governance.md`,
`docs/command-line-interface/releasecelo.md`,
`docs/command-line-interface/account.md`

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

<!-- end pr-codex -->

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

There is no timeout on retrieving metadata JSON and commands like validator:rpc-urls hang indefinitely

3 participants