TF-3685 Fix From field is displayed incorrectly in Drafts on mobile
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
|
||||
import 'package:tmail_ui_user/features/base/upgradeable/upgrade_database_steps.dart';
|
||||
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
|
||||
|
||||
class UpgradeHiveDatabaseStepsV15 extends UpgradeDatabaseSteps {
|
||||
|
||||
final CachingManager _cachingManager;
|
||||
|
||||
UpgradeHiveDatabaseStepsV15(this._cachingManager);
|
||||
|
||||
@override
|
||||
Future<void> onUpgrade(int oldVersion, int newVersion) async {
|
||||
if (oldVersion > 0 && oldVersion < newVersion && newVersion == 15) {
|
||||
await _cachingManager.clearDetailedEmailCache();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
class CacheVersion {
|
||||
static const int hiveDBVersion = 14;
|
||||
static const int hiveDBVersion = 15;
|
||||
}
|
||||
@@ -86,6 +86,9 @@ extension SetupEmailContentExtension on ComposerController {
|
||||
setupEmailRequestReadReceiptFlagForEditDraft(
|
||||
uiState.emailCurrent.hasRequestReadReceipt,
|
||||
);
|
||||
setupSelectedIdentityForEditDraft(
|
||||
uiState.emailCurrent.identityIdFromHeader,
|
||||
);
|
||||
}
|
||||
|
||||
emailContentsViewState.value = Right(uiState);
|
||||
|
||||
@@ -21,6 +21,7 @@ extension DetailedEmailExtension on DetailedEmail {
|
||||
references: references?.ids.toList(),
|
||||
inlineImages: inlineImages?.toHiveCache(),
|
||||
sMimeStatusHeader: sMimeStatusHeader?.toMapString(),
|
||||
identityHeader: identityHeader?.toMapString(),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -40,7 +41,8 @@ extension DetailedEmailExtension on DetailedEmail {
|
||||
messageId: messageId,
|
||||
references: references,
|
||||
inlineImages: inlineImages,
|
||||
sMimeStatusHeader: sMimeStatusHeader
|
||||
sMimeStatusHeader: sMimeStatusHeader,
|
||||
identityHeader: identityHeader,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,12 @@ extension DetailedEmailHiveCacheExtension on DetailedEmailHiveCache {
|
||||
sMimeStatusHeader: sMimeStatusHeader != null
|
||||
? Map.fromIterables(sMimeStatusHeader!.keys.map((value) => IndividualHeaderIdentifier(value)), sMimeStatusHeader!.values)
|
||||
: null,
|
||||
identityHeader: identityHeader != null
|
||||
? Map.fromIterables(
|
||||
identityHeader!.keys.map((value) => IndividualHeaderIdentifier(value)),
|
||||
identityHeader!.values,
|
||||
)
|
||||
: null,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ extension EmailExtension on Email {
|
||||
references: references,
|
||||
inlineImages: allAttachments.listAttachmentsDisplayedInContent,
|
||||
sMimeStatusHeader: sMimeStatusHeader,
|
||||
identityHeader: identityHeader,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ class DetailedEmail with EquatableMixin {
|
||||
final MessageIdsHeaderValue? references;
|
||||
final List<Attachment>? inlineImages;
|
||||
final Map<IndividualHeaderIdentifier, String?>? sMimeStatusHeader;
|
||||
final Map<IndividualHeaderIdentifier, String?>? identityHeader;
|
||||
|
||||
DetailedEmail({
|
||||
required this.emailId,
|
||||
@@ -30,6 +31,7 @@ class DetailedEmail with EquatableMixin {
|
||||
this.references,
|
||||
this.inlineImages,
|
||||
this.sMimeStatusHeader,
|
||||
this.identityHeader,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -45,5 +47,6 @@ class DetailedEmail with EquatableMixin {
|
||||
references,
|
||||
inlineImages,
|
||||
sMimeStatusHeader,
|
||||
identityHeader,
|
||||
];
|
||||
}
|
||||
@@ -182,6 +182,7 @@ class GetEmailContentInteractor {
|
||||
emailCurrent: emailCache.copyWith(
|
||||
headers: detailedEmail.headers,
|
||||
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
|
||||
identityHeader: detailedEmail.identityHeader,
|
||||
)
|
||||
));
|
||||
} catch (e) {
|
||||
|
||||
@@ -41,6 +41,9 @@ class DetailedEmailHiveCache extends HiveObject with EquatableMixin {
|
||||
@HiveField(9)
|
||||
Map<String, String?>? sMimeStatusHeader;
|
||||
|
||||
@HiveField(10)
|
||||
Map<String, String?>? identityHeader;
|
||||
|
||||
DetailedEmailHiveCache({
|
||||
required this.emailId,
|
||||
required this.timeSaved,
|
||||
@@ -52,6 +55,7 @@ class DetailedEmailHiveCache extends HiveObject with EquatableMixin {
|
||||
this.references,
|
||||
this.inlineImages,
|
||||
this.sMimeStatusHeader,
|
||||
this.identityHeader,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -66,5 +70,6 @@ class DetailedEmailHiveCache extends HiveObject with EquatableMixin {
|
||||
references,
|
||||
inlineImages,
|
||||
sMimeStatusHeader,
|
||||
identityHeader,
|
||||
];
|
||||
}
|
||||
@@ -64,6 +64,7 @@ class ThreadConstants {
|
||||
EmailProperty.attachments,
|
||||
EmailProperty.headers,
|
||||
IndividualHeaderIdentifier.sMimeStatusHeader.value,
|
||||
IndividualHeaderIdentifier.identityHeader.value,
|
||||
});
|
||||
|
||||
static final propertiesCalendarEvent = Properties({
|
||||
|
||||
Reference in New Issue
Block a user