use upstream filtering for warn item

This commit is contained in:
sk
2023-10-07 17:21:20 +02:00
parent 140c2a7b9d
commit de235ec7cc
2 changed files with 6 additions and 12 deletions

View File

@@ -14,7 +14,7 @@ public class FilterResult extends BaseModel {
@Override @Override
public void postprocess() throws ObjectValidationException { public void postprocess() throws ObjectValidationException {
super.postprocess(); super.postprocess();
if(filter!=null) filter.postprocess(); if(filter!=null) filter.postprocess();
if(keywordMatches==null) keywordMatches=List.of(); if(keywordMatches==null) keywordMatches=List.of();
} }
} }

View File

@@ -204,11 +204,12 @@ public abstract class StatusDisplayItem{
items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, null, scheduledStatus)); items.add(header=new HeaderStatusDisplayItem(parentID, statusForContent.account, statusForContent.createdAt, fragment, accountID, statusForContent, null, null, scheduledStatus));
} }
boolean filtered=false; LegacyFilter applyingFilter=null;
if(status.filtered!=null){ if(status.filtered!=null){
for(FilterResult filter:status.filtered){ for(FilterResult filter:status.filtered){
if(filter.filter.isActive()){ LegacyFilter f=filter.filter;
filtered=true; if(f.isActive() && filterContext != null && f.context.contains(filterContext)){
applyingFilter=f;
break; break;
} }
} }
@@ -315,14 +316,7 @@ public abstract class StatusDisplayItem{
} }
} }
LegacyFilter applyingFilter = null; return applyingFilter==null ? items :
if (!statusForContent.filterRevealed) {
StatusFilterPredicate predicate = new StatusFilterPredicate(accountID, filterContext, FilterAction.WARN);
statusForContent.filterRevealed = predicate.test(status);
applyingFilter = predicate.getApplyingFilter();
}
return statusForContent.filterRevealed ? items :
new ArrayList<>(List.of(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, items, applyingFilter))); new ArrayList<>(List.of(new WarningFilteredStatusDisplayItem(parentID, fragment, statusForContent, items, applyingFilter)));
} }