fix: The message field in UnknownRemoteException is typed as String? and the condition will always be false.

This commit is contained in:
dab246
2026-03-09 11:12:55 +07:00
committed by Dat H. Pham
parent 572bf6ba81
commit b7594a4adb
6 changed files with 12 additions and 5 deletions
@@ -69,7 +69,7 @@ class CreateNewAndSaveEmailToDraftsInteractor {
}
} catch (e) {
logWarning('CreateNewAndSaveEmailToDraftsInteractor::execute: Exception: $e');
if (e is UnknownRemoteException && e.message is List<SavingEmailToDraftsCanceledException>) {
if (e is UnknownRemoteException && e.error is List<SavingEmailToDraftsCanceledException>) {
if (createEmailRequest.draftsEmailId == null) {
yield dartz.Left<Failure, Success>(SaveEmailAsDraftsFailure(SavingEmailToDraftsCanceledException()));
} else {
@@ -66,7 +66,7 @@ class CreateNewAndSendEmailInteractor {
}
} catch (e) {
logWarning('CreateNewAndSendEmailInteractor::execute: Exception: $e');
if (e is UnknownRemoteException && e.message is List<SendingEmailCanceledException>) {
if (e is UnknownRemoteException && e.error is List<SendingEmailCanceledException>) {
yield dartz.Left<Failure, Success>(SendEmailFailure(
exception: SendingEmailCanceledException(),
session: sendingEmailArguments?.session,
@@ -82,7 +82,7 @@ class _SavingMessageDialogViewState extends State<SavingMessageDialogView> {
void _handleErrorStream(Object error, StackTrace stackTrace) {
logWarning('_SavingMessageDialogViewState::_handleErrorStream: Exception = $error');
if (error is UnknownRemoteException && error.message is List<SavingEmailToDraftsCanceledException>) {
if (error is UnknownRemoteException && error.error is List<SavingEmailToDraftsCanceledException>) {
popBack(result: SaveEmailAsDraftsFailure(SavingEmailToDraftsCanceledException()));
} else {
popBack(result: SaveEmailAsDraftsFailure(error));
@@ -79,7 +79,7 @@ class _SendingMessageDialogViewState extends State<SendingMessageDialogView> {
void _handleErrorStream(Object error, StackTrace stackTrace) {
logWarning('_SendingMessageDialogViewState::_handleErrorStream: Exception = $error');
if (error is UnknownRemoteException && error.message is List<SendingEmailCanceledException>) {
if (error is UnknownRemoteException && error.error is List<SendingEmailCanceledException>) {
popBack(result: SendEmailFailure(exception: SendingEmailCanceledException()));
} else {
popBack(result: SendEmailFailure(exception: error));
@@ -1,11 +1,18 @@
import 'package:tmail_ui_user/main/exceptions/remote/remote_exception.dart';
class UnknownRemoteException extends RemoteException {
final Object? error;
const UnknownRemoteException({
super.code,
super.message,
this.error,
});
@override
String get exceptionName => 'UnknownRemoteException';
@override
List<Object?> get props => [...super.props, error];
}
@@ -97,7 +97,7 @@ class RemoteExceptionThrower extends ExceptionThrower {
} else if (underlyingError is OAuthAuthorizationError) {
throw underlyingError;
} else if (underlyingError != null) {
throw UnknownRemoteException(message: underlyingError.toString());
throw UnknownRemoteException(error: underlyingError);
} else {
throw const UnknownRemoteException();
}