TF-2305 Session::getOwnEmailAddress method to fetch the user email address from urn:ietf:params:jmap:principals imip mailto property if not present in the session username, which is the case for Cyrus

This commit is contained in:
Florent Azavant
2025-01-24 11:49:38 +01:00
committed by Dat H. Pham
parent 327af38fb0
commit 6720709a2e
23 changed files with 212 additions and 58 deletions
@@ -363,7 +363,7 @@ class ManageAccountDashBoardController extends ReloadableController with UserSet
position,
popupMenuUserSettingActionTile(
context,
sessionCurrent?.username,
sessionCurrent?.getOwnEmailAddress(),
onLogoutAction: () {
popBack();
logout(context, sessionCurrent, accountId.value);
@@ -2,6 +2,8 @@ import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:tmail_ui_user/features/home/domain/extensions/session_extensions.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_information_widget.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings/settings_controller.dart';
@@ -20,7 +22,7 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
child: Column(children: [
Obx(() => UserInformationWidget(
userName: controller.manageAccountDashboardController.accountId.value != null
? controller.manageAccountDashboardController.sessionCurrent?.username
? UserName(controller.manageAccountDashboardController.sessionCurrent!.getOwnEmailAddress())
: null,
padding: SettingsUtils.getPaddingInFirstLevel(context, controller.responsiveUtils),
titlePadding: const EdgeInsetsDirectional.only(start: 16))),