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:
SignInWithOtpandResetPasswordForEmailhad 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 onWhere,Update, andDelete. *** [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 aninfilter 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)
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
@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.