diff --git a/app/lib/features/geckoview/domain/providers.dart b/app/lib/features/geckoview/domain/providers.dart index 07331060..083d92d7 100644 --- a/app/lib/features/geckoview/domain/providers.dart +++ b/app/lib/features/geckoview/domain/providers.dart @@ -191,12 +191,18 @@ class EngineReadyState extends _$EngineReadyState { return true; }, ) - .whenComplete(() => state = true), + .whenComplete(() { + if (ref.mounted) { + state = true; + } + }), ); } final sub = eventService.engineReadyStateEvents.listen((value) { - state = value; + if (ref.mounted) { + state = value; + } }); ref.onDispose(() async { @@ -223,6 +229,8 @@ class MlDownloadState extends _$MlDownloadState { MlProgressData? build() { ref.listen(mlProgressEventsProvider, (previous, next) { next.whenData((progress) { + if (!ref.mounted) return; + if (progress.type == MlProgressType.downloading) { if (progress.status == MlProgressStatus.done) { // Keep showing for 2 seconds after completion diff --git a/app/lib/features/geckoview/domain/providers.g.dart b/app/lib/features/geckoview/domain/providers.g.dart index e444424d..4812cf04 100644 --- a/app/lib/features/geckoview/domain/providers.g.dart +++ b/app/lib/features/geckoview/domain/providers.g.dart @@ -278,7 +278,7 @@ final class EngineReadyStateProvider } } -String _$engineReadyStateHash() => r'a892c48ffc29e3414de12e66d9bfec522e4f40a8'; +String _$engineReadyStateHash() => r'ab3fe385fbda4d7d8acaf8f5428b3b48b75f3f46'; abstract class _$EngineReadyState extends $Notifier { bool build(); @@ -378,7 +378,7 @@ final class MlDownloadStateProvider } } -String _$mlDownloadStateHash() => r'a6e2612770878a9fc5ca6800665698c6335a047e'; +String _$mlDownloadStateHash() => r'4b943f0a950bf63c9a1b628d4104fdd6fa0d8d07'; /// Tracks active ML model downloads diff --git a/app/lib/features/geckoview/features/browser/domain/providers.dart b/app/lib/features/geckoview/features/browser/domain/providers.dart index 39e941b6..349db2d0 100644 --- a/app/lib/features/geckoview/features/browser/domain/providers.dart +++ b/app/lib/features/geckoview/features/browser/domain/providers.dart @@ -71,7 +71,9 @@ class SelectedBangData extends _$SelectedBangData { final subscription = repository.watchBang(selectedBangTrigger).listen(( value, ) { - state = value; + if (ref.mounted) { + state = value; + } }); ref.onDispose(() async { diff --git a/app/lib/features/geckoview/features/browser/domain/providers.g.dart b/app/lib/features/geckoview/features/browser/domain/providers.g.dart index 93265a30..10b2ae71 100644 --- a/app/lib/features/geckoview/features/browser/domain/providers.g.dart +++ b/app/lib/features/geckoview/features/browser/domain/providers.g.dart @@ -156,7 +156,7 @@ final class SelectedBangDataProvider } } -String _$selectedBangDataHash() => r'666858556efe59d2de38a04fda30e8ec227c6675'; +String _$selectedBangDataHash() => r'68bdd0d203cc47a0d26904ecb30651b58aa19486'; final class SelectedBangDataFamily extends $Family with diff --git a/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.dart b/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.dart index b0d2a132..168c206f 100644 --- a/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.dart +++ b/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.dart @@ -72,6 +72,7 @@ class FindInPageController extends _$FindInPageController { fireImmediately: true, tabStateProvider(tabId), (previous, next) async { + if (!ref.mounted) return; //Ensure state is already initialized if (stateOrNull != null) { if (state.visible && state.lastSearchText.isNotEmpty) { diff --git a/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.g.dart b/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.g.dart index 0b3d209d..0eca12c8 100644 --- a/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.g.dart +++ b/app/lib/features/geckoview/features/find_in_page/presentation/controllers/find_in_page.g.dart @@ -59,7 +59,7 @@ final class FindInPageControllerProvider } String _$findInPageControllerHash() => - r'85e6b69edcd66a961d51326b01336a969d37fac1'; + r'4aaa0c4b4a623e7274836e70e5f66e97a3ebf80a'; final class FindInPageControllerFamily extends $Family with