From f1f4aba42f866529b72e1ea228af36889c4f6672 Mon Sep 17 00:00:00 2001 From: Katerina Skroumpelou Date: Thu, 1 Oct 2026 18:33:46 +0300 Subject: [PATCH] docs: scope the write-retry claim to the built-in policy --- .../content/guides/api/automatic-retries-in-supabase-js.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/content/guides/api/automatic-retries-in-supabase-js.mdx b/apps/docs/content/guides/api/automatic-retries-in-supabase-js.mdx index f7aff4215d0..7de1b01a4cc 100644 --- a/apps/docs/content/guides/api/automatic-retries-in-supabase-js.mdx +++ b/apps/docs/content/guides/api/automatic-retries-in-supabase-js.mdx @@ -14,7 +14,7 @@ You should only enable retries if your requests fail with network errors (e.g. 5 Starting with `supabase-js` v2.102.0, PostgREST queries (`.from()`, `.rpc()`) include built-in automatic retries for transient errors. Retries are **enabled by default** and use exponential backoff. -`supabase-js` retries only idempotent HTTP methods: GET, HEAD, and OPTIONS. It doesn't retry POST, PATCH, PUT, or DELETE, so a write is never sent twice. For the methods it does retry, it retries on HTTP status codes 503 Service Unavailable and 520 Unknown Error, and on network failures. +`supabase-js` retries only idempotent HTTP methods: GET, HEAD, and OPTIONS. The built-in retry policy doesn't retry POST, PATCH, PUT, or DELETE. For the methods it does retry, it retries on HTTP status codes 503 Service Unavailable and 520 Unknown Error, and on network failures. Because `.rpc()` sends POST by default, RPC calls aren't retried. Pass `{ get: true }` or `{ head: true }` to send the call as GET or HEAD, which the built-in retries cover.