From a761bd805a1c4f913729fa1c760e1808f024ae70 Mon Sep 17 00:00:00 2001 From: "Tewelde, Fethi (F.)" Date: Sun, 22 Jun 2025 02:33:16 +0200 Subject: [PATCH 1/2] Update error handling to capture all 4xx responses --- .../com/powersync/connector/supabase/SupabaseConnector.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt b/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt index 022df0c2..ec9721c0 100644 --- a/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt +++ b/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt @@ -93,7 +93,7 @@ public class SupabaseConnector( supabaseClient.httpClient.httpClient.plugin(HttpSend).intercept { request -> val resp = execute(request) val response = resp.response - if (response.status.value == 400) { + if (response.status.value >= 400) { val responseText = response.bodyAsText() try { From 99550d3b60eceeb8e2fbd11781e448f7d243d4ee Mon Sep 17 00:00:00 2001 From: "Tewelde, Fethi (F.)" Date: Tue, 1 Jul 2025 21:03:08 +0200 Subject: [PATCH 2/2] Redundant creation of Json format. Creating instances for each usage can be slow. --- .../com/powersync/connector/supabase/SupabaseConnector.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt b/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt index ec9721c0..45306313 100644 --- a/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt +++ b/connectors/supabase/src/commonMain/kotlin/com/powersync/connector/supabase/SupabaseConnector.kt @@ -36,6 +36,7 @@ public class SupabaseConnector( public val powerSyncEndpoint: String, private val storageBucket: String? = null, ) : PowerSyncBackendConnector() { + private val json = Json { coerceInputValues = true } private var errorCode: String? = null private object PostgresFatalCodes { @@ -98,7 +99,7 @@ public class SupabaseConnector( try { val error = - Json { coerceInputValues = true }.decodeFromString>( + json.decodeFromString>( responseText, ) errorCode = error["code"]