Skip to content

fix: a null current round takes down the whole home page payload #745

Description

@rickstaa

getOrchestrators (lib/api/ssr.ts:84-107) passes the subgraph's current round straight into the orchestrators query without checking it:

variables: {
  currentRound: protocolResponse?.data?.protocol?.currentRound?.id,
  currentRoundString: protocolResponse?.data?.protocol?.currentRound?.id,
}

When the subgraph returns no protocol, that is null, and queries/orchestrators.graphql:12 sends activationRound_lte: null. Indexers reject it:

bad indexers: {0x…: BadResponse(unattestable response: Store error:
unsupported filter `<=` for value `null`), …}

getOrchestrators is the first call in the try block of pages/index.tsx:680-728, so orchestrators, events, protocol and gateways all fail together and the page falls back to hadError.

Two problems: the query is knowingly invalid and burns gateway credits, and the error message points at indexer health rather than the actual cause.

Fix

Guard before querying — fail fast with a clear message, or skip the filter — so a missing round cannot reach the gateway.

Related

queries/orchestrators.graphql is the only query with a <= filter bound to a variable, so this is the sole path that produces that error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions