diff --git a/apps/enmeshed/lib/account/contacts/contact_detail_screen.dart b/apps/enmeshed/lib/account/contacts/contact_detail_screen.dart index dbea726c2..7c7641573 100644 --- a/apps/enmeshed/lib/account/contacts/contact_detail_screen.dart +++ b/apps/enmeshed/lib/account/contacts/contact_detail_screen.dart @@ -40,10 +40,7 @@ class _ContactDetailScreenState extends State with ContactS _session = GetIt.I.get().getSession(widget.accountId); - _reloadContact().then((_) { - _loadShowSendCertificateButton(); - _reloadMessages(); - }); + _reload(); final runtime = GetIt.I.get(); _subscriptions @@ -52,7 +49,8 @@ class _ContactDetailScreenState extends State with ContactS ..add(runtime.eventBus.on().listen((_) => _reloadMessages())) ..add(runtime.eventBus.on().listen((_) => _reloadMessages())) ..add(runtime.eventBus.on().listen((_) => _reloadMessages())) - ..add(runtime.eventBus.on().listen((_) => _reloadMessages())); + ..add(runtime.eventBus.on().listen((_) => _reloadMessages())) + ..add(runtime.eventBus.on().listen((_) => _reload().catchError((_) {}))); } @override @@ -241,6 +239,13 @@ class _ContactDetailScreenState extends State with ContactS ); } + Future _reload() async { + await _reloadContact(); + + unawaited(_loadShowSendCertificateButton()); + unawaited(_reloadMessages()); + } + Future _reloadContact() async { final contact = await _session.expander.expandAddress(widget.contactId); diff --git a/apps/enmeshed/lib/core/widgets/message_dvo_renderer.dart b/apps/enmeshed/lib/core/widgets/message_dvo_renderer.dart index 8b5d30fa5..c158725bd 100644 --- a/apps/enmeshed/lib/core/widgets/message_dvo_renderer.dart +++ b/apps/enmeshed/lib/core/widgets/message_dvo_renderer.dart @@ -25,7 +25,7 @@ class MessageDVORenderer extends StatelessWidget { @override Widget build(BuildContext context) { return ListTile( - leading: ContactCircleAvatar(radius: 20, contact: message.peer), + leading: hideAvatar ? null : ContactCircleAvatar(radius: 20, contact: message.peer), title: _MessagesContent(message: message, query: query), onTap: () => _onTap(context), ); @@ -144,11 +144,13 @@ class _MessageHeader extends StatelessWidget { @override Widget build(BuildContext context) { + final contactName = message.peer.name == unknownContactName ? context.l10n.contacts_unknown : message.peer.name; + return Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ HighlightText( - text: message.peer.name, + text: contactName, query: query, textStyle: message.wasReadAt == null && !message.isOwn ? Theme.of(context).textTheme.labelMedium!.copyWith(