SDK Parity: C# implementation needed
Reference Implementation (supabase-js)
What Changed
Fix 1 — VerifyOtp(type: EmailChange): During two-step secure email change, GoTrue returns { msg, code } (200 OK) after the first confirmation. This is NOT a session — SDK must return AuthResponse { User = null, Session = null }, not treat {msg, code} as a User.
Fix 2 — SignUp() with confirmation: GoTrue returns the bare user without access_token when confirmation is required. SDK must return AuthResponse { User = <User>, Session = null }.
Code Reference
// Detection logic:
const user = data.user ?? (typeof data?.id === 'string' ? (data as User) : null)
Acceptance Criteria
Context
Generated with Claude Code /sync-sdk-parity
SDK Parity: C# implementation needed
Reference Implementation (supabase-js)
ffa2894— PR #237860e0a92— PR #2391What Changed
Fix 1 —
VerifyOtp(type: EmailChange): During two-step secure email change, GoTrue returns{ msg, code }(200 OK) after the first confirmation. This is NOT a session — SDK must returnAuthResponse { User = null, Session = null }, not treat{msg, code}as a User.Fix 2 —
SignUp()with confirmation: GoTrue returns the bare user withoutaccess_tokenwhen confirmation is required. SDK must returnAuthResponse { User = <User>, Session = null }.Code Reference
Acceptance Criteria
VerifyOtp(EmailChange)returns null User/Session for partial{msg,code}responseSignUp()returns User when confirmation requiredContext
Generated with Claude Code
/sync-sdk-parity