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
@@ -5,7 +5,6 @@ import 'package:contact/contact/model/autocomplete_capability.dart';
import 'package:contact/contact/model/capability_contact.dart';
import 'package:core/presentation/extensions/uri_extension.dart';
import 'package:core/utils/app_logger.dart';
import 'package:get/get.dart';
import 'package:jmap_dart_client/http/converter/state_converter.dart';
import 'package:jmap_dart_client/http/converter/user_name_converter.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
@@ -61,13 +60,7 @@ extension SessionExtensions on Session {
String get internalDomain {
try {
if (GetUtils.isEmail(username.value)) {
return username.value.split('@').last;
} else if (GetUtils.isEmail(personalAccount.name.value)) {
return personalAccount.name.value.split('@').last;
} else {
return '';
}
return getOwnEmailAddress().split('@').last;
} catch (e) {
logError('SessionExtensions::internalDomain: Exception: $e');
return '';