Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

parity(postgrest): add automatic retries for transient errors [from supabase-js]

Abierto
#243 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@Tr00d ya está trabajando en esto.

Desde el 1/7/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

parity

[!WARNING]
Auto-generated by AI — This issue was automatically created by an AI-based SDK parity analysis tool. It may not be applicable to this SDK or may already be implemented in a different form. Please use your best judgment before accepting or closing this issue.

SDK Parity: C# implementation needed

A change was made in supabase-js that needs to be implemented in this repository for SDK parity.

Reference Implementation (supabase-js)

What Changed

Idempotent requests (GET, HEAD, OPTIONS) that fail with network errors or HTTP 503/520 are automatically retried with exponential backoff. Default: 3 retries at 1s, 2s, 4s. A retry option disables retries per-query. A x-retry-count header is sent on retried requests.

Code Reference
const DEFAULT_MAX_RETRIES = 3
const RETRYABLE_STATUS_CODES = [503, 520]
const RETRYABLE_METHODS = ['GET', 'HEAD', 'OPTIONS']
const getRetryDelay = (attempt: number) => Math.min(1000 * 2 ** attempt, 30000)
// delays: 1s, 2s, 4s, ... up to 30s

Implementation Guidance

Expected API Surface (C#)
// Retries enabled by default for GET requests on 503/520
var result = await client.From<Message>().Get();

// Disable retries for a specific query
var result = await client.From<Message>().WithRetry(false).Get();
Key Behaviors to Match
  • Only retry GET/HEAD (idempotent methods)
  • Only retry on network errors and HTTP 503, 520
  • Exponential backoff: 1s, 2s, 4s delays (max 30s)
  • Default max 3 retries
  • Option to disable per-query (WithRetry(false) or similar)
  • Send x-retry-count: N header on retried requests
Files Likely Affected
  • Postgrest/Client.cs or Postgrest/Table.cs - add retry to HTTP request logic
  • Postgrest/QueryOptions.cs - add retry option

Acceptance Criteria

  • GET requests auto-retry on 503/520 with exponential backoff
  • Non-GET methods (POST, PATCH, DELETE) do NOT retry
  • Per-query option to disable retries
  • x-retry-count header sent on retried requests
  • Max 3 retries by default
  • Unit tests: retry behavior, non-retry methods, disable option

Context

  • supabase-js version: v2.101.0
  • Parity tracking: This issue was auto-generated by SDK parity analysis

Generated with Claude Code /sync-sdk-parity

Lenguaje dominante
C#
Estrellas
700
Forks
105
Merge medio
1 d 21 h
PR fusionados (30 d)
41

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de supabase/supabase-csharp

Todos los issues de supabase/supabase-csharp

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.