From d0b1d4a6510197ee6c182551444af6301b37b975 Mon Sep 17 00:00:00 2001 From: krille-chan Date: Sun, 7 Apr 2024 17:10:21 +0200 Subject: [PATCH] fix: Do not use invitor avatar_url for room When user A invites user B to a group chat, the avatar getter should not return the avatar of the inviting user A. This is not intuitive. A client might decide to do so but IMO it makes no sense to do this by default. If the room is a DM invite, user A's avatar is already used in the code block before. --- lib/src/room.dart | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/lib/src/room.dart b/lib/src/room.dart index a9e3f070..e593fba9 100644 --- a/lib/src/room.dart +++ b/lib/src/room.dart @@ -288,8 +288,9 @@ class Room { /// The avatar of the room if set by a participant. Uri? get avatar { - final avatarUrl = getState(EventTypes.RoomAvatar)?.content['url']; - if (avatarUrl is String) { + final avatarUrl = + getState(EventTypes.RoomAvatar)?.content.tryGet('url'); + if (avatarUrl != null) { return Uri.tryParse(avatarUrl); } @@ -306,13 +307,6 @@ class Room { return unsafeGetUserFromMemoryOrFallback(user).avatarUrl; } } - if (membership == Membership.invite) { - final userID = client.userID; - if (userID == null) return null; - return getState(EventTypes.RoomMember, userID) - ?.senderFromMemoryOrFallback - .avatarUrl; - } return null; }