Skip to content
Merged
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
20 changes: 12 additions & 8 deletions packages/supabase_flutter/lib/src/supabase.dart
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class Supabase with WidgetsBindingObserver {
/// Call [Supabase.initialize] to initialize it.
static Supabase get instance {
assert(
_instance._initialized,
_instance._isInitialized,
'You must initialize the supabase instance before calling Supabase.instance',
);
return _instance;
Expand Down Expand Up @@ -87,10 +87,11 @@ class Supabase with WidgetsBindingObserver {
Future<String?> Function()? accessToken,
bool? debug,
}) async {
assert(
!_instance._initialized,
'This instance is already initialized',
);
if (_instance._isInitialized) {
_log.info('Supabase is already initialized. Skipping reinitialization.');
return _instance;
}

_instance._debugEnable = debug ?? kDebugMode;

if (_instance._debugEnable) {
Expand Down Expand Up @@ -152,7 +153,10 @@ class Supabase with WidgetsBindingObserver {

static WidgetsBinding? get _widgetsBindingInstance => WidgetsBinding.instance;

bool _initialized = false;
bool _isInitialized = false;

/// Whether the Supabase instance has been initialized. Useful for debugging.
bool get isInitialized => _isInitialized;

/// The supabase client for this instance
///
Expand All @@ -177,7 +181,7 @@ class Supabase with WidgetsBindingObserver {
client.dispose();
_instance._supabaseAuth?.dispose();
_widgetsBindingInstance?.removeObserver(this);
_initialized = false;
_isInitialized = false;
}

void _init(
Expand Down Expand Up @@ -214,7 +218,7 @@ class Supabase with WidgetsBindingObserver {
markClientToDispose(client);
}
_widgetsBindingInstance?.addObserver(this);
_initialized = true;
_isInitialized = true;
}

@override
Expand Down
Loading