DEV Community

Guillaume Faas
Guillaume Faas

Posted on Edited on

Supabase .NET DevLog #1

Welcome to the first entry of our weekly log for the Supabase .NET SDK! 🎉

Being still a new joiner in the company, I' still ramping up. I've been working on a plan to set up the direction of the SDK and prioritise what needs to be done first. I'm far from my full velocity, but there's a lot to catch up on.

I started with critical fixes, as the SDK was broken in some places:

  • [GoTrue] Auth kept dead sessions alive: when a refresh token got rejected, the client only cleared the session in one specific case.
  • [GoTrue] Email OTP sign-in and password reset were broken: SignInWithOtp and ResetPasswordForEmail had the PKCE verifier and challenge swapped (the SHA-256 hash was sent as the raw value, and vice-versa).
  • [PostgREST] Negation dropped in predicates: a silent issue where conditions like x => !(x.Name == "foo") were dropping the negation on Where, Update, and Delete. *** [PostgREST] Truncated DateTime:** reading dropped sub-second precision and UTC offset. Any round-trip was failing.
  • [PostgREST] Where improvements: ids.Contains(x.Id) now translates into an in filter rather than throwing, boolean columns (ex: x.IsActive) can be used directly, and comparing two columns to each other throws a clear error explaining why PostgREST can't do that.

It's worth to note that all of these changes are yet unreleased.

I will ship more critical fixes, and an improvement on the SDK's telemetry, before releasing a clean version this week. This will be a good opportunity to align dependencies, as the SDK doesn't reference all the latest versions of its sub-packages at the moment.

Once we stabilize the usage, the first milestone will be to migrate to a monorepo. Hopefully, soon.

Have a great day, and keep coding!

Top comments (2)

Collapse
 
frqsalah profile image
Salah

Are you into vibe coding at all? I've been curious how devs like you approach it, since I know you've got solid fundamentals

Collapse
 
tr00d profile image
Guillaume Faas

@frqsalah Vibe Coding? Not really, but I do rely on agents like anybody else these days.
The difference is mainly on where you set the bar for quality standards, how you build your harness. It usually takes at least 3-4 iterations before the output matches my requirements
Agents will remain non-deterministic, and can't be blindly trusted.