Skip to content

PE-9130: Point GraphQL at turbo-gateway.com directly with Goldsky fallback - #2164

Closed
vilenarios wants to merge 2 commits into
devfrom
fix/gql-turbo-gateway
Closed

PE-9130: Point GraphQL at turbo-gateway.com directly with Goldsky fallback#2164
vilenarios wants to merge 2 commits into
devfrom
fix/gql-turbo-gateway

Conversation

@vilenarios

@vilenarios vilenarios commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Cuts the ardrive.net proxy hop out of the GraphQL path and hardens the fallback:

  • Primary GQL endpoint: https://turbo-gateway.com (was https://ardrive.net, which proxies to turbo-gateway anyway). During the 2026-07-08 incident the ardrive.net proxy pool returned 503s while turbo-gateway itself recovered independently — the proxy was a single point of failure adding no value on this path. Data requests already go to turbo-gateway directly.
  • configVersion 2 → 3 in all three flavors so existing users' locally-stored configs are replaced on next app load (stored configs only refresh on version bump).
  • Fallback endpoint: https://arweave-search.goldsky.com/graphql (was https://arweave.net/graphql, which proxies to Goldsky but rate-limits aggressively — probes got 429'd within a few requests).
  • Documents Goldsky's page-size hazard discovered during endpoint testing: first > 100 is silently clamped to 100 with hasNextPage falsely reporting false — a paginating client would silently truncate results. Fallback queries must stay ≤ 100/page (all current queries do; this matters for the planned page-size increase).

Verification

  • turbo-gateway.com/graphql serves the real sync query shape (owner + Drive-Id + block range, HEIGHT_ASC): 100 edges, correct hasNextPage.
  • arweave-search.goldsky.com/graphql: healthy, correct pagination at first: 100.
  • No test pins either endpoint URL; config JSONs validated.

Rollout note

Merging to dev → staging.ardrive.io picks this up via the staging config; production users get it at the next release. Users with stored configs migrate automatically via the version bump.

🤖 Generated with Claude Code

https://claude.ai/code/session_0172nfTRDj7wgnhs44Lg6mxC

Summary by CodeRabbit

  • Bug Fixes

    • Updated the default gateway and fallback GraphQL endpoint used by the app, improving request handling when the primary service is unavailable.
    • Bumped configuration versions across environments to keep settings aligned.
  • Chores

    • Tightened a UI package dependency version range to improve compatibility and reduce upgrade-related issues.

- switch defaultArweaveGatewayUrl from the ardrive.net proxy to
  turbo-gateway.com in all three flavors; ardrive.net proxies to
  turbo-gateway anyway and its proxy pool served 503s during the
  2026-07-08 outage, taking primary GraphQL down with it
- bump configVersion 2 -> 3 so existing users' stored configs are
  replaced with the new default on next load
- change the GraphQLRetry fallback from arweave.net/graphql to the
  Goldsky search index it proxies to (arweave-search.goldsky.com),
  avoiding arweave.net's aggressive rate limiting on the fallback path
- document Goldsky's page-size behavior: requests above 100 items are
  silently clamped with hasNextPage falsely reporting false, so fallback
  queries must never exceed 100 per page

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

Important

Review skipped

No new commits to review since the last review.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 5c4efcd5-6d6e-4c61-9727-34f9b4c8e4ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR bumps configVersion to 3 and changes defaultArweaveGatewayUrl to turbo-gateway.com across dev, prod, and staging configs. GraphQLRetry's default fallback endpoint switches to Goldsky's search index with updated documentation. The equatable dependency constraint in ardrive_ui is tightened to exclude 2.1.0.

Changes

Gateway and fallback endpoint updates

Layer / File(s) Summary
Config gateway URL and version bump
assets/config/dev.json, assets/config/prod.json, assets/config/staging.json
configVersion updated from 2 to 3 and defaultArweaveGatewayUrl changed from ardrive.net to turbo-gateway.com in all three environment configs.
GraphQL fallback endpoint and documentation
lib/utils/graphql_retry.dart
Default _fallbackGraphqlUrl changed from the arweave.net/graphql proxy to Goldsky's search index, with documentation updated to describe direct Goldsky usage and the 100-item page-size clamp.

Dependency constraint update

Layer / File(s) Summary
Equatable version pin
packages/ardrive_ui/pubspec.yaml
equatable constraint changed from ^2.0.5 to '>=2.0.5 <2.1.0', with comments explaining EquatableMixin deprecation and lockfile-related CI behavior.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • ardriveapp/ardrive-web#2129: Both PRs update the default Arweave gateway from https://ardrive.net to https://turbo-gateway.com in the same environment configuration files.
  • ardriveapp/ardrive-web#2132: Both PRs modify lib/utils/graphql_retry.dart's fallback endpoint behavior.
  • ardriveapp/ardrive-web#2123: Both PRs touch GraphQL endpoint handling, with the main PR changing the fallback URL and the retrieved PR fixing endpoint-update behavior.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: directing GraphQL to turbo-gateway.com with Goldsky fallback.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/gql-turbo-gateway

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- equatable 2.1.0 (released after the last green dev build) deprecates
  EquatableMixin, which data_table.dart uses; package lockfiles are not
  committed, so CI's per-package pub get floated to 2.1.0 and scr test
  failed on the analyze step for every PR and dev push
- the main app's committed lockfile resolves equatable 2.0.7, where
  Equatable cannot be used as a mixin, so migrating the code instead of
  pinning would break the app build; pin until both contexts can move to
  2.1.x together

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 84048cf):

https://ardrive-web--pr2164-fix-gql-turbo-gatewa-wuvvdt6k.web.app

(expires Thu, 16 Jul 2026 15:08:12 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: a224ebaee2f0939e7665e7630e7d3d6cd7d0f8b0

@vilenarios

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@vilenarios

Copy link
Copy Markdown
Collaborator Author

Consolidated into #2162 so all sync improvements can be tested on one preview build. Branch merged there commit-for-commit.

@vilenarios vilenarios closed this Jul 9, 2026
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