Skip to content

fix(cli): verify tries Filebase, Pinata, ipfs.io, dweb.link by default (3.1.1) - #270

Merged
M0nsxx merged 1 commit into
mainfrom
fix/cli-verify-default-gateways
Nov 7, 2026
Merged

M0nsxx merged 1 commit into
mainfrom
fix/cli-verify-default-gateways

Conversation

@Eras256

@Eras256 Eras256 commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

Why

With no --gateway, nirium verify only tried gateway.pinata.cloud. Pinata has our pins but often answers in 5-7s, and on 7 Nov a live npx nirium-cli@3.1.0 verify Qmb41zz... timed out at the 8s default: a healthy CID reported as not reachable. That's the exact example on nirium.xyz/docs.

#259 already fixed this for the verify-audit-cid Action (#185). The CLI never got the same default.

What

  • Default chain when no --gateway is passed: Filebase dedicated gateway, Pinata, ipfs.io, dweb.link. --gateway still replaces it.
  • Help text, README table and CHANGELOG say so.
  • New test checks the default order without touching the network (1ms timeout, so every request aborts before it leaves).
  • nirium-cli 3.1.0 -> 3.1.1.

Measured 7 Nov, two real receipt CIDs

Gateway Qmb41zz... QmVWZM1... (TIA)
nirium.myfilebase.com 200, 1.5s 200, 0.6s
gateway.pinata.cloud 200, 5.0s 200, 7.2s
ipfs.io 429 429
dweb.link 429 429

Tests

verify-retry-gateway + verify-hash-only: 25/25 locally. Full CLI suite on my Windows machine: 101/107; the 6 failures are stdin/TTY and local config-store tests (config set, serve, anchor --sign with no key) that fail the same way on main without this change. CI on Linux is the real check.

🤖 Generated with Claude Code

With no --gateway, `nirium verify` only tried gateway.pinata.cloud.
Pinata serves our pins but often takes 5-7s, and a live run on 7 Nov
timed out at the 8s default, so a healthy CID failed to verify.

The default is now the same chain the verify-audit-cid Action uses
since #259 (Filebase dedicated gateway, ipfs.io, dweb.link), with
Pinata second. Measured on 7 Nov against two real receipt CIDs:
Filebase 200 in 0.6-1.5s, Pinata 200 in 5-7s, ipfs.io and dweb.link
429. Passing --gateway still replaces the list.

Adds a test for the default order that never touches the network
(1ms timeout), and bumps nirium-cli to 3.1.1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Eras256
Eras256 requested a review from M0nsxx as a code owner November 7, 2026 19:29

@M0nsxx M0nsxx left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving. The CLI never got the default chain #259 gave the Action, so nirium verify with no --gateway depended on Pinata alone and timed out on a healthy CID. Filebase first, then Pinata, ipfs.io and dweb.link matches the gateway numbers in the description. --gateway still replaces the list, the new test checks the order without touching the network, and the 3.1.1 bump plus CHANGELOG entry are scoped to this one fix.

@M0nsxx
M0nsxx merged commit 011b0bc into main Nov 7, 2026
4 checks passed
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.

2 participants