Add a Low Priority room filter behind a feature flag. (#4394)

* Add Low Priority room filter with incompatibility rules

Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>

* Add a feature flag and use the SDK filters.

* Fix filter tests and add RoomSummaryProvider tests for the default filters.

* Remove unnecessary comment.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: pixlwave <6060466+pixlwave@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
This commit is contained in:
Copilot
2025-08-20 11:56:44 +01:00
committed by GitHub
parent 5a7dbf8a50
commit 8c38c11146
21 changed files with 234 additions and 35 deletions
@@ -127,9 +127,14 @@ class RoomSummaryProvider: RoomSummaryProviderProtocol {
}
_ = listUpdatesSubscriptionResult?.controller().setFilter(kind: .all(filters: filters))
case let .all(filters):
var filters = filters.map(\.rustFilter)
filters.append(contentsOf: [.nonLeft, .nonSpace, .deduplicateVersions])
_ = listUpdatesSubscriptionResult?.controller().setFilter(kind: .all(filters: filters))
var rustFilters = filters.map(\.rustFilter)
rustFilters.append(contentsOf: [.nonLeft, .nonSpace, .deduplicateVersions])
if !filters.contains(.lowPriority), appSettings.lowPriorityFilterEnabled {
rustFilters.append(.all(filters: [.nonLowPriority, .joined]))
}
_ = listUpdatesSubscriptionResult?.controller().setFilter(kind: .all(filters: rustFilters))
}
}