searchWithFilter method
Searches with an explicit message filter, debounced by the search text
it holds.
The filter becomes the active message filter, clearing any active search
query. When it carries a text-search operator (Filter.autoComplete or
Filter.query) the reload is debounced by that text's length; otherwise
it reloads immediately. Rapidly superseded searches are dropped, so only
the latest query's results are applied.
Implementation
void searchWithFilter(Filter filter) {
_activeMessageFilter = filter;
_activeSearchQuery = null;
debouncedSearch(searchQueryLength(filter));
}