diff --git a/contact/pubspec.lock b/contact/pubspec.lock index 76a072a66..ba09a07de 100644 --- a/contact/pubspec.lock +++ b/contact/pubspec.lock @@ -669,7 +669,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/email_recovery/pubspec.lock b/email_recovery/pubspec.lock index a23d7d9b5..4d54a4d80 100644 --- a/email_recovery/pubspec.lock +++ b/email_recovery/pubspec.lock @@ -296,7 +296,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/fcm/pubspec.lock b/fcm/pubspec.lock index f705593a4..269a581b2 100644 --- a/fcm/pubspec.lock +++ b/fcm/pubspec.lock @@ -296,7 +296,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/forward/pubspec.lock b/forward/pubspec.lock index f705593a4..269a581b2 100644 --- a/forward/pubspec.lock +++ b/forward/pubspec.lock @@ -296,7 +296,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/lib/features/composer/presentation/extensions/create_email_request_extension.dart b/lib/features/composer/presentation/extensions/create_email_request_extension.dart index a342c9937..efc35c688 100644 --- a/lib/features/composer/presentation/extensions/create_email_request_extension.dart +++ b/lib/features/composer/presentation/extensions/create_email_request_extension.dart @@ -171,6 +171,9 @@ extension CreateEmailRequestExtension on CreateEmailRequest { headerMdn: hasRequestReadReceipt ? { IndividualHeaderIdentifier.headerMdn: createMdnEmailAddress() } : null, + headerReturnPath: hasRequestReadReceipt + ? { IndividualHeaderIdentifier.headerReturnPath: createMdnEmailAddress() } + : null, identityHeader: withIdentityHeader ? {IndividualHeaderIdentifier.identityHeader: identity?.id?.id.value} : null, diff --git a/lib/features/thread/domain/model/search_email.dart b/lib/features/thread/domain/model/search_email.dart index eee63a9a7..82b149ffd 100644 --- a/lib/features/thread/domain/model/search_email.dart +++ b/lib/features/thread/domain/model/search_email.dart @@ -33,6 +33,7 @@ class SearchEmail extends Email { super.bodyValues, super.headerUserAgent, super.headerMdn, + super.headerReturnPath, super.headerCalendarEvent, super.xPriorityHeader, super.importanceHeader, @@ -84,6 +85,7 @@ class SearchEmail extends Email { bodyValues: email.bodyValues, headerUserAgent: email.headerUserAgent, headerMdn: email.headerMdn, + headerReturnPath: email.headerReturnPath, headerCalendarEvent: email.headerCalendarEvent, xPriorityHeader: email.xPriorityHeader, importanceHeader: email.importanceHeader, diff --git a/model/lib/extensions/email_extension.dart b/model/lib/extensions/email_extension.dart index 6d6c8b594..2154b559a 100644 --- a/model/lib/extensions/email_extension.dart +++ b/model/lib/extensions/email_extension.dart @@ -231,6 +231,7 @@ extension EmailExtension on Email { Map? bodyValues, Map? headerUserAgent, Map? headerMdn, + Map? headerReturnPath, Map? headerCalendarEvent, Map? sMimeStatusHeader, Map? identityHeader, @@ -267,6 +268,7 @@ extension EmailExtension on Email { bodyValues: bodyValues ?? this.bodyValues, headerUserAgent: headerUserAgent ?? this.headerUserAgent, headerMdn: headerMdn ?? this.headerMdn, + headerReturnPath: headerReturnPath ?? this.headerReturnPath, headerCalendarEvent: headerCalendarEvent ?? this.headerCalendarEvent, sMimeStatusHeader: sMimeStatusHeader ?? this.sMimeStatusHeader, identityHeader: identityHeader ?? this.identityHeader, diff --git a/model/pubspec.lock b/model/pubspec.lock index 120307244..dd5c3eb85 100644 --- a/model/pubspec.lock +++ b/model/pubspec.lock @@ -661,7 +661,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/pubspec.lock b/pubspec.lock index 006927668..917cef4ac 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1342,7 +1342,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/rule_filter/pubspec.lock b/rule_filter/pubspec.lock index f705593a4..269a581b2 100644 --- a/rule_filter/pubspec.lock +++ b/rule_filter/pubspec.lock @@ -296,7 +296,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/server_settings/pubspec.lock b/server_settings/pubspec.lock index cf069857a..1c6149c57 100644 --- a/server_settings/pubspec.lock +++ b/server_settings/pubspec.lock @@ -288,7 +288,7 @@ packages: description: path: "." ref: main - resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38 + resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926" url: "https://github.com/linagora/jmap-dart-client.git" source: git version: "0.3.6" diff --git a/test/features/composer/presentation/extensions/create_email_request_extension_test.dart b/test/features/composer/presentation/extensions/create_email_request_extension_test.dart index 06efcf0b7..78c966494 100644 --- a/test/features/composer/presentation/extensions/create_email_request_extension_test.dart +++ b/test/features/composer/presentation/extensions/create_email_request_extension_test.dart @@ -56,5 +56,40 @@ void main() { // assert expect(result.identityHeader, isNull); }); + + test( + 'should return email with mdn and return path headers ' + 'when generateEmail is called ' + 'and hasRequestReadReceipt is true', + () { + // arrange + final createEmailRequest = CreateEmailRequest( + session: SessionFixtures.aliceSession, + accountId: AccountFixtures.aliceAccountId, + emailActionType: EmailActionType.editDraft, + subject: 'subject', + emailContent: 'emailContent', + hasRequestReadReceipt: true, + ); + + // act + final result = createEmailRequest.generateEmail( + newEmailContent: 'newEmailContent', + newEmailAttachments: {}, + userAgent: 'userAgent', + partId: PartId('value'), + withIdentityHeader: false + ); + + // assert + expect( + result.headerMdn?[IndividualHeaderIdentifier.headerMdn], + createEmailRequest.createMdnEmailAddress(), + ); + expect( + result.headerReturnPath?[IndividualHeaderIdentifier.headerReturnPath], + createEmailRequest.createMdnEmailAddress(), + ); + }); }); } \ No newline at end of file