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:
Doug
2026-08-21 11:23:33 +01:00
committed by GitHub
parent dd84da15b0
commit 0d222e8ac0
4 changed files with 80 additions and 9 deletions
@@ -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