diff --git a/lib/src/user.dart b/lib/src/user.dart index d074ab2c..e32e3b46 100644 --- a/lib/src/user.dart +++ b/lib/src/user.dart @@ -70,7 +70,9 @@ class User extends Event { /// The displayname of the user if the user has set one. String? get displayName => content.tryGet('displayname') ?? - prevContent?.tryGet('displayname'); + (membership == Membership.join + ? null + : prevContent?.tryGet('displayname')); /// Returns the power level of this user. int get powerLevel => room.getPowerLevelByUserId(id); @@ -89,14 +91,11 @@ class User extends Event { /// The avatar if the user has one. Uri? get avatarUrl { - final prevContent = this.prevContent; - return content.containsKey('avatar_url') - ? (content['avatar_url'] is String - ? Uri.tryParse(content['avatar_url']) - : null) - : (prevContent != null && prevContent['avatar_url'] is String - ? Uri.tryParse(prevContent['avatar_url']) - : null); + final uri = content.tryGet('avatar_url') ?? + (membership == Membership.join + ? null + : prevContent?.tryGet('avatar_url')); + return uri == null ? null : Uri.tryParse(uri); } /// Returns the displayname or the local part of the Matrix ID if the user diff --git a/pubspec.yaml b/pubspec.yaml index b4d10127..ffd0484f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ homepage: https://famedly.com repository: https://gitlab.com/famedly/company/frontend/famedlysdk.git environment: - sdk: ">=2.18.0 <3.0.0" + sdk: ">=2.18.0 <4.0.0" dependencies: async: ^2.8.0 @@ -22,7 +22,7 @@ dependencies: image: ^4.0.15 js: ^0.6.3 markdown: ^4.0.0 - matrix_api_lite: ^1.6.1 + matrix_api_lite: ">=1.6.0 <1.7.0" # Pinned until compatible with 1.7.x mime: ^1.0.0 olm: ^2.0.2 random_string: ^2.3.1