TF-3792 Fix cannot reply to email on Stalwart server
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import 'package:dio/dio.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart';
|
||||||
import 'package:model/email/attachment.dart';
|
import 'package:model/email/attachment.dart';
|
||||||
|
import 'package:model/extensions/set_email_body_part_extension.dart';
|
||||||
import 'package:model/upload/file_info.dart';
|
import 'package:model/upload/file_info.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/data/datasource/composer_datasource.dart';
|
import 'package:tmail_ui_user/features/composer/data/datasource/composer_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/repository/composer_repository.dart';
|
import 'package:tmail_ui_user/features/composer/domain/repository/composer_repository.dart';
|
||||||
@@ -64,6 +65,10 @@ class ComposerRepositoryImpl extends ComposerRepository {
|
|||||||
emailContent = tupleContentInlineAttachments.value1;
|
emailContent = tupleContentInlineAttachments.value1;
|
||||||
emailAttachments.addAll(tupleContentInlineAttachments.value2);
|
emailAttachments.addAll(tupleContentInlineAttachments.value2);
|
||||||
|
|
||||||
|
if (emailAttachments.isNotEmpty) {
|
||||||
|
emailAttachments = emailAttachments.onlyUseBlobIdOrPartId();
|
||||||
|
}
|
||||||
|
|
||||||
emailContent = await removeCollapsedExpandedSignatureEffect(emailContent: emailContent);
|
emailContent = await removeCollapsedExpandedSignatureEffect(emailContent: emailContent);
|
||||||
|
|
||||||
final userAgent = await _applicationManager.generateApplicationUserAgent();
|
final userAgent = await _applicationManager.generateApplicationUserAgent();
|
||||||
|
|||||||
@@ -11,4 +11,19 @@ extension EmailBodyPartExtension on EmailBodyPart {
|
|||||||
cid: cid,
|
cid: cid,
|
||||||
charset: charset,
|
charset: charset,
|
||||||
disposition: disposition.toContentDisposition());
|
disposition: disposition.toContentDisposition());
|
||||||
|
|
||||||
|
EmailBodyPart onlyUseBlobIdOrPartId() => EmailBodyPart(
|
||||||
|
partId: blobId == null ? partId : null,
|
||||||
|
blobId: blobId,
|
||||||
|
size: size,
|
||||||
|
name: name,
|
||||||
|
type: type,
|
||||||
|
cid: cid,
|
||||||
|
charset: charset,
|
||||||
|
disposition: disposition,
|
||||||
|
headers: headers,
|
||||||
|
language: language,
|
||||||
|
location: location,
|
||||||
|
subParts: subParts,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/mail/email/email_body_part.dart';
|
||||||
|
import 'package:model/extensions/email_body_part_extension.dart';
|
||||||
|
|
||||||
|
extension SetEmailBodyPartExtension on Set<EmailBodyPart> {
|
||||||
|
Set<EmailBodyPart> onlyUseBlobIdOrPartId() =>
|
||||||
|
map((emailBodyPart) => emailBodyPart.onlyUseBlobIdOrPartId()).toSet();
|
||||||
|
}
|
||||||
@@ -61,6 +61,7 @@ export 'extensions/session_extension.dart';
|
|||||||
export 'extensions/utc_date_extension.dart';
|
export 'extensions/utc_date_extension.dart';
|
||||||
export 'extensions/contact_support_capability_extension.dart';
|
export 'extensions/contact_support_capability_extension.dart';
|
||||||
export 'extensions/list_id_extension.dart';
|
export 'extensions/list_id_extension.dart';
|
||||||
|
export 'extensions/set_email_body_part_extension.dart';
|
||||||
// Identity
|
// Identity
|
||||||
export 'identity/identity_request_dto.dart';
|
export 'identity/identity_request_dto.dart';
|
||||||
export 'mailbox/expand_mode.dart';
|
export 'mailbox/expand_mode.dart';
|
||||||
|
|||||||
Reference in New Issue
Block a user