@@ -14,6 +14,8 @@ import 'package:supabase_flutter/src/supabase_auth.dart';
1414import 'hot_restart_cleanup_stub.dart'
1515 if (dart.library.js_interop) 'hot_restart_cleanup_web.dart' ;
1616
17+ import 'platform_http_io.dart'
18+ if (dart.library.js_interop) 'platform_http_web.dart' ;
1719import 'version.dart' ;
1820
1921final _log = Logger ('supabase.supabase_flutter' );
@@ -117,6 +119,13 @@ class Supabase with WidgetsBindingObserver {
117119 ),
118120 );
119121 }
122+ if (realtimeClientOptions.webSocketTransport == null ) {
123+ final platformWebSocketChannel = getPlatformWebSocketChannel (url);
124+ if (platformWebSocketChannel != null ) {
125+ realtimeClientOptions = realtimeClientOptions.copyWith (
126+ webSocketTransport: (url, headers) => platformWebSocketChannel);
127+ }
128+ }
120129 _instance._init (
121130 url,
122131 anonKey,
@@ -195,10 +204,16 @@ class Supabase with WidgetsBindingObserver {
195204 ...Constants .defaultHeaders,
196205 if (customHeaders != null ) ...customHeaders
197206 };
207+ final Client platformHttpClient;
208+ if (httpClient != null ) {
209+ platformHttpClient = httpClient;
210+ } else {
211+ platformHttpClient = getPlatformHttpClient ();
212+ }
198213 client = SupabaseClient (
199214 supabaseUrl,
200215 supabaseAnonKey,
201- httpClient: httpClient ,
216+ httpClient: platformHttpClient ,
202217 headers: headers,
203218 realtimeClientOptions: realtimeClientOptions,
204219 postgrestOptions: postgrestOptions,
0 commit comments