improved error logging
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/core/logger.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/providers.dart';
|
||||
|
||||
part 'selected_tab.g.dart';
|
||||
@@ -10,14 +11,22 @@ class SelectedTab extends _$SelectedTab {
|
||||
String? build() {
|
||||
final eventSerivce = ref.watch(eventServiceProvider);
|
||||
|
||||
ref.listen(fireImmediately: true, engineReadyStateProvider, (
|
||||
previous,
|
||||
next,
|
||||
) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(onSelectedTabChange: true);
|
||||
}
|
||||
});
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
engineReadyStateProvider,
|
||||
(previous, next) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(onSelectedTabChange: true);
|
||||
}
|
||||
},
|
||||
onError: (error, stackTrace) {
|
||||
logger.e(
|
||||
'Error listening to engineReadyStateProvider',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
final selectedTabSub = eventSerivce.selectedTabEvents.listen((tabId) {
|
||||
state = tabId;
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'selected_tab.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$selectedTabHash() => r'12b670dd76c3416e8d62bafd63bf69a83a603e3a';
|
||||
String _$selectedTabHash() => r'26d1bb90c777d7011f4f27f7b962584a4a62a0a7';
|
||||
|
||||
/// See also [SelectedTab].
|
||||
@ProviderFor(SelectedTab)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:fast_equatable/fast_equatable.dart';
|
||||
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:weblibre/core/logger.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/providers.dart';
|
||||
|
||||
part 'tab_list.g.dart';
|
||||
@@ -11,14 +12,22 @@ class TabList extends _$TabList {
|
||||
EquatableValue<List<String>> build() {
|
||||
final eventService = ref.watch(eventServiceProvider);
|
||||
|
||||
ref.listen(fireImmediately: true, engineReadyStateProvider, (
|
||||
previous,
|
||||
next,
|
||||
) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(onTabListChange: true);
|
||||
}
|
||||
});
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
engineReadyStateProvider,
|
||||
(previous, next) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(onTabListChange: true);
|
||||
}
|
||||
},
|
||||
onError: (error, stackTrace) {
|
||||
logger.e(
|
||||
'Error listening to eventServiceProvider',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
final tabListSub = eventService.tabListEvents.listen((tabs) {
|
||||
final equatableTabs = EquatableValue(tabs);
|
||||
|
||||
@@ -6,7 +6,7 @@ part of 'tab_list.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$tabListHash() => r'9507bcc75dc69a55aba14334cdef0128a5fcf252';
|
||||
String _$tabListHash() => r'0b9ca1e089a59895df4cbf28691c2849a7004f08';
|
||||
|
||||
/// See also [TabList].
|
||||
@ProviderFor(TabList)
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:nullability/nullability.dart';
|
||||
import 'package:riverpod/riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:rxdart/rxdart.dart';
|
||||
import 'package:weblibre/core/logger.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/entities/states/find_result.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/entities/states/history.dart';
|
||||
import 'package:weblibre/features/geckoview/domain/entities/states/readerable.dart';
|
||||
@@ -155,21 +156,29 @@ class TabStates extends _$TabStates {
|
||||
}),
|
||||
];
|
||||
|
||||
ref.listen(fireImmediately: true, engineReadyStateProvider, (
|
||||
previous,
|
||||
next,
|
||||
) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(
|
||||
onTabContentStateChange: true,
|
||||
onIconChange: true,
|
||||
onThumbnailChange: true,
|
||||
onSecurityInfoStateChange: true,
|
||||
onHistoryStateChange: true,
|
||||
onFindResults: true,
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
engineReadyStateProvider,
|
||||
(previous, next) async {
|
||||
if (next) {
|
||||
await GeckoTabService().syncEvents(
|
||||
onTabContentStateChange: true,
|
||||
onIconChange: true,
|
||||
onThumbnailChange: true,
|
||||
onSecurityInfoStateChange: true,
|
||||
onHistoryStateChange: true,
|
||||
onFindResults: true,
|
||||
);
|
||||
}
|
||||
},
|
||||
onError: (error, stackTrace) {
|
||||
logger.e(
|
||||
'Error listening to engineReadyStateProvider',
|
||||
error: error,
|
||||
stackTrace: stackTrace,
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
ref.onDispose(() async {
|
||||
for (final sub in subscriptions) {
|
||||
|
||||
@@ -158,7 +158,7 @@ final selectedTabStateProvider = AutoDisposeProvider<TabState?>.internal(
|
||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
typedef SelectedTabStateRef = AutoDisposeProviderRef<TabState?>;
|
||||
String _$tabStatesHash() => r'bd2c3d9f3e11b75a1ca53a3fc4510c3c3df80021';
|
||||
String _$tabStatesHash() => r'e4d2f2b4ddd65beac8a1fd0d22bad1e0a26b41bd';
|
||||
|
||||
/// See also [TabStates].
|
||||
@ProviderFor(TabStates)
|
||||
|
||||
Reference in New Issue
Block a user