Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions sdk-compliance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ features:

auth.sign_in.sign_up:
status: partially_implemented
note: "API mirrors signUp, but on a session-returning sign-up (confirmations off) C# does NOT adopt the session — CurrentUser/CurrentSession stay null, so 'signed up' != 'signed in' as in JS."
note: "A confirmed sign-up adopts the session, but the request cannot carry the PKCE code challenge or a CAPTCHA token."
symbols:
- Client.SignUp
auth.sign_in.sign_in_with_password:
Expand Down Expand Up @@ -106,7 +106,8 @@ features:
symbols:
- User.Identities
auth.mfa.enroll:
status: implemented
status: partially_implemented
note: "TOTP only; MfaEnrollParams has no phone field, so phone factors cannot be enrolled."
symbols:
- Client.Enroll
auth.mfa.challenge:
Expand Down Expand Up @@ -138,8 +139,8 @@ features:
symbols:
- AdminClient.CreateUser
auth.admin.delete_user:
status: partially_implemented
note: "Hard-delete only; no shouldSoftDelete flag (JS deleteUser(id, shouldSoftDelete))."
status: implemented
note: "Optional shouldSoftDelete flag; defaults to a hard delete."
symbols:
- AdminClient.DeleteUser
auth.admin.update_user:
Expand Down Expand Up @@ -188,7 +189,7 @@ features:
status: implemented
symbols:
- SupabaseOptions.SessionHandler
- Client.SetPersistence
- GotrueClient.SetPersistence
client.session_management.persist_session:
status: partially_implemented
note: "No boolean persist toggle; in-memory-only behavior is achievable only by supplying a no-op IGotrueSessionPersistence handler."
Expand Down Expand Up @@ -360,7 +361,8 @@ features:
symbols:
- Table.Range
database.using_modifiers.single_row:
status: implemented
status: partially_implemented
note: "Single() returns null on zero rows and throws on more than one, so it matches maybeSingle rather than single."
symbols:
- Table.Single
database.using_modifiers.request_cancellation:
Expand Down Expand Up @@ -404,8 +406,8 @@ features:
- InvokeFunctionOptions.FunctionRegion
- FunctionRegion
functions.invocation.timeout:
status: partially_implemented
note: "Per-invoke HttpTimeout exists, but it is not composable with a caller-supplied cancellation signal (Invoke accepts no CancellationToken)."
status: implemented
note: "Per-invoke HttpTimeout is linked with the caller-supplied CancellationToken; either one cancels the request."
symbols:
- InvokeFunctionOptions.HttpTimeout

Expand Down Expand Up @@ -499,7 +501,7 @@ features:
- RealtimePresence.Untrack
realtime.presence.presence_state:
status: partially_implemented
note: "Typed CurrentState/LastState exist, but the initial presence snapshot is dropped, so any client that joins after others undercounts everyone — a behavioral gap, not just a shape gap."
note: "Initial snapshot seeds CurrentState, but a diff replaces a key's metas instead of merging and a leave drops the whole key."
symbols:
- RealtimePresence.CurrentState
- RealtimePresence.LastState
Expand Down Expand Up @@ -581,7 +583,7 @@ features:
- StorageFileApi.Remove
storage.file_buckets.get_public_url:
status: implemented
note: "Transform + download options present. Footgun: passing an empty TransformOptions() routes to the image-render endpoint instead of the plain object URL."
note: "Transform + download options present. An empty TransformOptions() counts as no transform and returns the plain object URL."
symbols:
- StorageFileApi.GetPublicUrl
storage.file_buckets.create_signed_url:
Expand Down