From 6d43ae2b09adb866d000d9115ca4d6026ba7ec79 Mon Sep 17 00:00:00 2001 From: Patrick Britton Date: Tue, 17 Feb 2026 10:46:50 -0600 Subject: [PATCH] fix: Make NetworkService web-safe by skipping connectivity monitoring on web platform --- sojorn_app/lib/services/network_service.dart | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sojorn_app/lib/services/network_service.dart b/sojorn_app/lib/services/network_service.dart index af1580d..344e4e3 100644 --- a/sojorn_app/lib/services/network_service.dart +++ b/sojorn_app/lib/services/network_service.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'package:flutter/foundation.dart' show kIsWeb; import 'package:connectivity_plus/connectivity_plus.dart'; /// Service for monitoring network connectivity status @@ -7,7 +8,7 @@ class NetworkService { factory NetworkService() => _instance; NetworkService._internal(); - final Connectivity _connectivity = Connectivity(); + Connectivity? _connectivity; final StreamController _connectionController = StreamController.broadcast(); @@ -18,7 +19,15 @@ class NetworkService { /// Initialize the network service and start monitoring void initialize() { - _connectivity.onConnectivityChanged.listen((List results) { + // Skip connectivity monitoring on web - it's not supported + if (kIsWeb) { + _isConnected = true; + _connectionController.add(true); + return; + } + + _connectivity = Connectivity(); + _connectivity!.onConnectivityChanged.listen((List results) { final result = results.isNotEmpty ? results.first : ConnectivityResult.none; _isConnected = result != ConnectivityResult.none; _connectionController.add(_isConnected); @@ -29,7 +38,9 @@ class NetworkService { } Future _checkConnection() async { - final results = await _connectivity.checkConnectivity(); + if (kIsWeb || _connectivity == null) return; + + final results = await _connectivity!.checkConnectivity(); final result = results.isNotEmpty ? results.first : ConnectivityResult.none; _isConnected = result != ConnectivityResult.none; _connectionController.add(_isConnected);