provider ref.mounted hardenings

This commit is contained in:
Fabian Freund
2026-01-02 08:05:36 +01:00
parent 5732acd75e
commit 380d0da58c
6 changed files with 18 additions and 7 deletions
@@ -191,12 +191,18 @@ class EngineReadyState extends _$EngineReadyState {
return true; return true;
}, },
) )
.whenComplete(() => state = true), .whenComplete(() {
if (ref.mounted) {
state = true;
}
}),
); );
} }
final sub = eventService.engineReadyStateEvents.listen((value) { final sub = eventService.engineReadyStateEvents.listen((value) {
state = value; if (ref.mounted) {
state = value;
}
}); });
ref.onDispose(() async { ref.onDispose(() async {
@@ -223,6 +229,8 @@ class MlDownloadState extends _$MlDownloadState {
MlProgressData? build() { MlProgressData? build() {
ref.listen(mlProgressEventsProvider, (previous, next) { ref.listen(mlProgressEventsProvider, (previous, next) {
next.whenData((progress) { next.whenData((progress) {
if (!ref.mounted) return;
if (progress.type == MlProgressType.downloading) { if (progress.type == MlProgressType.downloading) {
if (progress.status == MlProgressStatus.done) { if (progress.status == MlProgressStatus.done) {
// Keep showing for 2 seconds after completion // Keep showing for 2 seconds after completion
@@ -278,7 +278,7 @@ final class EngineReadyStateProvider
} }
} }
String _$engineReadyStateHash() => r'a892c48ffc29e3414de12e66d9bfec522e4f40a8'; String _$engineReadyStateHash() => r'ab3fe385fbda4d7d8acaf8f5428b3b48b75f3f46';
abstract class _$EngineReadyState extends $Notifier<bool> { abstract class _$EngineReadyState extends $Notifier<bool> {
bool build(); bool build();
@@ -378,7 +378,7 @@ final class MlDownloadStateProvider
} }
} }
String _$mlDownloadStateHash() => r'a6e2612770878a9fc5ca6800665698c6335a047e'; String _$mlDownloadStateHash() => r'4b943f0a950bf63c9a1b628d4104fdd6fa0d8d07';
/// Tracks active ML model downloads /// Tracks active ML model downloads
@@ -71,7 +71,9 @@ class SelectedBangData extends _$SelectedBangData {
final subscription = repository.watchBang(selectedBangTrigger).listen(( final subscription = repository.watchBang(selectedBangTrigger).listen((
value, value,
) { ) {
state = value; if (ref.mounted) {
state = value;
}
}); });
ref.onDispose(() async { ref.onDispose(() async {
@@ -156,7 +156,7 @@ final class SelectedBangDataProvider
} }
} }
String _$selectedBangDataHash() => r'666858556efe59d2de38a04fda30e8ec227c6675'; String _$selectedBangDataHash() => r'68bdd0d203cc47a0d26904ecb30651b58aa19486';
final class SelectedBangDataFamily extends $Family final class SelectedBangDataFamily extends $Family
with with
@@ -72,6 +72,7 @@ class FindInPageController extends _$FindInPageController {
fireImmediately: true, fireImmediately: true,
tabStateProvider(tabId), tabStateProvider(tabId),
(previous, next) async { (previous, next) async {
if (!ref.mounted) return;
//Ensure state is already initialized //Ensure state is already initialized
if (stateOrNull != null) { if (stateOrNull != null) {
if (state.visible && state.lastSearchText.isNotEmpty) { if (state.visible && state.lastSearchText.isNotEmpty) {
@@ -59,7 +59,7 @@ final class FindInPageControllerProvider
} }
String _$findInPageControllerHash() => String _$findInPageControllerHash() =>
r'85e6b69edcd66a961d51326b01336a969d37fac1'; r'4aaa0c4b4a623e7274836e70e5f66e97a3ebf80a';
final class FindInPageControllerFamily extends $Family final class FindInPageControllerFamily extends $Family
with with