From d3a001ddecb6d896671754806bd6f83051910ee1 Mon Sep 17 00:00:00 2001 From: Jganenokk Date: Sat, 11 Apr 2026 00:17:28 +0700 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BB=D1=8F=20=D0=BB=D0=B5=D1=88=D0=B0?= =?UTF-8?q?=20=D1=8F=20=D1=82=D0=B2=D0=BE=D0=B8=20=D0=BF=D1=8F=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=86=D0=B5=D0=BB=D0=BE=D0=B2=D0=B0=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/backend/modules/messages.dart | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/lib/backend/modules/messages.dart b/lib/backend/modules/messages.dart index e9259e9..13f8af2 100644 --- a/lib/backend/modules/messages.dart +++ b/lib/backend/modules/messages.dart @@ -350,24 +350,30 @@ class MessagesModule { try { final response = await _api.sendRequest(Opcode.contactInfo, { - 'id': contactId, + 'contactIds': [contactId], }); if (!response.isOk) return null; final data = response.payload; if (data is! Map) return null; - final names = data['names'] as List?; - if (names != null && names.isNotEmpty) { - final name = names.first; - if (name is Map) { - final firstName = name['firstName'] as String? ?? ''; - final lastName = name['lastName'] as String?; - final fullName = lastName != null - ? '$firstName $lastName' - : firstName; - ContactCache.put(contactId, fullName); - return fullName; + final contacts = data['contacts'] as List?; + if (contacts != null && contacts.isNotEmpty) { + final contact = contacts.first; + if (contact is Map) { + final names = contact['names'] as List?; + if (names != null && names.isNotEmpty) { + final name = names.first; + if (name is Map) { + final firstName = name['firstName'] as String? ?? ''; + final lastName = name['lastName'] as String?; + final fullName = lastName != null + ? '$firstName $lastName' + : firstName; + ContactCache.put(contactId, fullName); + return fullName; + } + } } } } catch (e) {