mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-07 12:58:39 +00:00
Show space invites in the room list. (#4545)
This commit is contained in:
@@ -118,19 +118,26 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
|
||||
}
|
||||
|
||||
func setFilter(_ filter: RoomSummaryProviderFilter) {
|
||||
let baseFilter: [RoomListEntriesDynamicFilterKind] = if appSettings.spacesEnabled {
|
||||
[.any(filters: [.all(filters: [.nonSpace, .nonLeft]),
|
||||
.all(filters: [.space, .invite])]),
|
||||
.deduplicateVersions]
|
||||
} else {
|
||||
[.nonLeft, .nonSpace, .deduplicateVersions]
|
||||
}
|
||||
|
||||
switch filter {
|
||||
case .excludeAll:
|
||||
_ = listUpdatesSubscriptionResult?.controller().setFilter(kind: .none)
|
||||
case let .search(query):
|
||||
let filters: [RoomListEntriesDynamicFilterKind] = if appSettings.fuzzyRoomListSearchEnabled {
|
||||
[.fuzzyMatchRoomName(pattern: query), .nonLeft, .nonSpace, .deduplicateVersions]
|
||||
let filters = if appSettings.fuzzyRoomListSearchEnabled {
|
||||
[.fuzzyMatchRoomName(pattern: query)] + baseFilter
|
||||
} else {
|
||||
[.normalizedMatchRoomName(pattern: query), .nonLeft, .nonSpace, .deduplicateVersions]
|
||||
[.normalizedMatchRoomName(pattern: query)] + baseFilter
|
||||
}
|
||||
_ = listUpdatesSubscriptionResult?.controller().setFilter(kind: .all(filters: filters))
|
||||
case let .all(filters):
|
||||
var rustFilters = filters.map(\.rustFilter)
|
||||
rustFilters.append(contentsOf: [.nonLeft, .nonSpace, .deduplicateVersions])
|
||||
var rustFilters = filters.map(\.rustFilter) + baseFilter
|
||||
|
||||
if !filters.contains(.lowPriority), appSettings.lowPriorityFilterEnabled {
|
||||
rustFilters.append(.nonLowPriority)
|
||||
@@ -277,6 +284,7 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
|
||||
joinRequestType: joinRequestType,
|
||||
name: roomInfo.displayName ?? roomInfo.id,
|
||||
isDirect: roomInfo.isDirect,
|
||||
isSpace: roomInfo.isSpace,
|
||||
avatarURL: roomInfo.avatarUrl.flatMap(URL.init(string:)),
|
||||
heroes: roomInfo.heroes.map(UserProfileProxy.init),
|
||||
activeMembersCount: UInt(roomInfo.activeMembersCount),
|
||||
|
||||
Reference in New Issue
Block a user