Fix email content is broken when perform previous/next email then back to app (#4028)

This commit is contained in:
Dat Vu
2025-09-19 09:43:46 +07:00
committed by GitHub
parent ed48bcfed1
commit bf3c465b14
3 changed files with 6 additions and 7 deletions
@@ -372,7 +372,9 @@ class EmailView extends GetWidget<SingleEmailController> {
horizontal: EmailViewStyles.mobileContentHorizontalMargin, horizontal: EmailViewStyles.mobileContentHorizontalMargin,
), ),
child: HtmlContentViewer( child: HtmlContentViewer(
key: controller.htmlContentViewKey, key: PlatformInfo.isIntegrationTesting
? controller.htmlContentViewKey
: null,
contentHtml: allEmailContents, contentHtml: allEmailContents,
initialWidth: bodyConstraints.maxWidth, initialWidth: bodyConstraints.maxWidth,
direction: AppUtils.getCurrentDirection(context), direction: AppUtils.getCurrentDirection(context),
@@ -411,7 +413,9 @@ class EmailView extends GetWidget<SingleEmailController> {
horizontal: EmailViewStyles.mobileContentHorizontalMargin horizontal: EmailViewStyles.mobileContentHorizontalMargin
), ),
child: HtmlContentViewer( child: HtmlContentViewer(
key: controller.htmlContentViewKey, key: PlatformInfo.isIntegrationTesting
? controller.htmlContentViewKey
: null,
contentHtml: allEmailContents, contentHtml: allEmailContents,
initialWidth: bodyConstraints.maxWidth, initialWidth: bodyConstraints.maxWidth,
direction: AppUtils.getCurrentDirection(context), direction: AppUtils.getCurrentDirection(context),
@@ -69,7 +69,6 @@ extension GetThreadDetailEmailViews on ThreadDetailController {
return Padding( return Padding(
padding: const EdgeInsetsDirectional.only(bottom: 16), padding: const EdgeInsetsDirectional.only(bottom: 16),
child: EmailView( child: EmailView(
key: GlobalObjectKey('${presentationEmail.id?.id.value ?? ''}firstInThread'),
isInsideThreadDetailView: true, isInsideThreadDetailView: true,
emailId: presentationEmail.id, emailId: presentationEmail.id,
isFirstEmailInThreadDetail: true, isFirstEmailInThreadDetail: true,
@@ -85,7 +84,6 @@ extension GetThreadDetailEmailViews on ThreadDetailController {
return Padding( return Padding(
padding: const EdgeInsetsDirectional.only(bottom: 16), padding: const EdgeInsetsDirectional.only(bottom: 16),
child: EmailView( child: EmailView(
key: GlobalObjectKey(presentationEmail.id?.id.value ?? ''),
isInsideThreadDetailView: true, isInsideThreadDetailView: true,
emailId: presentationEmail.id, emailId: presentationEmail.id,
onToggleThreadDetailCollapseExpand: () { onToggleThreadDetailCollapseExpand: () {
@@ -136,9 +136,6 @@ class ThreadDetailView extends GetWidget<ThreadDetailController> {
? manager.availableThreadIds.length ? manager.availableThreadIds.length
: manager.currentDisplayedEmails.length, : manager.currentDisplayedEmails.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
if (index != currentIndex) {
return const SizedBox.shrink();
}
return SingleChildScrollView(child: threadBody); return SingleChildScrollView(child: threadBody);
}, },
onPageChanged: controller.onThreadPageChanged, onPageChanged: controller.onThreadPageChanged,