fix: url test issues, avoid multiple test, and change outbound on test
This commit is contained in:
@@ -40,20 +40,16 @@ class IpInfoNotifier extends _$IpInfoNotifier with AppLogger {
|
||||
// );
|
||||
if (!_forceCheck && !serviceRunning) {
|
||||
throw const ServiceNotRunning();
|
||||
} else if ((_idle && !_forceCheck) ||
|
||||
(!_forceCheck && serviceRunning && !autoCheck)) {
|
||||
} else if ((_idle && !_forceCheck) || (!_forceCheck && serviceRunning && !autoCheck)) {
|
||||
throw const UnknownIp();
|
||||
}
|
||||
|
||||
_forceCheck = false;
|
||||
final info = await ref
|
||||
.watch(proxyRepositoryProvider)
|
||||
.getCurrentIpInfo(cancelToken)
|
||||
.getOrElse(
|
||||
final info = await ref.watch(proxyRepositoryProvider).getCurrentIpInfo(cancelToken).getOrElse(
|
||||
(err) {
|
||||
loggy.warning("error getting proxy ip info", err, StackTrace.current);
|
||||
// throw err; //hiddify: remove exception to be logged
|
||||
throw const UnknownIp();
|
||||
throw err; //hiddify: remove exception to be logged
|
||||
//throw const UnknownIp();
|
||||
},
|
||||
).run();
|
||||
|
||||
@@ -93,11 +89,7 @@ class ActiveProxyNotifier extends _$ActiveProxyNotifier with AppLogger {
|
||||
throw const ServiceNotRunning();
|
||||
}
|
||||
|
||||
yield* ref
|
||||
.watch(proxyRepositoryProvider)
|
||||
.watchActiveProxies()
|
||||
.map((event) => event.getOrElse((l) => throw l))
|
||||
.map((event) => event.firstOrNull!.items.first);
|
||||
yield* ref.watch(proxyRepositoryProvider).watchActiveProxies().map((event) => event.getOrElse((l) => throw l)).map((event) => event.firstOrNull!.items.first);
|
||||
}
|
||||
|
||||
final _urlTestThrottler = Throttler(const Duration(seconds: 2));
|
||||
@@ -106,17 +98,9 @@ class ActiveProxyNotifier extends _$ActiveProxyNotifier with AppLogger {
|
||||
var groupTag = groupTag_;
|
||||
_urlTestThrottler(
|
||||
() async {
|
||||
loggy.debug("testing group: [$groupTag]");
|
||||
if (!["auto", "select"].contains(groupTag)) {
|
||||
loggy.warning("only proxy group can do url test");
|
||||
groupTag = "select";
|
||||
}
|
||||
if (state case AsyncData()) {
|
||||
await ref.read(hapticServiceProvider.notifier).lightImpact();
|
||||
await ref
|
||||
.read(proxyRepositoryProvider)
|
||||
.urlTest(groupTag)
|
||||
.getOrElse((err) {
|
||||
await ref.read(proxyRepositoryProvider).urlTest(groupTag).getOrElse((err) {
|
||||
loggy.warning("error testing group", err);
|
||||
throw err;
|
||||
}).run();
|
||||
|
||||
Reference in New Issue
Block a user