parity(auth): add dispose() method + AuthRefreshDiscardedError for lockless coordination [from supabase-js]
@Tr00d is already working on this.
Since Jul 1, 2026.
Assessment
This issue has not been assessed yet.
Description
SDK Parity: C# implementation needed
Reference Implementation (supabase-js)
What Changed
-
New
Dispose()method on auth client — explicitly stops auto-refresh and cleans up state. ImplementsIDisposable/IAsyncDisposable. -
New
AuthRefreshDiscardedError— returned when a token refresh succeeded server-side but tokens were discarded because the local session changed mid-flight (e.g., concurrentSignOut). -
lockoption deprecated — removed in v3.
Code Reference
async dispose(): Promise<void> // stops auto-refresh
class AuthRefreshDiscardedError extends AuthError {
name = 'AuthRefreshDiscardedError'
}
Implementation Guidance (C#)
// Implement IDisposable and/or IAsyncDisposable
public class Client : IDisposable {
public void Dispose() {
// Cancel refresh timer
// Clear session
}
}
// New exception
public class AuthRefreshDiscardedException : Exception { ... }
Acceptance Criteria
-
Dispose()/DisposeAsync()method stops auto-refresh -
AuthRefreshDiscardedExceptionadded -
IDisposableinterface implemented
Context
Generated with Claude Code /sync-sdk-parity
- Dominant language
- C#
- Stars
- 701
- Forks
- 106
- Avg merge
- 16h 35m
- Merged PRs (30d)
- 45
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from supabase/supabase-csharp
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
supabase/supabase-csharp#440 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
supabase/supabase-csharp#437 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
supabase/supabase-csharp#427 ·
-
supabase/supabase-csharp#409 · 1 comment · 1 assignee ·
-
area: realtime bug parity
supabase/supabase-csharp#393 · 1 assignee ·
All issues in supabase/supabase-csharp
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Difficulty 2/5 1-3 hours Newbie friendliness 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
SubtitleEdit/subtitleedit#15108 · 1 comment ·
-
area/docs-content Bug pulumi/docs
Difficulty 1/5 1-3 hours Newbie friendliness 94/100
-
agentic-workflows untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 76/100