Allow inviting users even if profile information cannot be retrieved.

This commit is contained in:
Onuray Sahin 2021-05-10 16:34:30 +03:00
parent fb0205e903
commit 87d35958c6
4 changed files with 12 additions and 1 deletions

View file

@ -24,6 +24,7 @@ Bugfix 🐛:
- Fix read marker not updating automatically (#3267)
- Sent video does not contains duration (#3272)
- Properly clean the back stack if the user cancel registration when waiting for email validation
- Fix user invitation in case of restricted profile api (#3306)
Translations 🗣:
-

View file

@ -66,6 +66,7 @@ interface ProfileService {
/**
* Get the combined profile information for this user.
* This may return keys which are not limited to displayname or avatar_url.
* If server is configured as limit_profile_requests_to_users_who_share_rooms: true then response will be HTTP 403.
* @param userId the userId param to look for
*
*/

View file

@ -33,6 +33,7 @@ internal interface ProfileAPI {
* Get the combined profile information for this user.
* This API may be used to fetch the user's own profile information or other users; either locally or on remote homeservers.
* This API may return keys which are not limited to displayname or avatar_url.
* If server is configured as limit_profile_requests_to_users_who_share_rooms: true then response will be HTTP 403.
* @param userId the user id to fetch profile info
*/
@GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "profile/{userId}")

View file

@ -137,7 +137,15 @@ class UserListViewModel @AssistedInject constructor(@Assisted initialState: User
avatarUrl = json[ProfileService.AVATAR_URL_KEY] as? String
).toOptional()
}
.onErrorReturn { Optional.empty() }
.onErrorReturn {
// Profile API can be restricted and doesn't have to return result.
// In this case allow inviting valid user ids.
User(
userId = search,
displayName = search,
avatarUrl = null
).toOptional()
}
Single.zip(
searchObservable,