Skip to content

Conversation

lidel
Copy link
Member

@lidel lidel commented Sep 1, 2025

This expands on foundations from #1015:

  • add DiagnosticServiceURL config for CID retrievability checks
  • show "Check CID retrievability" button on 504 errors
  • add "Retry" button on all error pages
  • track and display failed peer IDs in timeout messages
  • indicate when timeout occurs on sub-resource vs root CID
  • improve error page styling and button UX
  • show peerids when we discovered them but failed to connect to them because they are offline DHT peer (found peerid but no addrs, or cant connect to them)

Demo

This PR not only shows the PeerID of "offline" peer found as a provider on DHT, but also has two buttons to Refresh or Debug:

image

- add DiagnosticServiceURL config for CID retrievability checks
- show "Check CID retrievability" button on 504 errors
- add "Retry" button on all error pages
- track and display failed peer IDs in timeout messages
- indicate when timeout occurs on sub-resource vs root CID
- improve error page styling and button UX
Copy link

codecov bot commented Sep 1, 2025

Codecov Report

❌ Patch coverage is 55.00000% with 36 lines in your changes missing coverage. Please review.
✅ Project coverage is 60.49%. Comparing base (8b6b1d2) to head (00f5b0a).

Files with missing lines Patch % Lines
gateway/errors.go 40.00% 11 Missing and 1 partial ⚠️
retrieval/state.go 73.91% 12 Missing ⚠️
gateway/backend_blocks.go 25.00% 5 Missing and 1 partial ⚠️
gateway/backend_car.go 0.00% 4 Missing and 1 partial ⚠️
...uting/providerquerymanager/providerquerymanager.go 0.00% 1 Missing ⚠️

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1023      +/-   ##
==========================================
- Coverage   60.58%   60.49%   -0.09%     
==========================================
  Files         268      268              
  Lines       33409    33471      +62     
==========================================
+ Hits        20240    20248       +8     
- Misses      11496    11544      +48     
- Partials     1673     1679       +6     
Files with missing lines Coverage Δ
gateway/assets/assets.go 77.52% <ø> (ø)
gateway/gateway.go 83.54% <ø> (ø)
...uting/providerquerymanager/providerquerymanager.go 82.12% <0.00%> (-0.25%) ⬇️
gateway/backend_car.go 48.37% <0.00%> (-0.28%) ⬇️
gateway/backend_blocks.go 40.06% <25.00%> (-0.19%) ⬇️
gateway/errors.go 80.00% <40.00%> (-6.02%) ⬇️
retrieval/state.go 82.75% <73.91%> (-9.35%) ⬇️

... and 7 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

- add foundProviders tracking to capture all discovered providers
- show peer IDs when providers are unreachable (e.g., offline with no addresses)
- refactor state.go to be more DRY with helper methods
- rename MaxFailedProvidersToTrack to MaxProvidersSampleSize for clarity
- add tests for provider tracking and summary messages

fixes missing peer IDs in gateway timeout errors when providers cannot be reached
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.

1 participant