mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-19 16:13:42 +02:00
Fixes vector-im/element-ios/issues/5063 - Fixed retain cycles between the user suggestion coordinator and the suggestion service, and in the suggestion service currentTextTrigger subject sink.
This commit is contained in:
committed by
Stefan Ceriu
parent
ab5d572407
commit
43f1ea73c5
@@ -45,7 +45,7 @@ class UserSuggestionService: UserSuggestionServiceProtocol {
|
||||
|
||||
// MARK: Private
|
||||
|
||||
private let roomMembersProvider: RoomMembersProviderProtocol
|
||||
private let roomMemberProvider: RoomMembersProviderProtocol
|
||||
|
||||
private var suggestionItems: [UserSuggestionItemProtocol] = []
|
||||
private let currentTextTriggerSubject = CurrentValueSubject<String?, Never>(nil)
|
||||
@@ -61,13 +61,13 @@ class UserSuggestionService: UserSuggestionServiceProtocol {
|
||||
|
||||
// MARK: - Setup
|
||||
|
||||
init(roomMembersProvider: RoomMembersProviderProtocol) {
|
||||
self.roomMembersProvider = roomMembersProvider
|
||||
init(roomMemberProvider: RoomMembersProviderProtocol) {
|
||||
self.roomMemberProvider = roomMemberProvider
|
||||
|
||||
currentTextTriggerSubject
|
||||
.debounce(for: 0.5, scheduler: RunLoop.main)
|
||||
.removeDuplicates()
|
||||
.sink { self.fetchAndFilterMembersForTextTrigger($0) }
|
||||
.sink { [weak self] in self?.fetchAndFilterMembersForTextTrigger($0) }
|
||||
.store(in: &cancellables)
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ class UserSuggestionService: UserSuggestionServiceProtocol {
|
||||
|
||||
partialName.removeFirst() // remove the '@' prefix
|
||||
|
||||
roomMembersProvider.fetchMembers { [weak self] members in
|
||||
roomMemberProvider.fetchMembers { [weak self] members in
|
||||
guard let self = self else {
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user