mirror of
https://github.com/SchildiChat/SchildiChat-android.git
synced 2024-11-25 10:55:55 +03:00
Merge pull request #3307 from vector-im/feature/ons/fix_user_profile_search
Allow inviting users even if profile information cannot be retrieved
This commit is contained in:
commit
711ee24c4f
4 changed files with 12 additions and 2 deletions
|
@ -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 🗣:
|
||||
-
|
||||
|
|
|
@ -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 can be HTTP 403.
|
||||
* @param userId the userId param to look for
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -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 can be HTTP 403.
|
||||
* @param userId the user id to fetch profile info
|
||||
*/
|
||||
@GET(NetworkConstants.URI_API_PREFIX_PATH_R0 + "profile/{userId}")
|
||||
|
|
|
@ -33,7 +33,6 @@ import org.matrix.android.sdk.api.MatrixPatterns
|
|||
import org.matrix.android.sdk.api.session.Session
|
||||
import org.matrix.android.sdk.api.session.profile.ProfileService
|
||||
import org.matrix.android.sdk.api.session.user.model.User
|
||||
import org.matrix.android.sdk.api.util.Optional
|
||||
import org.matrix.android.sdk.api.util.toMatrixItem
|
||||
import org.matrix.android.sdk.api.util.toOptional
|
||||
import org.matrix.android.sdk.rx.rx
|
||||
|
@ -137,7 +136,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 = null,
|
||||
avatarUrl = null
|
||||
).toOptional()
|
||||
}
|
||||
|
||||
Single.zip(
|
||||
searchObservable,
|
||||
|
|
Loading…
Reference in a new issue