make Status.filtered nullable to make some weird api implementations work again (#4426)

closes https://github.com/tuskyapp/Tusky/issues/4424
This commit is contained in:
Konrad Pozniak 2024-05-10 12:21:48 +02:00 committed by GitHub
parent 82817a089b
commit 3736034952
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 4 deletions

View File

@ -107,7 +107,7 @@ fun Status.toEntity(
card = actionableStatus.card,
repliesCount = actionableStatus.repliesCount,
language = actionableStatus.language,
filtered = actionableStatus.filtered
filtered = actionableStatus.filtered.orEmpty()
)
fun TimelineStatusEntity.toStatus(

View File

@ -56,8 +56,9 @@ data class Status(
val card: Card? = null,
/** ISO 639 language code for this status. */
val language: String? = null,
/** If the current token has an authorized user: The filter and keywords that matched this status. */
val filtered: List<FilterResult> = emptyList()
/** If the current token has an authorized user: The filter and keywords that matched this status.
* Iceshrimp and maybe other implementations explicitly send filtered=null so we can't default to empty list. */
val filtered: List<FilterResult>? = null
) {
val actionableId: String

View File

@ -47,7 +47,7 @@ class FilterModel @Inject constructor() {
}
}
val matchingKind = status.filtered.filter { result ->
val matchingKind = status.filtered.orEmpty().filter { result ->
result.filter.kinds.contains(kind)
}