mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
More tweaks for User Status. (#6051)
* Make sure user profiles are up to date when mentioning. * Automatically focus the custom status text field. * Make sure to clear the previous custom status text before input. * Attempt to fix the user status sheet sometimes disappearing.
This commit is contained in:
@@ -27,6 +27,8 @@ final class CompletionSuggestionService: CompletionSuggestionServiceProtocol {
|
||||
|
||||
private var cancellables = Set<AnyCancellable>()
|
||||
|
||||
private var updateMembersTask: Task<Void, Never>?
|
||||
|
||||
init(roomProxy: JoinedRoomProxyProtocol,
|
||||
roomListPublisher: AnyPublisher<[RoomSummary], Never>) {
|
||||
self.roomProxy = roomProxy
|
||||
@@ -66,7 +68,17 @@ final class CompletionSuggestionService: CompletionSuggestionServiceProtocol {
|
||||
}
|
||||
|
||||
func setSuggestionTrigger(_ suggestionTrigger: SuggestionTrigger?) {
|
||||
let isNewUserMention = suggestionTrigger?.type == .user && suggestionTriggerSubject.value?.type != .user
|
||||
|
||||
suggestionTriggerSubject.value = suggestionTrigger
|
||||
|
||||
// Refresh the members each time a new user suggestion is triggered to pull in the latest profiles.
|
||||
guard isNewUserMention, updateMembersTask == nil else { return }
|
||||
|
||||
updateMembersTask = Task { [weak self, roomProxy] in
|
||||
await roomProxy.updateMembers()
|
||||
self?.updateMembersTask = nil
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
Reference in New Issue
Block a user