From a0db0c64daada67266180c71e96c8f6a38ca070a Mon Sep 17 00:00:00 2001 From: phuoc Date: Thu, 27 Jun 2024 10:19:40 +0700 Subject: [PATCH 1/2] fix: internet issue: adding error type, remove unnecessary inteceptor Signed-off-by: phuoc --- lib/util/dio_util.dart | 3 --- lib/util/exception_ext.dart | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/util/dio_util.dart b/lib/util/dio_util.dart index c3e383840..dce4e3038 100644 --- a/lib/util/dio_util.dart +++ b/lib/util/dio_util.dart @@ -18,7 +18,6 @@ import 'package:sentry_flutter/sentry_flutter.dart'; Dio feralFileDio(BaseOptions options) { final dio = baseDio(options); dio.interceptors.add(FeralfileAuthInterceptor()); - dio.interceptors.add(ConnectingExceptionInterceptor()); return dio; } @@ -32,7 +31,6 @@ Dio postcardDio(BaseOptions options) { final dio = baseDio(options); dio.interceptors.add(HmacAuthInterceptor(Environment.auClaimSecretKey)); dio.interceptors.add(AutonomyAuthInterceptor()); - dio.interceptors.add(ConnectingExceptionInterceptor()); return dio; } @@ -47,7 +45,6 @@ Dio tvCastDio(BaseOptions options) { Dio chatDio(BaseOptions options) { final dio = baseDio(options); dio.interceptors.add(HmacAuthInterceptor(Environment.chatServerHmacKey)); - dio.interceptors.add(ConnectingExceptionInterceptor()); return dio; } diff --git a/lib/util/exception_ext.dart b/lib/util/exception_ext.dart index b64a84134..2990de7a3 100644 --- a/lib/util/exception_ext.dart +++ b/lib/util/exception_ext.dart @@ -9,7 +9,9 @@ extension ExceptionExt on Exception { if (this is DioException) { final e = this as DioException; return e.type == DioExceptionType.connectionError || + e.type == DioExceptionType.connectionTimeout || e.type == DioExceptionType.sendTimeout || + e.type == DioExceptionType.receiveTimeout || e.error is SocketException; } if (this is TezartNodeError) { From e7e17277fe1034014b91497249980c07818aea52 Mon Sep 17 00:00:00 2001 From: phuoc Date: Thu, 27 Jun 2024 16:35:02 +0700 Subject: [PATCH 2/2] feat: only intercept network issue in foreground Signed-off-by: phuoc --- lib/util/dio_interceptors.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/util/dio_interceptors.dart b/lib/util/dio_interceptors.dart index a635ea339..356b388af 100644 --- a/lib/util/dio_interceptors.dart +++ b/lib/util/dio_interceptors.dart @@ -11,6 +11,7 @@ import 'dart:convert'; import 'package:autonomy_flutter/common/environment.dart'; import 'package:autonomy_flutter/common/injector.dart'; import 'package:autonomy_flutter/gateway/iap_api.dart'; +import 'package:autonomy_flutter/main.dart'; import 'package:autonomy_flutter/model/ff_account.dart'; import 'package:autonomy_flutter/service/auth_service.dart'; import 'package:autonomy_flutter/service/network_issue_manager.dart'; @@ -244,7 +245,7 @@ class HmacAuthInterceptor extends Interceptor { class ConnectingExceptionInterceptor extends Interceptor { @override void onError(DioException err, ErrorInterceptorHandler handler) { - if (err.isNetworkIssue) { + if (err.isNetworkIssue && memoryValues.isForeground) { log.warning('ConnectingExceptionInterceptor timeout'); unawaited(injector().showNetworkIssueWarning()); }